54 template <
typename... Args>
59 template <
typename Up,
typename... Args>
60 auto sfinae(Up& obj,
int,
int, Args&&...
args)
61 ->
decltype(obj.reset(std::forward<Args>(
args)...), void())
63 obj.reset(std::forward<Args>(
args)...);
67 template <
typename Up,
typename... Args>
68 auto sfinae(Up& obj,
int,
long, Args&&...) ->
decltype(obj.reset(), void())
74 template <
typename Up,
typename... Args>
75 void sfinae(Up&,
long,
long, Args&&...)
84template <
typename... Args>
87 sfinae(obj, 0, 0, std::forward<Args>(args)...);
void reset(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.
TIMEMORY_DELETED_OBJECT(reset) template< typename... Args > explicit reset(type &obj