Arageli::type_traits< T > Struct Template Reference

General specialization of root of additional information service about type. More...

#include <type_traits.hpp>

Inheritance diagram for Arageli::type_traits< T >:

Arageli::type_traits_default< T > List of all members.

Public Types

typedef T element_type
 Type of each element if T is composite type.
typedef auto_type_category_by_numeric_limits<
T >::value_type 
category_type

Static Public Attributes

static const bool is_specialized = numeric_limits::is_specialized
static const bool is_rational = false
 True iff T is fraction (but not necessary a rational number, for last see below).
static const bool is_number = numeric_limits::is_specialized
static const bool is_integer_number = numeric_limits::is_integer
static const bool is_polynom = false
static const bool is_real_number = !numeric_limits::is_integer
static const bool is_rational_number = false
static const bool is_complex_number = false
static const bool is_ring = numeric_limits::is_integer
static const bool is_field
static const bool is_finite = equal_types<bool, T>::bvalue
static const bool is_additive_group = numeric_limits::is_signed
static const bool is_multiplicative_group
static const bool has_zero_divisor = false
static const bool is_integer_modulo_ring = equal_types<bool, T>::bvalue
static const bool is_matrix = false
static const bool is_vector = false
static const bool has_commutative_multiplication = true
static const bool has_commutative_addition = true
static const bool has_associative_multiplication = true
static const bool has_associative_addition = true
static const bool has_distributive_multiplication = true
static const bool has_distributive_addition = true
static const bool has_null = true
static const bool has_unit = true
static const bool has_opposite_unit = true
static const bool is_entire_ring
static const bool is_aggregate = false
 True iff type is composite type consists another elements.
static const category_type category_value

Detailed Description

template<typename T>
struct Arageli::type_traits< T >

General specialization of root of additional information service about type.

This default implementation only appropriate for types that have specialized std::numeric_limits template.

Definition at line 220 of file type_traits.hpp.


Member Typedef Documentation

template<typename T>
typedef auto_type_category_by_numeric_limits<T>::value_type Arageli::type_traits< T >::category_type

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 270 of file type_traits.hpp.

template<typename T>
typedef T Arageli::type_traits< T >::element_type

Type of each element if T is composite type.

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 269 of file type_traits.hpp.


Member Data Documentation

template<typename T>
const category_type Arageli::type_traits< T >::category_value [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 271 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_associative_addition = true [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 256 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_associative_multiplication = true [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 255 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_commutative_addition = true [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 254 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_commutative_multiplication = true [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 253 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_distributive_addition = true [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 258 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_distributive_multiplication = true [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 257 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_null = true [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 259 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_opposite_unit = true [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 261 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_unit = true [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 260 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::has_zero_divisor = false [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 249 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_additive_group = numeric_limits::is_signed [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 243 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_aggregate = false [static]

True iff type is composite type consists another elements.

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 268 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_complex_number = false [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 235 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_entire_ring [static]

Initial value:

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 263 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_field [static]

Initial value:

                        !numeric_limits::is_integer ||
                        equal_types<bool, T>::bvalue

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 238 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_finite = equal_types<bool, T>::bvalue [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 242 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_integer_modulo_ring = equal_types<bool, T>::bvalue [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 250 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_integer_number = numeric_limits::is_integer [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 231 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_matrix = false [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 251 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_multiplicative_group [static]

Initial value:

                        !numeric_limits::is_integer ||
                        equal_types<bool, T>::bvalue

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 245 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_number = numeric_limits::is_specialized [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 230 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_polynom = false [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 232 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_rational = false [static]

True iff T is fraction (but not necessary a rational number, for last see below).

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 229 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_rational_number = false [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 234 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_real_number = !numeric_limits::is_integer [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 233 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_ring = numeric_limits::is_integer [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 236 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_specialized = numeric_limits::is_specialized [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 228 of file type_traits.hpp.

template<typename T>
const bool Arageli::type_traits< T >::is_vector = false [static]

Reimplemented from Arageli::type_traits_default< T >.

Definition at line 252 of file type_traits.hpp.


The documentation for this struct was generated from the following file:
Generated on Thu Aug 31 17:38:29 2006 for Arageli by  doxygen 1.4.7