sge::math::basic_dim< T, Dim > Class Template Reference

#include <dim.hpp>

List of all members.

Public Types

typedef T value_type
typedef T & reference
typedef const T & const_reference
typedef std::ptrdiff_t difference_type
typedef std::size_t size_type
typedef T * pointer
typedef const T * const_pointer
typedef pointer iterator
typedef const_pointer const_iterator
typedef std::reverse_iterator
< iterator
reverse_iterator
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator

Public Member Functions

template<typename... Args>
 basic_dim (Args...args)
 basic_dim ()
 basic_dim (no_initialization_tag)
template<typename... Args>
void set (const_reference arg, Args...args)
reference operator[] (const size_type pos)
const_reference operator[] (const size_type pos) const
reference at (const size_type pos)
const_reference at (const size_type pos) const
bool operator== (const basic_dim &r) const
bool operator!= (const basic_dim &r) const
basic_dimoperator+= (const basic_dim &r)
basic_dimoperator-= (const basic_dim &r)
basic_dimoperator*= (const basic_dim &r)
basic_dimoperator/= (const basic_dim &r)
reference w ()
const_reference w () const
reference h ()
const_reference h () const
reference d ()
const_reference d () const
size_type dim () const
size_type content () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
reverse_iterator rbegin ()
reverse_iterator rend ()
const_reverse_iterator rbegin () const
const_reverse_iterator rend () const

Friends

basic_dim operator/ (basic_dim l, const_reference r)


Detailed Description

template<typename T, std::size_t Dim>
class sge::math::basic_dim< T, Dim >

basic_dim uses variadic templates where available

Member Typedef Documentation

template<typename T, std::size_t Dim>
typedef T sge::math::basic_dim< T, Dim >::value_type

template<typename T, std::size_t Dim>
typedef T& sge::math::basic_dim< T, Dim >::reference

template<typename T, std::size_t Dim>
typedef const T& sge::math::basic_dim< T, Dim >::const_reference

template<typename T, std::size_t Dim>
typedef std::ptrdiff_t sge::math::basic_dim< T, Dim >::difference_type

template<typename T, std::size_t Dim>
typedef std::size_t sge::math::basic_dim< T, Dim >::size_type

template<typename T, std::size_t Dim>
typedef T* sge::math::basic_dim< T, Dim >::pointer

template<typename T, std::size_t Dim>
typedef const T* sge::math::basic_dim< T, Dim >::const_pointer

template<typename T, std::size_t Dim>
typedef pointer sge::math::basic_dim< T, Dim >::iterator

template<typename T, std::size_t Dim>
typedef const_pointer sge::math::basic_dim< T, Dim >::const_iterator

template<typename T, std::size_t Dim>
typedef std::reverse_iterator<iterator> sge::math::basic_dim< T, Dim >::reverse_iterator

template<typename T, std::size_t Dim>
typedef std::reverse_iterator<const_iterator> sge::math::basic_dim< T, Dim >::const_reverse_iterator


Constructor & Destructor Documentation

template<typename T, std::size_t Dim>
template<typename... Args>
sge::math::basic_dim< T, Dim >::basic_dim ( Args...  args  )  [inline, explicit]

template<typename T, std::size_t Dim>
sge::math::basic_dim< T, Dim >::basic_dim (  )  [inline]

This initializes the dim with zero

template<typename T, std::size_t Dim>
sge::math::basic_dim< T, Dim >::basic_dim ( no_initialization_tag   )  [inline]

This does not initialize any of the coordinates (models the built types)


Member Function Documentation

template<typename T, std::size_t Dim>
template<typename... Args>
void sge::math::basic_dim< T, Dim >::set ( const_reference  arg,
Args...  args 
) [inline]

template<typename T, std::size_t Dim>
reference sge::math::basic_dim< T, Dim >::operator[] ( const size_type  pos  )  [inline]

Does range checking with an assertion

template<typename T, std::size_t Dim>
const_reference sge::math::basic_dim< T, Dim >::operator[] ( const size_type  pos  )  const [inline]

