Medusa
1.1
Coordinate Free Mehless Method implementation
traits.hpp
Go to the documentation of this file.
1
#ifndef MEDUSA_BITS_TYPES_TRAITS_HPP_
2
#define MEDUSA_BITS_TYPES_TRAITS_HPP_
3
9
namespace
mm
{
10
16
template
<
typename
scalar_field_t>
17
struct
scalar_type
{
19
typedef
typename
scalar_field_t::Scalar
type
;
// Reason for error: Underlying scalar type was not defined for given scalar_field_t. Please specify the required 'scalar_type' type trait. // NOLINT(*)
20
};
21
27
template
<
typename
vector_field_t>
28
struct
vector_type
{
29
static_assert(
static_cast<
vector_field_t*
>
(
nullptr
),
30
"Underlying scalar type was not defined for given vector_field_t. Please specify "
31
"the required 'vector_type' type trait."
);
33
typedef
void
type
;
34
};
35
36
}
// namespace mm
37
38
#endif // MEDUSA_BITS_TYPES_TRAITS_HPP_
mm
Root namespace for the whole library.
Definition:
Gaussian.hpp:14
mm::vector_type::type
void type
By default invalid underlying vector type. Must be specified for each type separately.
Definition:
traits.hpp:31
mm::vector_type
Type trait for vector fields to obtain their underlying vector type.
Definition:
traits.hpp:28
mm::scalar_type
Type trait for scalar fields to obtain their underlying scalar type.
Definition:
traits.hpp:17
mm::scalar_type::type
scalar_field_t::Scalar type
Default scalar type.
Definition:
traits.hpp:19
include
medusa
bits
types
traits.hpp
Generated on Thu Jun 9 2022 09:42:28 for Medusa by
1.8.17