OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Data Structures | Namespaces | Typedefs | Functions
physical_units.hh File Reference
#include <boost/mpl/vector_c.hpp>
#include <boost/mpl/placeholders.hpp>
#include <boost/mpl/plus.hpp>
#include <boost/mpl/transform.hpp>
#include <ost/base.hh>

Go to the source code of this file.

Data Structures

class  quantity< Dimensions >
 
struct  multiply_dimensions< D1, D2 >
 
struct  divide_dimensions< D1, D2 >
 
class  Scalar
 

Namespaces

 ost
 
 ost::img
 
 ost::img::physics
 
 ost::img::physics::detail
 

Typedefs

typedef mpl::vector_c< int, 1, 0, 0, 0, 0, 0, 0 > mass_dimension
 
typedef mpl::vector_c< int, 0, 1, 0, 0, 0, 0, 0 > length_dimension
 
typedef mpl::vector_c< int, 0, 0, 1, 0, 0, 0, 0 > time_dimension
 
typedef mpl::vector_c< int, 0, 0, 0, 1, 0, 0, 0 > charge_dimension
 
typedef mpl::vector_c< int, 0, 0, 0, 0, 1, 0, 0 > temperature_dimension
 
typedef mpl::vector_c< int, 0, 0, 0, 0, 0, 1, 0 > intensity_dimension
 
typedef mpl::vector_c< int, 0, 0, 0, 0, 0, 0, 1 > amount_dimension
 
typedef mpl::vector_c< int, 0, 1,-1, 0, 0, 0, 0 > velocity_dimension
 
typedef mpl::vector_c< int, 0, 1,-2, 0, 0, 0, 0 > acceleration_dimension
 
typedef mpl::vector_c< int, 1, 1,-1, 0, 0, 0, 0 > momentum_dimension
 
typedef mpl::vector_c< int, 1, 1,-2, 0, 0, 0, 0 > force_dimension
 
typedef mpl::vector_c< int, 0, 0, 0, 0, 0, 0, 0 > scalar_dimension
 
typedef detail::quantity
< detail::mass_dimension > 
Mass
 
typedef detail::quantity
< detail::length_dimension > 
Length
 
typedef detail::quantity
< detail::time_dimension > 
Time
 
typedef detail::quantity
< detail::charge_dimension > 
Charge
 
typedef detail::quantity
< detail::temperature_dimension > 
Temperature
 
typedef detail::quantity
< detail::intensity_dimension > 
Intensity
 
typedef detail::quantity
< detail::amount_dimension > 
Amount
 
typedef detail::quantity
< detail::velocity_dimension > 
Velocity
 
typedef detail::quantity
< detail::momentum_dimension > 
Momentum
 
typedef detail::quantity
< detail::force_dimension > 
Force
 

Functions

template<class D >
quantity< D > operator+ (quantity< D > x, quantity< D > y)
 
template<class D >
quantity< D > operator- (quantity< D > x, quantity< D > y)
 
template<class D1 , class D2 >
quantity< typename
multiply_dimensions< D1, D2 >
::type > 
operator* (quantity< D1 > x, quantity< D2 > y)
 
template<class D1 , class D2 >
quantity< typename
divide_dimensions< D1, D2 >
::type > 
operator/ (quantity< D1 > x, quantity< D2 > y)