Jpp  master_rocky-43-ge265d140c
the software that should make you happy
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
JTOOLS::JRange< T, JComparator_t > Class Template Reference

Range of values. More...

#include <JRange.hh>

Inheritance diagram for JTOOLS::JRange< T, JComparator_t >:
JTOOLS::JPair< T, T > JLANG::JEquals< JFirst_t, JSecond_t > JMATH::JMath< JFirst_t, JSecond_t > JAANET::JHondaBinRange JDETECTOR::JPMTRateRange JSUPPORT::JLimit JTRIGGER::JDAQHitToTSelector JUTC::JUTCTimeRange JSUPPORT::JMultipleFileScanner< JNullType > JSUPPORT::JSingleFileScanner< JNullType > JSUPPORT::JTreeScannerInterface< JClass_t, JNullType > JDETECTOR::JDetectorHeader JDYNAMICS::JDynamics::JUTCTracker JDETECTOR::JDetector JDYNAMICS::JDynamics::JOrientation JDYNAMICS::JDynamics::JPosition JDETECTOR::JMonteCarloDetector JDYNAMICS::JDynamics

Public Types

typedef std::pair< T, T > pair_type
 
typedef JRange< T, JComparator_t > range_type
 
typedef JLANG::JClass< T >::argument_type argument_type
 
typedef T key_type
 
typedef T mapped_type
 

Public Member Functions

 JRange ()
 Default constructor. More...
 
 JRange (const pair_type &pair)
 Constructor. More...
 
 JRange (argument_type x, argument_type y)
 Constructor. More...
 
 JRange (argument_type x)
 Constructor. More...
 
template<class R >
 JRange (R first, R second)
 Constructor. More...
 
template<class JElement_t , class JAllocator_t >
 JRange (const array_type< JElement_t, JAllocator_t > &buffer)
 Constructor. More...
 
 operator pair_type () const
 Type conversion operator. More...
 
const range_typegetRange () const
 Get range. More...
 
void setRange (const range_type &range)
 Set range. More...
 
void setRange (argument_type x, argument_type y)
 Set lower and upper limit. More...
 
template<class R >
void setRange (R first, R second)
 Set range. More...
 
template<class JElement_t , class JAllocator_t >
void setRange (const array_type< JElement_t, JAllocator_t > &buffer)
 Set lower and upper limit according to input data. More...
 
getLowerLimit () const
 Get lower limit. More...
 
getUpperLimit () const
 Get upper limit. More...
 
void setLowerLimit (argument_type x)
 Set lower limit. More...
 
void setUpperLimit (argument_type y)
 Set upper limit. More...
 
void fixLowerLimit (argument_type x)
 Fix lower limit. More...
 
void fixUpperLimit (argument_type y)
 Fix upper limit. More...
 
bool equals (const range_type &range) const
 Equal method. More...
 
getLength () const
 Get length (difference between upper and lower limit). More...
 
void setLength (argument_type length)
 Set length (difference between upper and lower limit). More...
 
bool is_valid () const
 Check validity of range. More...
 
bool in_range (argument_type x) const
 Test whether value is inside range. More...
 
bool operator() (argument_type x) const
 Test whether value is inside range. More...
 
constrain (argument_type x) const
 Constrain value to range. More...
 
mod (argument_type x) const
 Modulo value with respect to range. More...
 
bool overlap (const range_type &range) const
 Test overlap with given range. More...
 
range_typeinclude (argument_type x)
 Include given value to range. More...
 
range_typejoin (const range_type &range)
 Join ranges. More...
 
range_typecombine (const range_type &range)
 Combine ranges. More...
 
range_typeadd (argument_type x)
 Add offset. More...
 
range_typesub (argument_type x)
 Subtract offset. More...
 
range_typeadd (const range_type &range)
 Add offsets. More...
 
range_typesub (const range_type &range)
 Subtract offsets. More...
 
range_typemul (const double factor)
 Multiply range. More...
 
range_typediv (const double factor)
 Divide range. More...
 
