Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
JTOOLS::JSet< JAbscissa_t > Struct Template Reference

Simple data structure for an abstract collection of non-equidistant abscissa values. More...

#include <JSet.hh>

Inheritance diagram for JTOOLS::JSet< JAbscissa_t >:
JTOOLS::JAbstractCollection< JAbscissa_t > std::set< JAbscissa_t >

Public Types

typedef JAbstractCollection
< JAbscissa_t >::abscissa_type 
abscissa_type
 

Public Member Functions

 JSet ()
 Default constructor. More...
 
 JSet (const JAbstractCollection< abscissa_type > &collection)
 Constructor. More...
 
template<class T >
 JSet (T __begin, T __end)
 Constructor. More...
 
virtual int getSize () const
 Get number of elements. More...
 
virtual abscissa_type getX (int index) const
 Get abscissa value. More...
 
virtual abscissa_type getXmin () const
 Get minimal abscissa value. More...
 
virtual abscissa_type getXmax () const
 Get maximal abscissa value. More...
 
template<class JElement_t , class JDistance_t >
const JSetoperator() (JCollection< JElement_t, JDistance_t > &collection) const
 Configure collection. More...
 
bool is_equal (const JAbstractCollection &collection) const
 Test whether abstract collections are equal. More...
 

Detailed Description

template<class JAbscissa_t>
struct JTOOLS::JSet< JAbscissa_t >

Simple data structure for an abstract collection of non-equidistant abscissa values.

This class implements the JAbstractCollection interface.

Definition at line 29 of file JSet.hh.

Member Typedef Documentation

template<class JAbscissa_t>
typedef JAbstractCollection<JAbscissa_t>::abscissa_type JTOOLS::JSet< JAbscissa_t >::abscissa_type

Definition at line 33 of file JSet.hh.

Constructor & Destructor Documentation

template<class JAbscissa_t>
JTOOLS::JSet< JAbscissa_t >::JSet ( )
inline

Default constructor.

Definition at line 39 of file JSet.hh.

40  {}
template<class JAbscissa_t>
JTOOLS::JSet< JAbscissa_t >::JSet ( const JAbstractCollection< abscissa_type > &  collection)
inline

Constructor.

Parameters
collectionabstract collection

Definition at line 48 of file JSet.hh.

49  {
50  for (int i = 0; i != collection.getSize(); ++i) {
51  this->insert(collection.getX(i));
52  }
53  }
virtual abscissa_type getX(int index) const =0
Get abscissa value.
virtual int getSize() const =0
Get number of elements.
template<class JAbscissa_t>
template<class T >
JTOOLS::JSet< JAbscissa_t >::JSet ( __begin,
__end 
)
inline

Constructor.

Parameters
__beginbegin of abscissa values
__endend of abscissa values

Definition at line 63 of file JSet.hh.

64  {
65  for (T i = __begin; i != __end; ++i) {
66  this->insert(*i);
67  }
68  }

Member Function Documentation

template<class JAbscissa_t>
virtual int JTOOLS::JSet< JAbscissa_t >::getSize ( ) const
inlinevirtual

Get number of elements.

Returns
number of elements

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 76 of file JSet.hh.

77  {
78  return (int) this->size();
79  }
template<class JAbscissa_t>
virtual abscissa_type JTOOLS::JSet< JAbscissa_t >::getX ( int  index) const
inlinevirtual

Get abscissa value.

Parameters
indexindex
Returns
abscissa value

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 88 of file JSet.hh.

89  {
90  typename std::set<abscissa_type>::const_iterator i = this->begin();
91 
92  std::advance(i, index);
93 
94  return *i;
95  }
counter_type advance(counter_type &counter, const counter_type value, const counter_type limit=std::numeric_limits< counter_type >::max())
Advance counter.
Definition: JCounter.hh:35
template<class JAbscissa_t>
virtual abscissa_type JTOOLS::JSet< JAbscissa_t >::getXmin ( ) const
inlinevirtual

Get minimal abscissa value.

Returns
abscissa value

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 103 of file JSet.hh.

104  {
105  return *(this->begin());
106  }
template<class JAbscissa_t>
virtual abscissa_type JTOOLS::JSet< JAbscissa_t >::getXmax ( ) const
inlinevirtual

Get maximal abscissa value.

Returns
abscissa value

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 114 of file JSet.hh.

115  {
116  return *(this->rbegin());
117  }
template<class JAbscissa_t>
template<class JElement_t , class JDistance_t >
const JSet& JTOOLS::JSet< JAbscissa_t >::operator() ( JCollection< JElement_t, JDistance_t > &  collection) const
inline

Configure collection.

Parameters
collectioncollection
Returns
this set

Definition at line 127 of file JSet.hh.

128  {
129  collection.configure(*this);
130 
131  return *this;
132  }
void configure(const JAbstractCollection< abscissa_type > &bounds)
Configure collection.
Definition: JCollection.hh:314
template<class JAbscissa_t>
bool JTOOLS::JAbstractCollection< JAbscissa_t >::is_equal ( const JAbstractCollection< JAbscissa_t > &  collection) const
inlineinherited

Test whether abstract collections are equal.

Parameters
collectionabstract collection
Returns
true if collections are equals; else false

Definition at line 69 of file JAbstractCollection.hh.

70  {
71  if (this->getSize() == collection.getSize()) {
72 
73  for (int i = 0; i != this->getSize(); ++i) {
74 
75  if (this->getX(i) != collection.getX(i)) {
76  return false;
77  }
78  }
79 
80  return true;
81  }
82 
83  return false;
84  }
virtual abscissa_type getX(int index) const =0
Get abscissa value.
virtual int getSize() const =0
Get number of elements.

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