Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
JTOOLS::JMultiKey< 1, JKey_t > Class Template Reference

One-dimensional key. More...

#include <JMultiKey.hh>

Inheritance diagram for JTOOLS::JMultiKey< 1, JKey_t >:
JLANG::JComparable< JMultiKey< 1, JKey_t > >

Public Types

typedef JKey_t key_type
 
typedef JMultiKey< 0, JKey_t > mapped_type
 

Public Member Functions

 JMultiKey ()
 Default constructor. More...
 
 JMultiKey (typename JClass< mapped_type >::argument_type __first, typename JClass< key_type >::argument_type __second)
 Constructor. More...
 
 JMultiKey (typename JClass< key_type >::argument_type __first, typename JClass< mapped_type >::argument_type __second)
 Constructor. More...
 
 JMultiKey (typename JClass< key_type >::argument_type __first)
 Constructor. More...
 
 JMultiKey (typename JArgument< 1, JKey_t >::argument_type key)
 Copy constructor. More...
 
bool less (const JMultiKey< 1, JKey_t > &key) const
 Less than method. More...
 
double getLengthSquared () const
 Get length squared. More...
 
double getLength () const
 Get length. More...
 
key_type back () const
 Get backend key. More...
 

Public Attributes

key_type first
 

Friends

std::istream & operator>> (std::istream &in, JMultiKey< 1, JKey_t > &key)
 Read key from input. More...
 
std::ostream & operator<< (std::ostream &out, const JMultiKey< 1, JKey_t > &key)
 Write key to output. More...
 

Detailed Description

template<class JKey_t>
class JTOOLS::JMultiKey< 1, JKey_t >

One-dimensional key.

Definition at line 365 of file JMultiKey.hh.

Member Typedef Documentation

template<class JKey_t >
typedef JKey_t JTOOLS::JMultiKey< 1, JKey_t >::key_type

Definition at line 370 of file JMultiKey.hh.

template<class JKey_t >
typedef JMultiKey<0, JKey_t> JTOOLS::JMultiKey< 1, JKey_t >::mapped_type

Definition at line 371 of file JMultiKey.hh.

Constructor & Destructor Documentation

template<class JKey_t >
JTOOLS::JMultiKey< 1, JKey_t >::JMultiKey ( )
inline

Default constructor.

Definition at line 377 of file JMultiKey.hh.

377  :
378  first()
379  {}
template<class JKey_t >
JTOOLS::JMultiKey< 1, JKey_t >::JMultiKey ( typename JClass< mapped_type >::argument_type  __first,
typename JClass< key_type >::argument_type  __second 
)
inline

Constructor.

The secondary key is appended to the end of the primary key.

Parameters
__firstprimary key
__secondsecondary key

Definition at line 389 of file JMultiKey.hh.

390  :
391  first(__second)
392  {}
template<class JKey_t >
JTOOLS::JMultiKey< 1, JKey_t >::JMultiKey ( typename JClass< key_type >::argument_type  __first,
typename JClass< mapped_type >::argument_type  __second 
)
inline

Constructor.

The primary key is inserted at the start of the secondary key.

Parameters
__firstprimary key
__secondsecondary key

Definition at line 402 of file JMultiKey.hh.

403  :
404  first(__first)
405  {}
template<class JKey_t >
JTOOLS::JMultiKey< 1, JKey_t >::JMultiKey ( typename JClass< key_type >::argument_type  __first)
inline

Constructor.

Parameters
__firstkey

Definition at line 413 of file JMultiKey.hh.

413  :
414  first(__first)
415  {}
template<class JKey_t >
JTOOLS::JMultiKey< 1, JKey_t >::JMultiKey ( typename JArgument< 1, JKey_t >::argument_type  key)
inline

Copy constructor.

Parameters
keykey

Definition at line 423 of file JMultiKey.hh.

423  :
424  first(key.first)
425  {}

Member Function Documentation

template<class JKey_t >
bool JTOOLS::JMultiKey< 1, JKey_t >::less ( const JMultiKey< 1, JKey_t > &  key) const
inline

Less than method.

Parameters
keykey
Returns
true if this key less than given key; else false

Definition at line 434 of file JMultiKey.hh.

435  {
436  return this->first < key.first;
437  }
template<class JKey_t >
double JTOOLS::JMultiKey< 1, JKey_t >::getLengthSquared ( ) const
inline

Get length squared.

Returns
square of length

Definition at line 445 of file JMultiKey.hh.

446  {
447  return this->first*this->first;
448  }
template<class JKey_t >
double JTOOLS::JMultiKey< 1, JKey_t >::getLength ( ) const
inline

Get length.

Returns
length

Definition at line 456 of file JMultiKey.hh.

457  {
458  return sqrt(this->getLengthSquared());
459  }
double getLengthSquared() const
Get length squared.
Definition: JMultiKey.hh:445
template<class JKey_t >
key_type JTOOLS::JMultiKey< 1, JKey_t >::back ( ) const
inline

Get backend key.

Returns
backend key

Definition at line 467 of file JMultiKey.hh.

468  {
469  return this->first;
470  }

Friends And Related Function Documentation

template<class JKey_t >
std::istream& operator>> ( std::istream &  in,
JMultiKey< 1, JKey_t > &  key 
)
friend

Read key from input.

Parameters
ininput stream
keykey
Returns
input stream

Definition at line 480 of file JMultiKey.hh.

481  {
482  in >> key.first;
483 
484  return in;
485  }
template<class JKey_t >
std::ostream& operator<< ( std::ostream &  out,
const JMultiKey< 1, JKey_t > &  key 
)
friend

Write key to output.

Parameters
outoutput stream
keykey
Returns
output stream

Definition at line 495 of file JMultiKey.hh.

496  {
497  out << key.first;
498 
499  return out;
500  }

Member Data Documentation

template<class JKey_t >
key_type JTOOLS::JMultiKey< 1, JKey_t >::first

Definition at line 503 of file JMultiKey.hh.


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