quantity::Quantity< GenericClass< DIM >, ST > Class Template Reference

the generic quantity More...

#include <Generic.h>

Inheritance diagram for quantity::Quantity< GenericClass< DIM >, ST >:

quantity::Quantities

List of all members.

Public Types

typedef GenericClass
< DIM > 
QuantityType
typedef
QuantityTraits
< GenericClass< DIM >
>::Dimension 
Dim
typedef
QuantityTraits
< GenericClass< DIM >
>::UnitType 
UT
typedef
QuantityTraits
< GenericClass< DIM >
>::UnitList 
UL
typedef
QuantityTraits
< GenericClass< DIM >
>::DefaultUnit 
DU
typedef
QuantityTraits
< GenericClass< DIM >
>::DefaultDerivedQuantityType 
DDQ
typedef
AllUnitsTemplate
< GenericClass< Dim >,
UL
AllUnits
typedef
DefaultUnitTemplate
< GenericClass< Dim >,
DU
DefaultUnit

Public Member Functions

 Quantity (void)
virtual ~Quantity (void)
std::string name (void) const
std::string symbol (void) const
void name (const std::string &name)
void symbol (const std::string &symbol)
virtual ST standard_value (void) const =0
virtual ST value (void) const =0
bool isDimensionless (void) const
 return whether the quantity is dimensionless
std::ostream & print (std::ostream &os) const
virtual std::ostream & print_value (std::ostream &os) const =0
virtual void operator>> (std::string &str) const =0
 operator std::string () const
virtual std::ostream & operator>> (std::ostream &os) const =0

Static Public Member Functions

static bool IsDimensionless (void)

Protected Member Functions

unit::Unit
< GenericClass< Dim > > * 
findBySymbol (const std::string &unitsymbol)

Static Protected Member Functions

template<typename U>
static ST standard (const ST value, const U &)
template<typename U>
static ST reverse (const ST value, const U &unit)

Protected Attributes

std::string namestring
std::string symbolstring

Private Types

typedef Quantity
< GenericClass< DIM >,
ST > 
Q

Private Member Functions

template<typename Archive>
void serialize (Archive &ar, const unsigned int)

Static Private Attributes

static const bool Dimensionless = Dim::IsDimensionless

Friends

class boost::serialization::access
 serialization library code
std::ostream & operator<< (std::ostream &os, const Quantity &quantity)
void operator<< (std::string &str, const Quantity &quantity)


Detailed Description

template<typename DIM, typename ST>
class quantity::Quantity< GenericClass< DIM >, ST >

the generic quantity

specialization of the Quantity class for a GenericClass UT

Definition at line 185 of file Generic.h.


Member Typedef Documentation

template<typename DIM, typename ST>
typedef GenericClass<DIM> quantity::Quantity< GenericClass< DIM >, ST >::QuantityType

Definition at line 188 of file Generic.h.

template<typename DIM, typename ST>
typedef QuantityTraits<GenericClass<DIM> >::Dimension quantity::Quantity< GenericClass< DIM >, ST >::Dim

Definition at line 190 of file Generic.h.

template<typename DIM, typename ST>
typedef QuantityTraits<GenericClass<DIM> >::UnitType quantity::Quantity< GenericClass< DIM >, ST >::UT

Definition at line 191 of file Generic.h.

template<typename DIM, typename ST>
typedef QuantityTraits<GenericClass<DIM> >::UnitList quantity::Quantity< GenericClass< DIM >, ST >::UL

Definition at line 192 of file Generic.h.

template<typename DIM, typename ST>
typedef QuantityTraits<GenericClass<DIM> >::DefaultUnit quantity::Quantity< GenericClass< DIM >, ST >::DU

Definition at line 193 of file Generic.h.

template<typename DIM, typename ST>
typedef QuantityTraits<GenericClass<DIM> >::DefaultDerivedQuantityType quantity::Quantity< GenericClass< DIM >, ST >::DDQ

Definition at line 194 of file Generic.h.

template<typename DIM, typename ST>
typedef Quantity<GenericClass<DIM>, ST> quantity::Quantity< GenericClass< DIM >, ST >::Q [private]

Definition at line 199 of file Generic.h.

template<typename DIM, typename ST>
typedef AllUnitsTemplate<GenericClass<Dim>, UL> quantity::Quantity< GenericClass< DIM >, ST >::AllUnits

Definition at line 224 of file Generic.h.

template<typename DIM, typename ST>
typedef DefaultUnitTemplate<GenericClass<Dim>, DU> quantity::Quantity< GenericClass< DIM >, ST >::DefaultUnit

Definition at line 226 of file Generic.h.


Constructor & Destructor Documentation

template<typename DIM, typename ST>
quantity::Quantity< GenericClass< DIM >, ST >::Quantity ( void   )  [inline]

Definition at line 217 of file Generic.h.

template<typename DIM, typename ST>
virtual quantity::Quantity< GenericClass< DIM >, ST >::~Quantity ( void   )  [inline, virtual]

Definition at line 222 of file Generic.h.


Member Function Documentation

template<typename DIM, typename ST>
unit::Unit<GenericClass<Dim> >* quantity::Quantity< GenericClass< DIM >, ST >::findBySymbol ( const std::string &  unitsymbol  )  [inline, protected]

