Rosetta
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
utility::keys::Key2Vector< K > Class Template Reference

2-key meta-key More...

#include <Key2Vector.hh>

Public Types

typedef K Key
 

Public Member Functions

 Key2Vector ()=default
 Default constructor. More...
 
 Key2Vector (Key const &key1_a, Key const &key2_a)
 Key constructor. More...
 
 ~Key2Vector ()=default
 Destructor. More...
 
Key const & key1 () const
 Key 1. More...
 
Keykey1 ()
 Key 1. More...
 
Key const & key2 () const
 Key 2. More...
 
Keykey2 ()
 Key 2. More...
 
Key const & operator[] (int const i) const
 Key2Vector[ i ] const: 0-based index. More...
 
Keyoperator[] (int const i)
 Key2Vector[ i ]: 0-based index. More...
 
Key const & operator() (int const i) const
 Key2Vector( i ) const: 1-based index. More...
 
Keyoperator() (int const i)
 Key2Vector( i ): 1-based index. More...
 

Private Attributes

Key key1_
 Keys. More...
 
Key key2_
 

Friends

bool operator== (Key2Vector const &a, Key2Vector const &b)
 Key2Vector == Key2Vector. More...
 
bool operator!= (Key2Vector const &a, Key2Vector const &b)
 Key2Vector != Key2Vector. More...
 
bool operator< (Key2Vector const &a, Key2Vector const &b)
 Key2Vector < Key2Vector. More...
 

Detailed Description

template<typename K>
class utility::keys::Key2Vector< K >

2-key meta-key

Member Typedef Documentation

◆ Key

template<typename K >
typedef K utility::keys::Key2Vector< K >::Key

Constructor & Destructor Documentation

◆ Key2Vector() [1/2]

template<typename K >
utility::keys::Key2Vector< K >::Key2Vector ( )
inlinedefault

Default constructor.

Note
Only works if Key has default constructor

◆ Key2Vector() [2/2]

template<typename K >
utility::keys::Key2Vector< K >::Key2Vector ( Key const &  key1_a,
Key const &  key2_a 
)
inline

Key constructor.

◆ ~Key2Vector()

template<typename K >
utility::keys::Key2Vector< K >::~Key2Vector ( )
inlinedefault

Destructor.

Member Function Documentation

◆ key1() [1/2]

template<typename K >
Key& utility::keys::Key2Vector< K >::key1 ( )
inline

◆ key1() [2/2]

template<typename K >
Key const& utility::keys::Key2Vector< K >::key1 ( ) const
inline

◆ key2() [1/2]

template<typename K >
Key& utility::keys::Key2Vector< K >::key2 ( )
inline

◆ key2() [2/2]

template<typename K >
Key const& utility::keys::Key2Vector< K >::key2 ( ) const
inline

◆ operator()() [1/2]

template<typename K >
Key& utility::keys::Key2Vector< K >::operator() ( int const  i)
inline

◆ operator()() [2/2]

template<typename K >
Key const& utility::keys::Key2Vector< K >::operator() ( int const  i) const
inline

◆ operator[]() [1/2]

template<typename K >
Key& utility::keys::Key2Vector< K >::operator[] ( int const  i)
inline

◆ operator[]() [2/2]

template<typename K >
Key const& utility::keys::Key2Vector< K >::operator[] ( int const  i) const
inline

Friends And Related Function Documentation

◆ operator!=

template<typename K >
bool operator!= ( Key2Vector< K > const &  a,
Key2Vector< K > const &  b 
)
friend

◆ operator<

template<typename K >
bool operator< ( Key2Vector< K > const &  a,
Key2Vector< K > const &  b 
)
friend

Key2Vector < Key2Vector.

Note
Lexicographic (full) ordering => Key2Vector is suitable for use as a map key or set element

◆ operator==

template<typename K >
bool operator== ( Key2Vector< K > const &  a,
Key2Vector< K > const &  b 
)
friend

Member Data Documentation

◆ key1_

template<typename K >
Key utility::keys::Key2Vector< K >::key1_
private

◆ key2_

template<typename K >
Key utility::keys::Key2Vector< K >::key2_
private

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