const key_typegetKey () const
 
const mapped_typegetValue () const
 
mapped_typegetValue ()
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 

Static Public Member Functions

static T getMinimum ()
 Get minimum possible value. More...
 
static T getMaximum ()
 Get maximum possible value. More...
 
static JRange< T, JComparator_t > DEFAULT_RANGE ()
 Default range. More...
 

Public Attributes

JComparator_t compare
 Function object for comparisons. More...
 
first
 
second
 

Protected Member Functions

template<class R >
void setRange (R first, R second, const JLANG::JBool< false > &option)
 Set range. More...
 
template<class R >
void setRange (R first, R second, const JLANG::JBool< true > &option)
 Set range. More...
 

Detailed Description

template<class T, class JComparator_t = std::less<T>>
class JTOOLS::JRange< T, JComparator_t >

Range of values.

Definition at line 38 of file JRange.hh.

Member Typedef Documentation

◆ pair_type

template<class T , class JComparator_t = std::less<T>>
typedef std::pair<T,T> JTOOLS::JRange< T, JComparator_t >::pair_type

Definition at line 45 of file JRange.hh.

◆ range_type

template<class T , class JComparator_t = std::less<T>>
typedef JRange<T, JComparator_t> JTOOLS::JRange< T, JComparator_t >::range_type

Definition at line 46 of file JRange.hh.

◆ argument_type

template<class T , class JComparator_t = std::less<T>>
typedef JLANG::JClass<T>::argument_type JTOOLS::JRange< T, JComparator_t >::argument_type

Definition at line 47 of file JRange.hh.

◆ key_type

typedef T JTOOLS::JPair< T , T >::key_type
inherited

Definition at line 32 of file JPair.hh.

◆ mapped_type

typedef T JTOOLS::JPair< T , T >::mapped_type
inherited

Definition at line 33 of file JPair.hh.

Constructor & Destructor Documentation

◆ JRange() [1/6]

template<class T , class JComparator_t = std::less<T>>
JTOOLS::JRange< T, JComparator_t >::JRange ( )
inline

Default constructor.


This range corresponds to the maximal possible range.

Definition at line 54 of file JRange.hh.

54  :
56  {}
static T getMaximum()
Get maximum possible value.
Definition: JRange.hh:545
static T getMinimum()
Get minimum possible value.
Definition: JRange.hh:534

◆ JRange() [2/6]

template<class T , class JComparator_t = std::less<T>>
JTOOLS::JRange< T, JComparator_t >::JRange ( const pair_type pair)
inline

Constructor.

Parameters
pairpair

Definition at line 64 of file JRange.hh.

64  :
65  JPair<T,T>(pair.first, pair.second)
66  {}

◆ JRange() [3/6]

template<class T , class JComparator_t = std::less<T>>
JTOOLS::JRange< T, JComparator_t >::JRange ( argument_type  x,
argument_type  y 
)
inline

Constructor.

Parameters
xlower limit
yupper limit

Definition at line 75 of file JRange.hh.

◆ JRange() [4/6]

template<class T , class JComparator_t = std::less<T>>
JTOOLS::JRange< T, JComparator_t >::JRange ( argument_type  x)
inline

Constructor.

Parameters
xlower and upper limit

Definition at line 86 of file JRange.hh.

86  :
87  JPair<T,T>(x, x)
88  {}

◆ JRange() [5/6]

template<class T , class JComparator_t = std::less<T>>
template<class R >
JTOOLS::JRange< T, JComparator_t >::JRange ( first,
second 
)
inline

Constructor.


The arguments could be values or iterators.

Parameters
firstfirst
secondsecond

Definition at line 99 of file JRange.hh.

99  :
100  JPair<T,T>()
101  {
103  }
void setRange(const range_type &range)
Set range.
Definition: JRange.hh:146

◆ JRange() [6/6]

template<class T , class JComparator_t = std::less<T>>
template<class JElement_t , class JAllocator_t >
JTOOLS::JRange< T, JComparator_t >::JRange ( const array_type< JElement_t, JAllocator_t > &  buffer)
inline

