Jpp
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
JTOOLS::JTuple< T > Struct Template Reference

Template data structure. More...

#include <JTuple.hh>

Inheritance diagram for JTOOLS::JTuple< T >:
JMATH::JMath< JFirst_t, JSecond_t > JLANG::JComparable< JFirst_t, JSecond_t >

Public Types

typedef JTypeList< T > typelist
 

Public Member Functions

 JTuple ()
 Default constructor. More...
 
 JTuple (typename JClass< T >::argument_type __first)
 Constructor. More...
 
JTuplenegate ()
 Negate tuple. More...
 
JTupleadd (const JTuple &tuple)
 Add tuple. More...
 
JTuplesub (const JTuple &tuple)
 Subtract tuple. More...
 
JTuplemul (const double factor)
 Scale tuple. More...
 
JTuplediv (const double factor)
 Scale tuple. More...
 
bool less (const JTuple &tuple) const
 Compare tuple. More...
 
void valueOf (va_list &ap)
 Initialise values. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 

Public Attributes

first
 

Friends

std::istream & operator>> (std::istream &in, JTuple &tuple)
 Read tuple from input. More...
 
std::ostream & operator<< (std::ostream &out, const JTuple &tuple)
 Write tuple to output. More...
 
JReaderoperator>> (JReader &in, JTuple &tuple)
 Read tuple from input. More...
 
JWriteroperator<< (JWriter &out, const JTuple &tuple)
 Write tuple to output. More...
 

Detailed Description

template<class T>
struct JTOOLS::JTuple< T >

Template data structure.

Definition at line 45 of file JTuple.hh.

Member Typedef Documentation

◆ typelist

template<class T>
typedef JTypeList<T> JTOOLS::JTuple< T >::typelist

Definition at line 50 of file JTuple.hh.

Constructor & Destructor Documentation

◆ JTuple() [1/2]

template<class T>
JTOOLS::JTuple< T >::JTuple ( )
inline

Default constructor.

Definition at line 55 of file JTuple.hh.

56  {}

◆ JTuple() [2/2]

template<class T>
JTOOLS::JTuple< T >::JTuple ( typename JClass< T >::argument_type  __first)
inline

Constructor.

Parameters
__firstfirst

Definition at line 64 of file JTuple.hh.

64  :
65  first(__first)
66  {}

Member Function Documentation

◆ negate()

template<class T>
JTuple& JTOOLS::JTuple< T >::negate ( )
inline

Negate tuple.

Returns
this tuple

Definition at line 74 of file JTuple.hh.

75  {
76  first = -first;
77 
78  return *this;
79  }

◆ add()

template<class T>
JTuple& JTOOLS::JTuple< T >::add ( const JTuple< T > &  tuple)
inline

Add tuple.

Parameters
tupletuple
Returns
this tuple

Definition at line 88 of file JTuple.hh.

89  {
90  first += tuple.first;
91 
92  return *this;
93  }

◆ sub()

template<class T>
JTuple& JTOOLS::JTuple< T >::sub ( const JTuple< T > &  tuple)
inline

Subtract tuple.

Parameters
tupletuple
Returns
this tuple

Definition at line 102 of file JTuple.hh.

103  {
104  first -= tuple.first;
105 
106  return *this;
107  }

◆ mul() [1/2]

template<class T>
JTuple& JTOOLS::JTuple< T >::mul ( const double  factor)
inline

Scale tuple.

Parameters
factormultiplication factor
Returns
this tuple

Definition at line 116 of file JTuple.hh.

117  {
118  first *= factor;
119 
120  return *this;
121  }

◆ div()

template<class T>
JTuple& JTOOLS::JTuple< T >::div ( const double  factor)
inline

Scale tuple.

Parameters
factordivision factor
Returns
this tuple

Definition at line 130 of file JTuple.hh.

131  {
132  first /= factor;
133 
134  return *this;
135  }

◆ less()

template<class T>
bool JTOOLS::JTuple< T >::less ( const JTuple< T > &  tuple) const
inline

Compare tuple.

Parameters
tupletuple
Returns
true if this tuple less than given tuple; else false

Definition at line 144 of file JTuple.hh.

145  {
146  return first < tuple.first;
147  }

◆ valueOf()

template<class T>
void JTOOLS::JTuple< T >::valueOf ( va_list &  ap)
inline

Initialise values.

Parameters
apargument list

Definition at line 155 of file JTuple.hh.

156  {
157  first = va_arg(ap, T);
158  }

◆ 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 273 of file JMath.hh.

274  {
275  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
276  }

Friends And Related Function Documentation

◆ operator>> [1/2]

template<class T>
std::istream& operator>> ( std::istream &  in,
JTuple< T > &  tuple 
)
friend

Read tuple from input.

Parameters
ininput stream
tupletuple
Returns
input stream

Definition at line 168 of file JTuple.hh.

169  {
170  return in >> tuple.first;
171  }

◆ operator<< [1/2]

template<class T>
std::ostream& operator<< ( std::ostream &  out,
const JTuple< T > &  tuple 
)
friend

Write tuple to output.

Parameters
outoutput stream
tupletuple
Returns
output stream

Definition at line 181 of file JTuple.hh.

182  {
183  return out << tuple.first;
184  }

◆ operator>> [2/2]

template<class T>
JReader& operator>> ( JReader in,
JTuple< T > &  tuple 
)
friend

Read tuple from input.

Parameters
inreader
tupletuple
Returns
reader

Definition at line 194 of file JTuple.hh.

195  {
196  return in >> tuple.first;
197  }

◆ operator<< [2/2]

template<class T>
JWriter& operator<< ( JWriter out,
const JTuple< T > &  tuple 
)
friend

Write tuple to output.

Parameters
outwriter
tupletuple
Returns
writer

Definition at line 207 of file JTuple.hh.

208  {
209  return out << tuple.first;
210  }

Member Data Documentation

◆ first

template<class T>
T JTOOLS::JTuple< T >::first

Definition at line 213 of file JTuple.hh.


The documentation for this struct was generated from the following file:
JTOOLS::JTuple::first
T first
Definition: JTuple.hh:213
JMATH::JCalculator
Auxiliary class for arithmetic operations on objects.
Definition: JCalculator.hh:18