#include <stlsoft/stlsoft.h>
#include <stlsoft/meta/size_of.hpp>
Go to the source code of this file.
| Namespaces | |
| namespace | stlsoft | 
| Classes | |
| struct | must_have_base | 
| Constraint to ensure that the one type is convertible to another via inheritance.  More... | |
| struct | must_be_derived | 
| Constraint to ensure that the one type is convertible to another via inheritance, but is not the same type.  More... | |
| struct | must_be_same_size | 
| Constrains two types to be of the same size.  More... | |
| struct | must_be_subscriptable | 
| Constraint to enforce that a given type is an array, or pointer, or user defined type which is amenable to subsripting (i.e.  More... | |
| struct | must_subscript_as_decayable_pointer | 
| Constraint to enforce that a given type is an actual array or pointer, rather than a user-defined type with a subscript operator.  More... | |
| union | must_be_pod | 
| Constraint to ensure that a type is a built-in or trivial type.  More... | |
| union | must_be_pod_or_void | 
| Constraint to ensure that a type is a built-in or trivial type, or is void.  More... | |
| Defines | |
| #define | stlsoft_constraint_must_be_pod(T) STLSOFT_STATIC_ASSERT(sizeof(stlsoft_ns_qual(must_be_pod)<T>::constraint()) != 0) | 
| #define | stlsoft_constraint_must_be_pod_or_void(T) STLSOFT_STATIC_ASSERT(sizeof(stlsoft_ns_qual(must_be_pod_or_void)<T>::constraint()) != 0) | 
| #define | stlsoft_constraint_must_be_same_size(T1, T2) static_cast<void>(stlsoft_ns_qual(must_be_same_size)<T1, T2>()) | 
| #define | stlsoft_constraint_must_be_subscriptable(T) static_cast<void>(stlsoft_ns_qual(must_be_subscriptable)<T>()) | 
| #define | stlsoft_constraint_must_have_base(D, B) static_cast<void>(stlsoft_ns_qual(must_have_base)<D, B>()) | 
| #define | stlsoft_constraint_must_be_derived(D, B) static_cast<void>(stlsoft_ns_qual(must_be_derived)<D, B>()) | 
 1.5.6
 1.5.6