Constructor.

Parameters
bufferinput data

Definition at line 112 of file JRange.hh.

112  :
113  JPair<T,T>()
114  {
115  setRange(buffer);
116  }

Member Function Documentation

◆ operator pair_type()

template<class T , class JComparator_t = std::less<T>>
JTOOLS::JRange< T, JComparator_t >::operator pair_type ( ) const
inline

Type conversion operator.

Returns
piar

Definition at line 124 of file JRange.hh.

125  {
127  }
std::pair< T, T > pair_type
Definition: JRange.hh:45
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213

◆ getRange()

template<class T , class JComparator_t = std::less<T>>
const range_type& JTOOLS::JRange< T, JComparator_t >::getRange ( ) const
inline

Get range.

Returns
range

Definition at line 135 of file JRange.hh.

136  {
137  return static_cast<const range_type&>(*this);
138  }
JRange< T, JComparator_t > range_type
Definition: JRange.hh:46

◆ setRange() [1/6]

template<class T , class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setRange ( const range_type range)
inline

Set range.

Parameters
rangerange

Definition at line 146 of file JRange.hh.

147  {
148  static_cast<range_type&>(*this) = range;
149  }

◆ setRange() [2/6]

template<class T , class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setRange ( argument_type  x,
argument_type  y 
)
inline

Set lower and upper limit.

Parameters
xlower limit
yupper limit

Definition at line 158 of file JRange.hh.

159  {
160  this->first = x;
161  this->second = y;
162  }

◆ setRange() [3/6]

template<class T , class JComparator_t = std::less<T>>
template<class R >
void JTOOLS::JRange< T, JComparator_t >::setRange ( first,
second 
)
inline

Set range.


The arguments could be values or iterators.

Parameters
firstfirst
secondsecond

Definition at line 173 of file JRange.hh.

174  {
175  using namespace JLANG;
176 
178  }
Auxiliary classes and methods for language specific functionality.
Auxiliary template class for type bool.
Definition: JBool.hh:21
Data structure to check whether given data type is an iterator.
Definition: JClass.hh:62

◆ setRange() [4/6]

template<class T , class JComparator_t = std::less<T>>
template<class JElement_t , class JAllocator_t >
void JTOOLS::JRange< T, JComparator_t >::setRange ( const array_type< JElement_t, JAllocator_t > &  buffer)
inline

Set lower and upper limit according to input data.

Parameters
bufferinput data

Definition at line 187 of file JRange.hh.

188  {
190 
191  for (typename array_type<JElement_t, JAllocator_t>::const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
192  include(*i);
193  }
194  }
range_type & include(argument_type x)
Include given value to range.
Definition: JRange.hh:397
Auxiliary data structure for return type of make methods.
Definition: JVectorize.hh:28

◆ getLowerLimit()

template<class T , class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::getLowerLimit ( ) const
inline

Get lower limit.

Returns
lower limit

Definition at line 202 of file JRange.hh.

203  {
204  return this->first;
205  }

◆ getUpperLimit()

template<class T , class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::getUpperLimit ( ) const
inline

Get upper limit.

Returns
upper limit

Definition at line 213 of file JRange.hh.

214  {
215  return this->second;
216  }

◆ setLowerLimit()

template<class T , class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setLowerLimit ( argument_type  x)
inline

Set lower limit.

Parameters
xlower limit

Definition at line 224 of file JRange.hh.

225  {
226  this->first = x;
227  }

◆ setUpperLimit()

template<class T , class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setUpperLimit ( argument_type  y)
inline

Set upper limit.

Parameters
yupper limit

Definition at line 235 of file JRange.hh.

236  {
237  this->second = y;
238  }

◆ fixLowerLimit()

template<class T , class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::fixLowerLimit ( argument_type  x)
inline

Fix lower limit.

The range is shifted to the given lower limit.

Parameters
xlower limit

