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);