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 a snapshot of the develop branch, built from commit c5994560ca.


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> >;