OpenWalnut  1.4.0
Public Types | Public Member Functions | Private Attributes | List of all members
WInterval< T > Class Template Reference

Basic class for encapsulating a std::pair to be interpreted as interval. More...

#include <WInterval.h>

Public Types

typedef boost::shared_ptr< WInterval< T > > SPtr
 Convenience typedef for a boost::shared_ptr< WInterval >. More...
 
typedef boost::shared_ptr< const WInterval< T > > ConstSPtr
 Convenience typedef for a boost::shared_ptr< const WInterval >. More...
 
typedef std::pair< T, T > StoreType
 Type used to store the information. More...
 
typedef WInterval< T > Type
 My own type. More...
 

Public Member Functions

 WInterval (const StoreType &c)
 Copy constructor to create a WInterval using a std::pair. More...
 
 WInterval (const Type &c)
 Copy constructor. More...
 
 WInterval (const T &l, const T &u)
 Create a new interval instance using the given values. More...
 
virtual ~WInterval ()
 Destructor. More...
 
 operator const StoreType & () const
 Convert the WInterval instance to a std::pair again. More...
 
const T & getLower () const
 Get the lower value of the interval. More...
 
const T & getUpper () const
 Return the upper value of the interval. More...
 
getLength () const
 The length of the interval. More...
 
bool operator== (Type interval) const
 Compare this interval with another one. More...
 
bool operator!= (Type interval) const
 Compare this interval with another one. More...
 

Private Attributes

StoreType m_interval
 The interval itself. More...
 

Detailed Description

template<typename T>
class WInterval< T >

Basic class for encapsulating a std::pair to be interpreted as interval.

This class intentionally does not include a parameter telling whether the interval is open or not (mathematically: [],][,[[,]])

Template Parameters
Tthe type used for this interval

Definition at line 42 of file WInterval.h.

Member Typedef Documentation

template<typename T>
typedef boost::shared_ptr< const WInterval< T > > WInterval< T >::ConstSPtr

Convenience typedef for a boost::shared_ptr< const WInterval >.

Definition at line 53 of file WInterval.h.

template<typename T>
typedef boost::shared_ptr< WInterval< T > > WInterval< T >::SPtr

Convenience typedef for a boost::shared_ptr< WInterval >.

Definition at line 48 of file WInterval.h.

template<typename T>
typedef std::pair< T, T > WInterval< T >::StoreType

Type used to store the information.

Definition at line 58 of file WInterval.h.

template<typename T>
typedef WInterval< T > WInterval< T >::Type

My own type.

Definition at line 63 of file WInterval.h.

Constructor & Destructor Documentation

template<typename T >
WInterval< T >::WInterval ( const StoreType c)
explicit

Copy constructor to create a WInterval using a std::pair.

Parameters
cthe pair to use

Definition at line 237 of file WInterval.h.

template<typename T >
WInterval< T >::WInterval ( const Type c)

Copy constructor.

Parameters
cthe interval to copy

Definition at line 245 of file WInterval.h.

template<typename T >
WInterval< T >::WInterval ( const T &  l,
const T &  u 
)

Create a new interval instance using the given values.

Parameters
lthe lower border
uthe upper border

Definition at line 252 of file WInterval.h.

template<typename T >
WInterval< T >::~WInterval ( )
virtual

Destructor.

Definition at line 259 of file WInterval.h.

Member Function Documentation

template<typename T >
T WInterval< T >::getLength ( ) const

The length of the interval.

This is upper - lower.

Returns
length

Definition at line 283 of file WInterval.h.

template<typename T >
const T & WInterval< T >::getLower ( ) const

Get the lower value of the interval.

Returns
the lower value

Definition at line 271 of file WInterval.h.

Referenced by PROPERTY_TYPE_HELPER::WStringConversion< WPVBaseTypes::PV_INTERVAL >::asString(), WInterval< T >::operator==(), and wge::toUniformType().

template<typename T >
const T & WInterval< T >::getUpper ( ) const

Return the upper value of the interval.

Returns
the upper value

Definition at line 277 of file WInterval.h.

Referenced by PROPERTY_TYPE_HELPER::WStringConversion< WPVBaseTypes::PV_INTERVAL >::asString(), WInterval< T >::operator==(), and wge::toUniformType().

template<typename T >
WInterval< T >::operator const StoreType & ( ) const

Convert the WInterval instance to a std::pair again.

Returns
the pair

Definition at line 265 of file WInterval.h.

template<typename T >
bool WInterval< T >::operator!= ( Type  interval) const

Compare this interval with another one.

Parameters
intervalthe other one
Returns
true if lower and upper bounds are equal

Definition at line 295 of file WInterval.h.

template<typename T >
bool WInterval< T >::operator== ( Type  interval) const

Compare this interval with another one.

Parameters
intervalthe other one
Returns
true if lower and upper bounds are equal

Definition at line 289 of file WInterval.h.

References WInterval< T >::getLower(), and WInterval< T >::getUpper().

Member Data Documentation

template<typename T>
StoreType WInterval< T >::m_interval
private

The interval itself.

Definition at line 143 of file WInterval.h.


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