57 template <
typename... Args>
62 template <
typename Up,
typename... Args>
63 auto sfinae(Up& obj,
int,
int, Args&&...
args)
64 ->
decltype(obj.measure(std::forward<Args>(
args)...), void())
67 obj.measure(std::forward<Args>(
args)...);
71 template <
typename Up,
typename... Args>
72 auto sfinae(Up& obj,
int,
long, Args&&...) ->
decltype(obj.measure(), void())
79 template <
typename Up,
typename... Args>
80 void sfinae(Up&,
long,
long, Args&&...)
89template <
typename... Args>
92 sfinae(obj, 0, 0, std::forward<Args>(args)...);
void measure(TupleT< Tp... > &obj, Args &&... args)
The declaration for the types for operations without definitions.
#define SFINAE_WARNING(...)
Include the macros for operations.
Declare the operations types.
This operation class is used for a single measurement for a component.
TIMEMORY_DELETED_OBJECT(measure) template< typename... Args > explicit measure(type &obj