32 #ifndef VSMC_INTERNAL_DEFINES_HPP
33 #define VSMC_INTERNAL_DEFINES_HPP
46 #if VSMC_NO_RUNTIME_ASSERT
47 #define VSMC_CRTP_DESTRUCTOR_PREFIX
49 #define VSMC_CRTP_DESTRUCTOR_PREFIX virtual
54 #if VSMC_HAS_CXX11_CONSTEXPR
55 #define VSMC_CONSTEXPR constexpr
57 #define VSMC_CONSTEXPR
62 #if VSMC_HAS_CXX11_EXPLICIT_CONVERSIONS
63 #define VSMC_EXPLICIT_OPERATOR explicit
65 #define VSMC_EXPLICIT_OPERATOR
70 #if VSMC_HAS_CXX11_NOEXCEPT
71 #define VSMC_NOEXCEPT noexcept
73 #define VSMC_NOEXCEPT throw()
78 #if VSMC_HAS_CXX11_NULLPTR && VSMC_HAS_CXX11LIB_FUNCTIONAL
79 #define VSMC_NULLPTR nullptr
81 #define VSMC_NULLPTR 0
125 template <std::
size_t N>
137 #endif // VSMC_INTERNAL_DEFINES_HPP
static constexpr const bool is_vector
#define VSMC_CONSTEXPR
constexpr
constexpr size_type operator()() const
static constexpr const bool is_vector
Function template argument used for position.
Class template argument used for scalar variant.
Data are stored column by column in memory.
Used to specify a dimension template parameter is dynamic.
static constexpr const bool is_scalar
Data are stored row by row in memory.
Class template argument used for vector variant.
static constexpr const size_type value
static constexpr const bool is_scalar