186 #ifndef EASTL_TYPE_TRAITS_H 187 #define EASTL_TYPE_TRAITS_H 191 #include <stk_util/util/config_eastl.h> 206 template <
typename T, T v>
207 struct integral_constant
209 static const T value = v;
210 typedef T value_type;
211 typedef integral_constant<T, v> type;
221 typedef integral_constant<bool, true> true_type;
222 typedef integral_constant<bool, false> false_type;
231 typedef char yes_type;
232 struct no_type {
char padding[8]; };
246 template <
bool bCondition,
class ConditionIsTrueType,
class ConditionIsFalseType>
247 struct type_select {
typedef ConditionIsTrueType type; };
249 template <
typename ConditionIsTrueType,
class ConditionIsFalseType>
250 struct type_select<false, ConditionIsTrueType, ConditionIsFalseType> {
typedef ConditionIsFalseType type; };
259 template <
bool b1,
bool b2,
bool b3 = false,
bool b4 = false,
bool b5 = false>
262 template <
bool b1,
bool b2,
bool b3,
bool b4,
bool b5>
263 struct type_or {
static const bool value =
true; };
266 struct type_or<false, false, false, false, false> {
static const bool value =
false; };
275 template <
bool b1,
bool b2,
bool b3 = true,
bool b4 = true,
bool b5 = true>
278 template <
bool b1,
bool b2,
bool b3,
bool b4,
bool b5>
279 struct type_and{
static const bool value =
false; };
282 struct type_and<true, true, true, true, true>{
static const bool value =
true; };
291 template <
int b1,
int b2>
292 struct type_equal{
static const bool value = (b1 == b2); };
301 template <
int b1,
int b2>
302 struct type_not_equal{
static const bool value = (b1 != b2); };
312 struct type_not{
static const bool value =
true; };
315 struct type_not<true>{
static const bool value =
false; };
322 template <
typename T>
330 #include <stk_util/util/type_fundamental_eastl.h> 331 #include <stk_util/util/type_transformations_eastl.h> 332 #include <stk_util/util/type_properties_eastl.h> 333 #include <stk_util/util/type_compound_eastl.h> 334 #include <stk_util/util/type_pod_eastl.h> 337 #endif // Header include guard EA Standard Template Library.