Jpp  18.3.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Friends | 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 override
 Get number of elements. More...
 
virtual abscissa_type getX (int index) const override
 Get abscissa value. More...
 
virtual abscissa_type getXmin () const override
 Get minimal abscissa value. More...
 
virtual abscissa_type getXmax () const override
 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...
 

Friends

std::istream & operator>> (std::istream &in, JSet< JAbscissa_t > &object)
 Read set from input. More...
 
std::ostream & operator<< (std::ostream &out, const JSet< JAbscissa_t > &object)
 Write set to output. 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 ( T  __begin,
T  __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  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T

Member Function Documentation

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

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
inlineoverridevirtual

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.
template<class JAbscissa_t>
virtual abscissa_type JTOOLS::JSet< JAbscissa_t >::getXmin ( ) const
inlineoverridevirtual

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
inlineoverridevirtual

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:332
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 72 of file JAbstractCollection.hh.

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

Friends And Related Function Documentation

template<class JAbscissa_t>
std::istream& operator>> ( std::istream &  in,
JSet< JAbscissa_t > &  object 
)
friend

Read set from input.

Parameters
ininput stream
objectobject
Returns
input stream

Definition at line 142 of file JSet.hh.

143  {
144  for (JAbscissa_t value; in >> value; ) {
145  object.insert(value);
146  }
147 
148  return in;
149  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
template<class JAbscissa_t>
std::ostream& operator<< ( std::ostream &  out,
const JSet< JAbscissa_t > &  object 
)
friend

Write set to output.

Parameters
outoutput stream
objectobject
Returns
output stream

Definition at line 159 of file JSet.hh.

160  {
161  for (typename JSet<JAbscissa_t>::const_iterator i = object.begin(); i != object.end(); ++i) {
162  out << ' ' << *i;
163  }
164 
165  return out;
166  }
Simple data structure for an abstract collection of non-equidistant abscissa values.
Definition: JSet.hh:29

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