OpenStructure
Data Structures | Typedefs | Functions
ost::img::physics::detail Namespace Reference

Data Structures

class  quantity
 
struct  multiply_dimensions
 
struct  divide_dimensions
 

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
 

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)
 

Typedef Documentation

◆ acceleration_dimension

typedef mpl::vector_c<int,0,1,-2,0,0,0,0> acceleration_dimension

Definition at line 43 of file physical_units.hh.

◆ amount_dimension

typedef mpl::vector_c<int,0,0,0,0,0,0,1> amount_dimension

Definition at line 41 of file physical_units.hh.

◆ charge_dimension

typedef mpl::vector_c<int,0,0,0,1,0,0,0> charge_dimension

Definition at line 38 of file physical_units.hh.

◆ force_dimension

typedef mpl::vector_c<int,1,1,-2,0,0,0,0> force_dimension

Definition at line 45 of file physical_units.hh.

◆ intensity_dimension

typedef mpl::vector_c<int,0,0,0,0,0,1,0> intensity_dimension

Definition at line 40 of file physical_units.hh.

◆ length_dimension

typedef mpl::vector_c<int,0,1,0,0,0,0,0> length_dimension

Definition at line 36 of file physical_units.hh.

◆ mass_dimension

typedef mpl::vector_c<int,1,0,0,0,0,0,0> mass_dimension

Definition at line 35 of file physical_units.hh.

◆ momentum_dimension

typedef mpl::vector_c<int,1,1,-1,0,0,0,0> momentum_dimension

Definition at line 44 of file physical_units.hh.

◆ scalar_dimension

typedef mpl::vector_c<int,0,0,0,0,0,0,0> scalar_dimension

Definition at line 46 of file physical_units.hh.

◆ temperature_dimension

typedef mpl::vector_c<int,0,0,0,0,1,0,0> temperature_dimension

Definition at line 39 of file physical_units.hh.

◆ time_dimension

typedef mpl::vector_c<int,0,0,1,0,0,0,0> time_dimension

Definition at line 37 of file physical_units.hh.

◆ velocity_dimension

typedef mpl::vector_c<int,0,1,-1,0,0,0,0> velocity_dimension

Definition at line 42 of file physical_units.hh.

Function Documentation

◆ operator*()

quantity<typename multiply_dimensions<D1,D2>::type> ost::img::physics::detail::operator* ( quantity< D1 >  x,
quantity< D2 >  y 
)

◆ operator+()

quantity<D> ost::img::physics::detail::operator+ ( quantity< D >  x,
quantity< D >  y 
)

◆ operator-()

quantity<D> ost::img::physics::detail::operator- ( quantity< D >  x,
quantity< D >  y 
)

◆ operator/()

quantity<typename divide_dimensions<D1,D2>::type> ost::img::physics::detail::operator/ ( quantity< D1 >  x,
quantity< D2 >  y 
)