Classes | Macros
Templates.hpp File Reference

Utilities for template metaprogramming. More...

Go to the source code of this file.

Classes

struct  aurora::Type< T >
 Simple type wrapper, can be used for overload resolution. More...
 
struct  aurora::Int< N >
 Simple integer wrapper, can be used for overload resolution. More...
 
struct  aurora::FunctionResult< Signature >
 Find out the return type of a function. More...
 
struct  aurora::FunctionParam< Signature, N >
 Find out the N-th parameter type of a function. More...
 
struct  aurora::FunctionArity< Signature >
 Find out the number of parameters of a function. More...
 

Macros

#define AURORA_ENABLE_IF(...)   , typename std::enable_if<__VA_ARGS__>::type* = nullptr
 SFINAE Enable If Macro for parameter lists. More...
 
#define AURORA_REQUIRE_COMPLETE_TYPE(Type)
 Macro to ensure complete type. More...
 
#define AURORA_AUTO_RETURN(...)   decltype(__VA_ARGS__) { return (__VA_ARGS__); }
 Function declaration with inferred return type. More...
 

Detailed Description

Utilities for template metaprogramming.