Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.


Metaprogramming Classes
Metaprogramming Predicates

Relatively complete SI and CGS unit systems are provided in boost/units/systems/si.hpp and boost/units/systems/cgs.hpp, respectively.

template<long N> struct ordinal<N>;

template<typename T,typename V> struct get_tag< dim<T,V> >;
template<typename T,typename V> struct get_value< dim<T,V> >;
template<class S,class DT> struct get_system_tag_of_dim<S,DT>;
template<typename Seq> struct make_dimension_list<Seq>;
template<class DT> struct fundamental_dimension<DT>;
template<class DT1,int E1,...> struct composite_dimension<DT1,E1,...>;

template<class Dim,class System> struct get_dimension< unit<Dim,System> >;
template<class Unit,class Y> struct get_dimension< quantity<Unit,Y> >;
template<class Dim,class System> struct get_system< unit<Dim,System> >;
template<class Unit,class Y> struct get_system quantity<Unit,Y> >;

struct dimensionless_type;
template<class System> struct dimensionless_unit<System>;
template<class System,class Y> struct dimensionless_quantity<System,Y>;

struct implicitly_convertible;
struct trivial_conversion;
template<class T,class S1,class S2> struct base_unit_converter<T,S1,S2>;

template<class Q1,class Q2> class conversion_helper<Q1,Q2>;
template<typename T,typename V> struct is_dim< dim<T,V> >;
template<typename T,typename V> struct is_empty_dim< dim<T,V> >;

template<typename Seq> struct is_dimension_list<Seq>;

template<class S> struct is_system< homogeneous_system<S> >;
template<class S> struct is_system< heterogeneous_system<S> >;
template<class S> struct is_homogeneous_system< homogeneous_system<S> >;
template<class S> struct is_heterogeneous_system< heterogeneous_system<S> >;

template<class Dim,class System> struct is_unit< unit<Dim,System> >;
template<class Dim,class System> struct is_unit_of_system< unit<Dim,System>,System >;
template<class Dim,class System> struct is_unit_of_dimension< unit<Dim,System>,Dim >;

template<class Unit,class Y> struct is_quantity< quantity<Unit,Y> >;
template<class Dim,class System,class Y> struct is_quantity_of_system< quantity<unit<Dim,System>,Y>,System >;
template<class Dim,class System,class Y> struct is_quantity_of_dimension< quantity<unit<Dim,System>,Y>,Dim >;

template<class System> struct is_dimensionless< unit<dimensionless_type,System> >;
template<class System> struct is_dimensionless_unit< unit<dimensionless_type,System> >;
template<class System,class Y> struct is_dimensionless< quantity<unit<dimensionless_type,System>,Y> >;
template<class System,class Y> struct is_dimensionless_quantity< quantity<unit<dimensionless_type,System>,Y> >;