|
The Vish Visualization Shell 0.3
Vish
|
META is a collection of low-level template metaprograms which can be used in various situations. More...
Typedefs | |
| template<typename T , typename ... Args> | |
| using | enable_if_callable_t = typename std::enable_if< is_callable< T, Args... >::value, is_callable_t< T, Args... > >::type |
| SFINAE for any callable T. | |
| typedef LIST< float, LIST< double, LIST< long double > > > | FloatTypeList |
| A list of all supported native types. | |
| typedef LIST< unsigned char, LIST< signed char, LIST< char, LIST< unsigned short, LIST< signed short, LIST< unsigned int, LIST< signed int, LIST< unsigned long, LIST< signed long, LIST< unsigned long long, LIST< signed long long > > > > > > > > > > > | IntegerTypeList |
| A list of C++ native integer types. | |
| template<typename T , typename ... Args> | |
| using | is_callable_t = typename is_callable< T, Args... >::type |
| Convenience using for typename is_callable<..>::type. | |
| typedef LIST< float, LIST< double, LIST< long double, IntegerTypeList > > > | NativeTypeList |
| A list of all supported native types. | |
Functions | |
| template<class T > | |
| void | bubbleSort (T data[], int N) |
| Runtime template implementation of bubblesort. | |
| template<typename T , typename... Args> | |
| enable_if_callable_t< T, Args... > | call (T &&obj, Args &&... args) |
| Tempate to call a T if it's callable like a function (functor and functions). | |
| template<class T = META_VOID, class... Others> | |
| std::remove_reference< T >::type && | declvals () |
| Simple version of: std::forward<T>(std::declval<T>()) And enables to pop the first member of the variadic template argument. | |
META is a collection of low-level template metaprograms which can be used in various situations.
| struct META::ASSERT |
| struct META::ASSERT< true > |
| struct META::BaseClass |
A trait class for determining the base class of something.
Needs to be specialized for anything that has a base class that is to be exported.
| struct META::BaseClass< Eagle::bivector3f > |
| struct META::BaseClass< Eagle::Column< R, value > > |
| struct META::BaseClass< Eagle::DomainVector< VectorType, Domain, scalar_t > > |
| struct META::BaseClass< Eagle::Matrix< R, C, Value > > |
| struct META::BaseClass< Eagle::PhysicalSpace::bivector > |
| struct META::BaseClass< Eagle::PhysicalSpace::point > |
| struct META::BaseClass< Eagle::PhysicalSpace::vector > |
| struct META::BaseClass< Eagle::point3f > |
| struct META::BaseClass< Eagle::rgba_float_t > |
| struct META::BaseClass< Eagle::vector3f > |
| struct META::BaseClass< Eagle::Vector< T, n > > |
| class META::has_member |
| struct META::has_member_template |
| struct META::IF |
| class META::LIST |
Single Linked LIST Metatemplate.
| Type | The list element (a type) |
| NEXT | The rest of the list Usage: typedef LIST< float, LIST<int, LIST<double> > > TypeList;
|
| Class Members | ||
|---|---|---|
| typedef NEXT | next | The next list entry (a type as well) |
| typedef Type | type | The current list entry (a type) |
| struct META::META_VOID |
| struct META::NIL |
| using META::enable_if_callable_t = typedef typename std::enable_if< is_callable<T,Args...>::value, is_callable_t<T,Args...> >::type |
SFINAE for any callable T.
Represents the functions return-type;
Usage:
|
inline |
Tempate to call a T if it's callable like a function (functor and functions).
Otherwise does nothing.
Usage:
| std::remove_reference< T >::type && META::declvals | ( | ) |
Simple version of: std::forward<T>(std::declval<T>()) And enables to pop the first member of the variadic template argument.
Usage: