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 44 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 55 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 50 of file WInterval.h.

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

Type used to store the information.

Definition at line 60 of file WInterval.h.

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

My own type.

Definition at line 65 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 239 of file WInterval.h.

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

Copy constructor.

Parameters
cthe interval to copy

Definition at line 247 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 254 of file WInterval.h.

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

Destructor.

Definition at line 261 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 285 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 273 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 279 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 267 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 297 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 291 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 145 of file WInterval.h.


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