Definition at line 248 of file JRange.hh.

249  {
250  this->second += x - this->first;
251  this->first = x;
252  }

◆ fixUpperLimit()

template<class T , class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::fixUpperLimit ( argument_type  y)
inline

Fix upper limit.

The range is shifted to the given upper limit.

Parameters
yupper limit

Definition at line 262 of file JRange.hh.

263  {
264  this->first += y - this->second;
265  this->second = y;
266  }

◆ equals()

template<class T , class JComparator_t = std::less<T>>
bool JTOOLS::JRange< T, JComparator_t >::equals ( const range_type range) const
inline

Equal method.

Parameters
rangerange
Returns
true if this range is equal to given range; else false

Definition at line 275 of file JRange.hh.

276  {
277  return (!this->compare(this->getLowerLimit(), range.getLowerLimit()) &&
278  !this->compare(range.getLowerLimit(), this->getLowerLimit()) &&
279  !this->compare(this->getUpperLimit(), range.getUpperLimit()) &&
280  !this->compare(range.getUpperLimit(), this->getUpperLimit()));
281  }
JComparator_t compare
Function object for comparisons.
Definition: JRange.hh:565

◆ getLength()

template<class T , class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::getLength ( ) const
inline

Get length (difference between upper and lower limit).

Returns
length

Definition at line 289 of file JRange.hh.

290  {
291  return getUpperLimit() - getLowerLimit();
292  }

◆ setLength()

template<class T , class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setLength ( argument_type  length)
inline

Set length (difference between upper and lower limit).

Parameters
lengthlength

Definition at line 300 of file JRange.hh.

301  {
302  setUpperLimit(getLowerLimit() + length);
303  }
void setUpperLimit(argument_type y)
Set upper limit.
Definition: JRange.hh:235

◆ is_valid()

template<class T , class JComparator_t = std::less<T>>
bool JTOOLS::JRange< T, JComparator_t >::is_valid ( ) const
inline

Check validity of range.

Returns
true if lower limit less than or equal to upper limit; else false

Definition at line 311 of file JRange.hh.

312  {
313  return !compare(getUpperLimit(), getLowerLimit());
314  }

◆ in_range()

template<class T , class JComparator_t = std::less<T>>
bool JTOOLS::JRange< T, JComparator_t >::in_range ( argument_type  x) const
inline

Test whether value is inside range.

Parameters
xvalue
Returns
true if lower limit <= value <= upper limit; else false

Definition at line 323 of file JRange.hh.

324  {
325  return (!compare(x, getLowerLimit()) &&
326  !compare(getUpperLimit(), x));
327  }

◆ operator()()

template<class T , class JComparator_t = std::less<T>>
bool JTOOLS::JRange< T, JComparator_t >::operator() ( argument_type  x) const
inline

Test whether value is inside range.

Parameters
xvalue
Returns
true if lower limit <= value <= upper limit; else false

Definition at line 336 of file JRange.hh.

337  {
338  return in_range(x);
339  }
bool in_range(argument_type x) const
Test whether value is inside range.
Definition: JRange.hh:323

◆ constrain()

template<class T , class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::constrain ( argument_type  x) const
inline

Constrain value to range.


This method returns the original value if it is in this range, else lower limit if value < lower limit or upper limit if value > upper limit.

Parameters
xvalue
Returns
lower limit <= x <= upper limit

Definition at line 350 of file JRange.hh.

351  {
352  if (compare(x, getLowerLimit())) { return getLowerLimit(); }
353  if (compare(getUpperLimit(), x)) { return getUpperLimit(); }
354 
355  return x;
356  }

◆ mod()

template<class T , class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::mod ( argument_type  x) const
inline

Modulo value with respect to range.


Parameters
xvalue
Returns
lower limit <= x <= upper limit

Definition at line 365 of file JRange.hh.

366  {
367  if (compare(x, getLowerLimit()))
368  return x + getLength() * floor((getUpperLimit() - x) / getLength());
369  else if (compare(getUpperLimit(), x))
370  return x - getLength() * floor((x - getLowerLimit()) / getLength());
371  else
372  return x;
373  }
T getLength() const
Get length (difference between upper and lower limit).
Definition: JRange.hh:289

◆ overlap()

template<class T , class JComparator_t = std::less<T>>
bool JTOOLS::JRange< T, JComparator_t >::overlap ( const range_type range) const
inline

Test overlap with given range.


Parameters
rangerange
Returns
true if there is a non-zero overlap; else false

Definition at line 382 of file JRange.hh.

383  {
384  return (!compare(range.getUpperLimit(), getLowerLimit()) &&
385  !compare(getUpperLimit(), range.getLowerLimit()));
386  }

◆ include()

template<class T , class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::include ( argument_type  x)
inline

Include given value to range.


The new lower limit is the minimim of the original lower limit and given value and
the new upper limit is the maximum of the original upper limit and given value;

Parameters
xvalue
Returns
range

Definition at line 397 of file JRange.hh.

398  {
399  if (compare(x, getLowerLimit())) { setLowerLimit(x); }
400  if (compare(getUpperLimit(), x)) { setUpperLimit(x); }
401 
402  return *this;
403  }
void setLowerLimit(argument_type x)
Set lower limit.
Definition: JRange.hh:224

◆ join()

template<class T , class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::join ( const range_type range)
inline

Join ranges.


The new lower limit is the maximim of the two lower limits and
the new upper limit is the minimum of the two upper limits.
This operation results in an equal or smaller range and may result in an unphysical range (i.e. lower limit > upper limit).

Parameters
rangerange

Definition at line 415 of file JRange.hh.

416  {
417  if (compare(getLowerLimit(), range.getLowerLimit())) { setLowerLimit(range.getLowerLimit()); }
418  if (compare(range.getUpperLimit(), getUpperLimit())) { setUpperLimit(range.getUpperLimit()); }
419 
420  return *this;
421  }

◆ combine()

template<class T , class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::combine ( const range_type range)
inline

Combine ranges.


The new lower limit is the minimim of the two lower limits and
the new upper limit is the maximum of the two upper limits.
This operation results in an equal or larger range.

Parameters
rangerange

Definition at line 432 of file JRange.hh.

433  {
434  if (compare(range.getLowerLimit(), getLowerLimit())) { setLowerLimit(range.getLowerLimit()); }
435  if (compare(getUpperLimit(), range.getUpperLimit())) { setUpperLimit(range.getUpperLimit()); }
436 
437  return *this;
438  }

◆ add() [1/2]

template<class T , class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::add ( argument_type  x)
inline

Add offset.

Parameters
xoffset

Definition at line 446 of file JRange.hh.

447  {
448  this->first += x;
449  this->second += x;
450 
451  return *this;
452  }

◆ sub() [1/2]

template<class T , class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::sub ( argument_type  x)
inline

Subtract offset.

Parameters
xoffset

Definition at line 460 of file JRange.hh.

461  {
462  this->first -= x;
463  this->second -= x;
464 
465  return *this;
466  }

◆ add() [2/2]

template<class T , class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::add ( const range_type range)
inline

Add offsets.


The new lower limit is the sum of the two lower limits and
the new upper limit is the sum of the two upper limits.

Parameters
rangeoffset

Definition at line 476 of file JRange.hh.

477  {
478  this->first += range.getLowerLimit();
479  this->second += range.getUpperLimit();
480 
481  return *this;
482  }

◆ sub() [2/2]

template<class T , class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::sub ( const range_type range)
inline

Subtract offsets.


The new lower limit is the difference of the two lower limits and
the new upper limit is the difference of the two upper limits.

Parameters
rangeoffset

Definition at line 492 of file JRange.hh.

493  {
494  this->first -= range.getLowerLimit();
495  this->second -= range.getUpperLimit();
496 
497  return *this;
498  }

◆ mul() [1/2]

template<class T , class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::mul ( const double  factor)
inline

