#include <limits>
#include "boost/call_traits.hpp"
#include "boost/type_traits.hpp"
#include "boost/utility/enable_if.hpp"
#include "til/til_common.h"
#include "til/til_declarations.h"
#include "til/templateTools.h"
Go to the source code of this file.
|
| til |
| Belongs to package Box Do not include directly, include til/Box.h instead.
|
|
◆ DEFINE_PRECISION_RECURSIVE_SPECIALIZATION
◆ DEFINE_PRECISION_RECURSIVE_SPECIALIZATION_T
#define DEFINE_PRECISION_RECURSIVE_SPECIALIZATION_T |
( |
|
argtype, |
|
|
|
targs |
|
) |
| |
Value:template < targs > \
struct precision< argtype > \
{ typedef typename precision<T>::type type; } \
Definition at line 68 of file traits.h.
◆ TIL_COMMA
◆ TIL_DEFINE_CHANGE_PRECISION_FOR_NUMERIC_TYPES
#define TIL_DEFINE_CHANGE_PRECISION_FOR_NUMERIC_TYPES |
( |
|
argtype | ) |
|
Value:template < typename TNewPrecision > \
struct change_precision< argtype, TNewPrecision > \
{ \
typedef TNewPrecision type; \
private: \
typedef typename enable_if_c<std::numeric_limits<TNewPrecision>::is_specialized>::type CheckIsNumeric; \
}; \
Definition at line 110 of file traits.h.
◆ TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION
◆ TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION_T
#define TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION_T |
( |
|
argtype, |
|
|
|
targs |
|
) |
| |
Value:template < targs , typename TNewPrecision> \
struct change_precision< argtype , TNewPrecision> \
{ \
typedef typename change_precision<T, TNewPrecision>::type type; \
private: \
typedef typename enable_if_c<std::numeric_limits<TNewPrecision>::is_specialized>::type CheckIsNumeric; \
}; \
Definition at line 126 of file traits.h.
◆ TIL_DEFINE_PRECISION_FOR_NUMERIC_TYPES
#define TIL_DEFINE_PRECISION_FOR_NUMERIC_TYPES |
( |
|
argtype | ) |
|
Value:template <> \
struct precision< argtype > \
{ typedef argtype type; };
Specialization for numerical types.
Definition at line 51 of file traits.h.