Definition at line 205 of file Generic.h.

template<typename DIM, typename ST>
template<typename U>
static ST quantity::Quantity< GenericClass< DIM >, ST >::standard ( const ST  value,
const U &   
) [inline, static, protected]

Definition at line 209 of file Generic.h.

template<typename DIM, typename ST>
template<typename U>
static ST quantity::Quantity< GenericClass< DIM >, ST >::reverse ( const ST  value,
const U &  unit 
) [inline, static, protected]

Definition at line 213 of file Generic.h.

template<typename DIM, typename ST>
std::string quantity::Quantity< GenericClass< DIM >, ST >::name ( void   )  const [inline]

Definition at line 228 of file Generic.h.

References quantity::Quantity< QT, ST >::namestring.

template<typename DIM, typename ST>
std::string quantity::Quantity< GenericClass< DIM >, ST >::symbol ( void   )  const [inline]

Definition at line 229 of file Generic.h.

References quantity::Quantity< QT, ST >::symbolstring.

template<typename DIM, typename ST>
void quantity::Quantity< GenericClass< DIM >, ST >::name ( const std::string &  name  )  [inline]

Definition at line 231 of file Generic.h.

References quantity::Quantity< QT, ST >::namestring.

template<typename DIM, typename ST>
void quantity::Quantity< GenericClass< DIM >, ST >::symbol ( const std::string &  symbol  )  [inline]

Definition at line 232 of file Generic.h.

References quantity::Quantity< QT, ST >::symbolstring.

template<typename DIM, typename ST>
virtual ST quantity::Quantity< GenericClass< DIM >, ST >::standard_value ( void   )  const [pure virtual]

template<typename DIM, typename ST>
virtual ST quantity::Quantity< GenericClass< DIM >, ST >::value ( void   )  const [pure virtual]

template<typename DIM, typename ST>
static bool quantity::Quantity< GenericClass< DIM >, ST >::IsDimensionless ( void   )  [inline, static]

Definition at line 238 of file Generic.h.

References quantity::Quantity< QT, ST >::Dimensionless.

template<typename DIM, typename ST>
bool quantity::Quantity< GenericClass< DIM >, ST >::isDimensionless ( void   )  const [inline, virtual]

return whether the quantity is dimensionless

pure virtual, must be overridden in all descendants of Quantity

Implements quantity::Quantities.

Definition at line 240 of file Generic.h.

References quantity::Quantity< QT, ST >::IsDimensionless().

template<typename DIM, typename ST>
std::ostream& quantity::Quantity< GenericClass< DIM >, ST >::print ( std::ostream &  os  )  const [inline]

Definition at line 246 of file Generic.h.

References quantity::Quantity< QT, ST >::name(), quantity::Quantity< QT, ST >::namestring, quantity::Quantity< QT, ST >::print_value(), PS, quantity::Quantity< QT, ST >::symbol(), and quantity::Quantity< QT, ST >::symbolstring.

template<typename DIM, typename ST>
virtual std::ostream& quantity::Quantity< GenericClass< DIM >, ST >::print_value ( std::ostream &  os  )  const [pure virtual]

template<typename DIM, typename ST>
virtual void quantity::Quantity< GenericClass< DIM >, ST >::operator>> ( std::string &  str  )  const [pure virtual]

template<typename DIM, typename ST>
quantity::Quantity< GenericClass< DIM >, ST >::operator std::string (  )  const [inline]

Definition at line 273 of file Generic.h.

template<typename DIM, typename ST>
virtual std::ostream& quantity::Quantity< GenericClass< DIM >, ST >::operator>> ( std::ostream &  os  )  const [pure virtual]

template<typename DIM, typename ST>
template<typename Archive>
void quantity::Quantity< GenericClass< DIM >, ST >::serialize ( Archive &  ar,
const unsigned  int 
) [inline, private]

Definition at line 286 of file Generic.h.


Friends And Related Function Documentation

template<typename DIM, typename ST>
friend class boost::serialization::access [friend]

serialization library code

although it is not really useful to serialize a generic quantity, this code must be present to allow linking

Definition at line 282 of file Generic.h.

template<typename DIM, typename ST>
std::ostream& operator<< ( std::ostream &  os,
const Quantity< GenericClass< DIM >, ST > &  quantity 
) [friend]

Definition at line 243 of file Generic.h.

template<typename DIM, typename ST>
void operator<< ( std::string &  str,
const Quantity< GenericClass< DIM >, ST > &  quantity 
) [friend]

Definition at line 269 of file Generic.h.


Member Data Documentation

template<typename DIM, typename ST>
const bool quantity::Quantity< GenericClass< DIM >, ST >::Dimensionless = Dim::IsDimensionless [static, private]

Definition at line 197 of file Generic.h.

template<typename DIM, typename ST>
std::string quantity::Quantity< GenericClass< DIM >, ST >::namestring [protected]

Definition at line 202 of file Generic.h.

template<typename DIM, typename ST>
std::string quantity::Quantity< GenericClass< DIM >, ST >::symbolstring [protected]

Definition at line 203 of file Generic.h.


The documentation for this class was generated from the following file:
Generated on Mon Jul 27 15:55:47 2009 for Quantities by  doxygen 1.5.3