Does range checking with an assertion

template<typename T, std::size_t Dim>
reference sge::math::basic_dim< T, Dim >::at ( const size_type  pos  )  [inline]

Does range checking with sge::exception

template<typename T, std::size_t Dim>
const_reference sge::math::basic_dim< T, Dim >::at ( const size_type  pos  )  const [inline]

Does range checking with an exception

template<typename T, std::size_t Dim>
bool sge::math::basic_dim< T, Dim >::operator== ( const basic_dim< T, Dim > &  r  )  const [inline]

Uses sge::math::compare to compare componentwise

template<typename T, std::size_t Dim>
bool sge::math::basic_dim< T, Dim >::operator!= ( const basic_dim< T, Dim > &  r  )  const [inline]

Uses sge::math::compare to compare componentwise

template<typename T, std::size_t Dim>
basic_dim& sge::math::basic_dim< T, Dim >::operator+= ( const basic_dim< T, Dim > &  r  )  [inline]

template<typename T, std::size_t Dim>
basic_dim& sge::math::basic_dim< T, Dim >::operator-= ( const basic_dim< T, Dim > &  r  )  [inline]

template<typename T, std::size_t Dim>
basic_dim& sge::math::basic_dim< T, Dim >::operator*= ( const basic_dim< T, Dim > &  r  )  [inline]

Multiplies componentwise

template<typename T, std::size_t Dim>
basic_dim& sge::math::basic_dim< T, Dim >::operator/= ( const basic_dim< T, Dim > &  r  )  [inline]

Divides componentwise

template<typename T, std::size_t Dim>
reference sge::math::basic_dim< T, Dim >::w (  )  [inline]

template<typename T, std::size_t Dim>
const_reference sge::math::basic_dim< T, Dim >::w (  )  const [inline]

template<typename T, std::size_t Dim>
reference sge::math::basic_dim< T, Dim >::h (  )  [inline]

template<typename T, std::size_t Dim>
const_reference sge::math::basic_dim< T, Dim >::h (  )  const [inline]

template<typename T, std::size_t Dim>
reference sge::math::basic_dim< T, Dim >::d (  )  [inline]

template<typename T, std::size_t Dim>
const_reference sge::math::basic_dim< T, Dim >::d (  )  const [inline]

template<typename T, std::size_t Dim>
size_type sge::math::basic_dim< T, Dim >::dim (  )  const [inline]

template<typename T, std::size_t Dim>
size_type sge::math::basic_dim< T, Dim >::content (  )  const [inline]

Returns the product of all components, so the length/area/volume/... of the dimension

template<typename T, std::size_t Dim>
iterator sge::math::basic_dim< T, Dim >::begin (  )  [inline]

template<typename T, std::size_t Dim>
iterator sge::math::basic_dim< T, Dim >::end (  )  [inline]

template<typename T, std::size_t Dim>
const_iterator sge::math::basic_dim< T, Dim >::begin (  )  const [inline]

template<typename T, std::size_t Dim>
const_iterator sge::math::basic_dim< T, Dim >::end (  )  const [inline]

template<typename T, std::size_t Dim>
reverse_iterator sge::math::basic_dim< T, Dim >::rbegin (  )  [inline]

template<typename T, std::size_t Dim>
reverse_iterator sge::math::basic_dim< T, Dim >::rend (  )  [inline]

template<typename T, std::size_t Dim>
const_reverse_iterator sge::math::basic_dim< T, Dim >::rbegin (  )  const [inline]

template<typename T, std::size_t Dim>
const_reverse_iterator sge::math::basic_dim< T, Dim >::rend (  )  const [inline]


Friends And Related Function Documentation

template<typename T, std::size_t Dim>
basic_dim operator/ ( basic_dim< T, Dim >  l,
const_reference  r 
) [friend]


The documentation for this class was generated from the following file:

Generated on Wed Sep 10 22:17:53 2008 for sge by  doxygen 1.5.5