| Home | Libraries | People | FAQ | More

## Struct template dim

boost::units::dim — Dimension tag/exponent pair for a single fundamental dimension.

## Synopsis

    // In header: <boost/units/dim.hpp>

    template<typename T, typename V>
    struct dim {
      // types
      typedef dim         type;
      typedef unspecified tag;
      typedef T           tag_type;
      typedef V           value_type;
    };

## Description

The dim class represents a single dimension tag/dimension exponent pair. That is, `dim<tag_type,value_type>` is a pair where `tag_type` represents the fundamental dimension being represented and `value_type` represents the exponent of that fundamental dimension as a `static_rational`. `tag_type` must be a derived from a specialization of `base_dimension`. Specialization of the following Boost.MPL metafunctions are provided - @c mpl::plus for two @c dims - @c mpl::minus for two @c dims - @c mpl::negate for a @c dim

These metafunctions all operate on the exponent, and require that the `dim` operands have the same base dimension tag. In addition, multiplication and division by `static_rational` is supported. - @c mpl::times for a @c static_rational and a @c dim in either order - @c mpl::divides for a @c static_rational and a @c dim in either order

These metafunctions likewise operate on the exponent only.