#include <memory>
#include <tuple>
#include <vector>
#include <string>
#include <cxxabi.h>
#include <algorithm>
Go to the source code of this file.
|
template<class TYPE> |
std::string | AmpGen::type_string () |
| Utility classes for compile-time metaprogramming, such as identifying the types of arguments for generating source code, compile-time unrolling of tuples and loops, and identifying if a class can be constructed in different ways.
|
|
template<class TYPE> |
std::string | AmpGen::type_string (const TYPE &) |
|
template<std::size_t I = 0, typename FuncT, typename... Tp> |
std::enable_if_t< I==sizeof...(Tp), void > | AmpGen::for_each (std::tuple< Tp... > &, FuncT) |
|
◆ AmpGen::detail::zeroType
struct AmpGen::detail::zeroType |
Class Members |
typedef T |
type |
|
◆ def_has_function
#define def_has_function |
( |
| function_name | ) |
|
Value: template <typename T> \
struct has_##function_name { \
template<typename U> static auto test(int) -> decltype(std::declval<U>().function_name() == 1, std::true_type()); \
template<typename> static std::false_type test(...); \
static constexpr bool value = std::is_same<decltype(test<T>(0)), std::true_type>::value; \
};