20 #ifndef INDEX_TRAITS_H 21 #define INDEX_TRAITS_H 23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/std_limits.h" 53 static inline pod_type
pod(
const T& xindex)
61 static inline void put_pod(T& xindex, pod_type& xpod)
80 return xindex != invalid();
134 #endif // ifndef INDEX_TRAITS_H static T invalid()
The invalid index value.
T pod_type
An integral type representing a relative index.
static T max()
The maximum valid value.
static bool is_positive(const T &xindex)
True if xindex is >= zero().
Features describing T as an index type.
T index_type
The index type.
static bool is_positive_definite(const T &xindex)
True if xindex is > zero().
static bool is_valid(const T &xindex)
True if xindex is valid.
static pod_type pod(const T &xindex)
Converts an index type xindex to pod_type.
SHEAF_DLL_SPEC void max(const vd &x0, vd_value_type &xresult, bool xauto_access)
Maximum component of x0, pre-allocated version.
SHEAF_DLL_SPEC void min(const vd &x0, vd_value_type &xresult, bool xauto_access)
Minimum component of x0, pre-allocated version.
static T zero()
The additive identity.
static T one()
The multiplicative identity.
Namespace for the sheaves component of the sheaf system.
static T min()
The minimum valid value.
static void put_pod(T &xindex, pod_type &xpod)
Sets the pod of index type xindex to xpod.