Multiply range.

Parameters
factorfactor

Definition at line 506 of file JRange.hh.

507  {
508  this->first *= factor;
509  this->second *= factor;
510 
511  return *this;
512  }

◆ div()

template<class T , class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::div ( const double  factor)
inline

Divide range.

Parameters
factorfactor

Definition at line 520 of file JRange.hh.

521  {
522  this->first /= factor;
523  this->second /= factor;
524 
525  return *this;
526  }

◆ getMinimum()

template<class T , class JComparator_t = std::less<T>>
static T JTOOLS::JRange< T, JComparator_t >::getMinimum ( )
inlinestatic

Get minimum possible value.

Returns
minimum possible value

Definition at line 534 of file JRange.hh.

535  {
536  return JMATH::JLimits<T>::min();
537  }
float min()
Get minimum possible value.
Definition: JLimits.hh:96

◆ getMaximum()

template<class T , class JComparator_t = std::less<T>>
static T JTOOLS::JRange< T, JComparator_t >::getMaximum ( )
inlinestatic

Get maximum possible value.

Returns
maximum possible value

Definition at line 545 of file JRange.hh.

546  {
547  return JMATH::JLimits<T>::max();
548  }
TTimeStamp max()
Get maximum possible value.

◆ DEFAULT_RANGE()

template<class T , class JComparator_t = std::less<T>>
static JRange<T, JComparator_t> JTOOLS::JRange< T, JComparator_t >::DEFAULT_RANGE ( )
inlinestatic

Default range.

This range corresponds to an unphysical range.

Definition at line 555 of file JRange.hh.

◆ setRange() [5/6]

template<class T , class JComparator_t = std::less<T>>
template<class R >
void JTOOLS::JRange< T, JComparator_t >::setRange ( first,
second,
const JLANG::JBool< false > &  option 
)
inlineprotected

Set range.

Parameters
firstfirst
secondsecond
optionfalse

Definition at line 576 of file JRange.hh.

577  {
579  }
JLANG::JClass< T >::argument_type argument_type
Definition: JRange.hh:47

◆ setRange() [6/6]

template<class T , class JComparator_t = std::less<T>>
template<class R >
void JTOOLS::JRange< T, JComparator_t >::setRange ( first,
second,
const JLANG::JBool< true > &  option 
)
inlineprotected

Set range.

Parameters
firstfirst
secondsecond
optiontrue

Definition at line 590 of file JRange.hh.

591  {
593 
594  for (R i = first; i != second; ++i) {
595  include(*i);
596  }
597  }

◆ getKey()

const key_type& JTOOLS::JPair< T , T >::getKey ( ) const
inlineinherited

Definition at line 123 of file JPair.hh.

123 { return this->first; }

◆ getValue() [1/2]

const mapped_type& JTOOLS::JPair< T , T >::getValue ( ) const
inlineinherited

Definition at line 124 of file JPair.hh.

124 { return this->second; }

◆ getValue() [2/2]

mapped_type& JTOOLS::JPair< T , T >::getValue ( )
inlineinherited

Definition at line 126 of file JPair.hh.

126 { return this->second; }

◆ mul() [2/2]

template<class JFirst_t , class JSecond_t >
JFirst_t& JMATH::JMath< JFirst_t, JSecond_t >::mul ( const JSecond_t &  object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 354 of file JMath.hh.

355  {
356  return static_cast<JFirst_t&>(*this) = JFirst_t().mul(static_cast<const JFirst_t&>(*this), object);
357  }

Member Data Documentation

◆ compare

template<class T , class JComparator_t = std::less<T>>
JComparator_t JTOOLS::JRange< T, JComparator_t >::compare

Function object for comparisons.

Definition at line 565 of file JRange.hh.

◆ first

T JTOOLS::JPair< T , T >::first
inherited

Definition at line 128 of file JPair.hh.

◆ second

T JTOOLS::JPair< T , T >::second
inherited

Definition at line 129 of file JPair.hh.


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