diff --git a/Source/RWTHVRCluster/Public/Events/DisplayClusterEventParameterHelper.h b/Source/RWTHVRCluster/Public/Events/DisplayClusterEventParameterHelper.h
index ef6d9891d62cd305027349d9ff5787adf79fe5c3..f981eca5d8030a3bc492f9260dd75ca7981b9e83 100644
--- a/Source/RWTHVRCluster/Public/Events/DisplayClusterEventParameterHelper.h
+++ b/Source/RWTHVRCluster/Public/Events/DisplayClusterEventParameterHelper.h
@@ -2,12 +2,13 @@
#include "Serialization/MemoryReader.h"
#include "Serialization/MemoryWriter.h"
+#include "type_traits"
template <typename ParameterType, typename... RemainingParameterTypes>
inline void SerializeParameters(FMemoryWriter* MemoryWriter, ParameterType&& Parameter,
RemainingParameterTypes&&... RemainingParameters)
{
- using NonConstType = typename TRemoveCV<typename TRemoveReference<ParameterType>::Type>::Type;
+ using NonConstType = typename std::remove_cv_t<typename TRemoveReference<ParameterType>::Type>;
// const_cast because the same operator (<<) is used for reading and writing
(*MemoryWriter) << const_cast<NonConstType&>(Parameter);
SerializeParameters(MemoryWriter, Forward<RemainingParameterTypes>(RemainingParameters)...);
@@ -44,7 +45,7 @@ inline RetType CallDelegateWithParameterMap(
{
// Create a tuple that holds all arguments. This assumes that all argument types are default constructible. However, all
// types that overload the FArchive "<<" operator probably are.
- TTuple<typename TRemoveCV<typename TRemoveReference<ArgTypes>::Type>::Type...> ArgumentTuple;
+ TTuple<typename std::remove_cv_t<typename TRemoveReference<ArgTypes>::Type>::Type...> ArgumentTuple;
// This call will parse the string map and fill all values in the tuple appropriately.
FillArgumentTuple<0>(&ArgumentTuple, Parameters);
diff --git a/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h b/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h
index 8810c2a8df2cdb94fc6c76004a1e7fb55e0e8862..a7805548aa6cbcb25e9e2b3f995c2a76d45c340e 100644
--- a/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h
+++ b/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h
@@ -69,7 +69,7 @@ public:
// Create a tuple that holds all arguments. This assumes that all
// argument types are default constructible. However, all
// types that overload the FArchive "<<" operator probably are.
- TTuple<typename TRemoveCV<typename TRemoveReference<ArgTypes>::Type>::Type...> ArgumentTuple;
+ TTuple<typename TRemoveCV<typename TRemoveReference<ArgTypes>::Type>...> ArgumentTuple;
// This call will deserialze the values and fill all values in the tuple appropriately.
FillArgumentTuple<0>(&MemoryReader, &ArgumentTuple);