Classes | Namespaces | Defines | Typedefs
type_traits.h File Reference

A small subset of tr1 type traits, and a few custom ones. More...

#include <climits>
#include <cfloat>
#include <iterator>
#include <ash/impl/ash_common.h>
Include dependency graph for type_traits.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  ash::trait::integral_constant< T, v >
 Wrapper for an integer value. More...
struct  ash::trait::tag::unary_type_trait< T >
 Test for type traits. More...
struct  ash::trait::is_integral< T >
 Meta to test for built-in integer types. More...
struct  ash::trait::is_integral< bool >
 Spec for bool. More...
struct  ash::trait::is_integral< char >
 Spec for char (not explicitly signed or unsigned). More...
struct  ash::trait::is_integral< signed char >
 Spec for signed char. More...
struct  ash::trait::is_integral< unsigned char >
 Spec for unsigned char. More...
struct  ash::trait::is_integral< short >
 Spec for short. More...
struct  ash::trait::is_integral< unsigned short >
 Spec for unsigned short. More...
struct  ash::trait::is_integral< int >
 Spec for int. More...
struct  ash::trait::is_integral< unsigned int >
 Spec for unsigned int. More...
struct  ash::trait::is_integral< long >
 Spec for long. More...
struct  ash::trait::is_integral< unsigned long >
 Spec for unsigned long. More...
struct  ash::trait::is_floating_point< T >
 Meta to test for built-in floating-point types. More...
struct  ash::trait::is_floating_point< float >
 Spec for float. More...
struct  ash::trait::is_floating_point< double >
 Spec for double. More...
struct  ash::trait::is_floating_point< long double >
 Spec for long double. More...
struct  ash::trait::is_signed< T, bool, bool >
 Meta to test for signed types. More...
struct  ash::trait::is_signed< T, false, true >
 Spec for floating-point types. More...
struct  ash::trait::is_signed< T, true, false >
 Spec for integral types. More...
struct  ash::trait::is_unsigned< T >
 Meta to test for unsigned types. More...
struct  ash::trait::is_pointer< T >
 Meta to test for pointer types. More...
struct  ash::trait::is_pointer< T * >
 Spec for pointer. More...
struct  ash::trait::is_reference< T >
 Meta to test for reference types. More...
struct  ash::trait::is_reference< T & >
 Spec for reference. More...
struct  ash::trait::is_scalar< T >
 Meta to test for built-in scalar types. More...
struct  ash::trait::is_pod< T >
 Meta to test for built-in POD types. More...
struct  ash::trait::is_pod< const T >
 Spec for const. More...
struct  ash::trait::has_trivial_constructor< T >
 Meta to test for types with trivial constructors. More...
struct  ash::trait::has_trivial_constructor< std::pair< T, U > >
 Spec for std::pair. More...
struct  ash::trait::has_trivial_constructor< A[N]>
 Spec for arrays. More...
struct  ash::trait::has_trivial_constructor< const T >
 Spec for const. More...
struct  ash::trait::has_trivial_copy< T >
 Meta to test for types with trivial copy constructors. More...
struct  ash::trait::has_trivial_copy< std::pair< T, U > >
 Spec for std::pair. More...
struct  ash::trait::has_trivial_copy< A[N]>
 Spec for arrays. More...
struct  ash::trait::has_trivial_copy< const T >
 Spec for const. More...
struct  ash::trait::has_trivial_assign< T >
 Meta to test for types with trivial assignment operators. More...
struct  ash::trait::has_trivial_assign< std::pair< T, U > >
 Spec for std::pair. More...
struct  ash::trait::has_trivial_assign< A[N]>
 Spec for std::pair. More...
struct  ash::trait::has_trivial_destructor< T >
 Meta to test for types with trivial destructors. More...
struct  ash::trait::has_trivial_destructor< std::pair< T, U > >
 Spec for std::pair. More...
struct  ash::trait::has_trivial_destructor< A[N]>
 Spec for arrays. More...
struct  ash::trait::has_trivial_destructor< const T >
 Spec for const. More...
struct  ash::trait::tag::transformation_type_trait< T >
 Modify a type. More...
struct  ash::trait::remove_const< T >
 Meta to remove const. More...
struct  ash::trait::remove_const< T const >
 Spec for const. More...
struct  ash::trait::remove_volatile< T >
 Meta to remove volatile. More...
struct  ash::trait::remove_volatile< T volatile >
 Spec for volatile. More...
struct  ash::trait::remove_cv< T >
 Meta to remove const volatile. More...
struct  ash::trait::remove_reference< T >
 Meta to remove reference. More...
struct  ash::trait::remove_reference< T & >
 Spec for reference. More...
struct  ash::trait::remove_pointer< T >
 Meta to remove pointer. More...
struct  ash::trait::remove_pointer< T * >
 Spec for pointer. More...
struct  ash::trait::remove_pointer< T *const >
 Spec for const pointer. More...
struct  ash::trait::remove_pointer< T *volatile >
 Spec for volatile pointer. More...
struct  ash::trait::remove_pointer< T *const volatile >
 Spec for const volatile pointer. More...
struct  ash::trait::trivial< T >
 Meta to do nothing. More...
struct  ash::trait::trivial< T * >
 Spec for pointer. More...
struct  ash::trait::trivial< T & >
 Spec for reference. More...
struct  ash::trait::add_const< T >
 Meta to add const. More...
struct  ash::trait::add_const< T * >
 Spec for pointer. More...
struct  ash::trait::add_const< T & >
 Spec for reference. More...
struct  ash::trait::tag::binary_type_trait< T1, T2 >
 Test for type relations. More...
struct  ash::trait::tag::conversion_type_trait< From, To >
 Test for type conversion relations. More...
struct  ash::trait::is_same< T1, T2 >
 Meta to test if 2 types are the same. More...
struct  ash::trait::is_same< T, T >
 Spec for the same. More...
struct  ash::trait::is_convertible< From, To >
 Meta to test if a type is convertible to another type. More...

Namespaces

namespace  ash
 The base namespace for everything in the library.
namespace  ash::trait
 The namespace for type traits used by the library.
namespace  ash::impl
 The namespace we use to hide the internal implementation.

Defines

#define bitsizeof(type)   (sizeof(type)*CHAR_BIT)

Typedefs

typedef integral_constant
< bool, true > 
ash::trait::true_type
 Wrapped true value.
typedef integral_constant
< bool, false > 
ash::trait::false_type
 Wrapped false value.
typedef char ash::impl::small_

Detailed Description

A small subset of tr1 type traits, and a few custom ones.

Author:
Matt Austern (austern)
Adam Martinson (Loki)
License: BSD


© 2012   AshTL
Licensed under  AGPLv3
Hosted by  Get AshTL at SourceForge.net. Fast, secure and Free Open Source software downloads
Generated by  doxygen 1.7.4