|
| template<typename T > |
| using | Mcro::FunctionTraits::TFunction_Arguments = typename TFunctionTraits<std::decay_t<T>>::Arguments |
| | Shorthand for getting a tuple representing the function arguments.
|
| |
| template<typename T > |
| using | Mcro::FunctionTraits::TFunction_ArgumentsDecay = typename TFunctionTraits<std::decay_t<T>>::ArgumentsDecay |
| | Shorthand for getting a tuple representing the decayed function arguments.
|
| |
| template<typename T , int I> |
| using | Mcro::FunctionTraits::TFunction_Arg = typename TFunctionTraits<std::decay_t<T>>::template Arg<I> |
| | Shorthand for getting a type of a function argument at given position I.
|
| |
| template<typename T , int I> |
| using | Mcro::FunctionTraits::TFunction_ArgDecay = typename TFunctionTraits<std::decay_t<T>>::template ArgDecay<I> |
| | Shorthand for getting a decayed type of a function argument at given position I.
|
| |
| template<typename T > |
| using | Mcro::FunctionTraits::TFunction_Return = typename TFunctionTraits<std::decay_t<T>>::Return |
| | Shorthand for getting a function return type.
|
| |
| template<typename T > |
| using | Mcro::FunctionTraits::TFunction_ReturnDecay = typename TFunctionTraits<std::decay_t<T>>::Return |
| | Shorthand for getting a function return type discarding qualifiers.
|
| |
| template<typename T > |
| using | Mcro::FunctionTraits::TFunction_Signature = typename TFunctionTraits<std::decay_t<T>>::Signature |
| | Shorthand for getting a pur function signature.
|
| |
| template<CFunction_IsMember T> |
| using | Mcro::FunctionTraits::TFunction_Class = typename TFunctionTraits<std::decay_t<T>>::Class |
| | Shorthand for getting the class of a member function.
|
| |
| template<typename Return , typename Tuple , size_t... Indices> |
| using | Mcro::FunctionTraits::Detail::TFunctionFromTupleIndices = Return(typename TTupleElement<Indices, Tuple>::Type...) |
| |
| template<typename Return , typename Tuple > |
| using | Mcro::FunctionTraits::TFunctionFromTuple = typename Detail::TFunctionFromTuple_Struct<Return, std::decay_t<Tuple>>::Type |
| | Compose a function type from a tuple of arguments and a return type.
|
| |
| template<typename Return , typename DstFunction > |
| using | Mcro::FunctionTraits::TSetReturn = TFunctionFromTuple<Return, TFunction_Arguments<DstFunction>> |
| | Override the return type of an input function signature.
|
| |
| template<typename Return , typename DstFunction > |
| using | Mcro::FunctionTraits::TSetReturnDecay = TFunctionFromTuple<std::decay_t<Return>, TFunction_Arguments<DstFunction>> |
| | Override the return type of an input function signature, and discard its qualifiers.
|
| |
| template<typename SrcFunction , typename DstFunction > |
| using | Mcro::FunctionTraits::TCopyReturn = TSetReturn<TFunction_Return<SrcFunction>, DstFunction> |
| | Copy the return type from source function signature to the destination one.
|
| |
| template<typename SrcFunction , typename DstFunction > |
| using | Mcro::FunctionTraits::TCopyReturnDecay = TSetReturnDecay<TFunction_ReturnDecay<SrcFunction>, DstFunction> |
| | Copy the return type from source function signature to the destination one, and discard its qualifiers.
|
| |
|
| template<typename Function , CTuple Tuple, size_t... Sequence> |
| TFunction_Return< Function > | Mcro::FunctionTraits::Detail::InvokeWithTuple_Impl (Function &&function, Tuple &&arguments, std::index_sequence< Sequence... > &&) |
| |
| template<typename Object , typename Function , CTuple Tuple, size_t... Sequence> |
| TFunction_Return< Function > | Mcro::FunctionTraits::Detail::InvokeWithTuple_Impl (Object *object, Function &&function, Tuple &&arguments, std::index_sequence< Sequence... > &&) |
| |
| template<typename Function , CTupleCompatibleWithFunction< Function > Tuple> |
| TFunction_Return< Function > | Mcro::FunctionTraits::InvokeWithTuple (Function &&function, Tuple &&arguments) |
| | A clone of std::apply for Unreal, STL and RangeV3 tuples which also supports function pointers.
|
| |
| template<CFunctionPtr Function, CHasFunction< Function > Object, CTupleCompatibleWithFunction< Function > Tuple> |
| TFunction_Return< Function > | Mcro::FunctionTraits::InvokeWithTuple (Object *object, Function &&function, Tuple &&arguments) |
| | A clone of std::apply for Unreal, STL and RangeV3 tuples which also supports function pointers. This overload can bind an object.
|
| |
- Copyright
- This Source Code is subject to the terms of the Mozilla Public License, v2.0. If a copy of the MPL was not distributed with this file You can obtain one at https://mozilla.org/MPL/2.0/
- Author
- David Mórász
- Date
- 2025
Definition in file FunctionTraits.h.