Rosetta
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
utility::keys::Key3Tuple< K1, K2, K3 > Class Template Reference

3-tuple meta-key More...

#include <Key3Tuple.hh>

Public Types

typedef K1 Key1
 
typedef K2 Key2
 
typedef K3 Key3
 

Public Member Functions

 Key3Tuple ()=default
 Default constructor. More...
 
 Key3Tuple (Key1 const &key1_a, Key2 const &key2_a, Key3 const &key3_a)
 Key constructor. More...
 
 ~Key3Tuple ()=default
 Destructor. More...
 
Key1 const & key1 () const
 Key 1. More...
 
Key1key1 ()
 Key 1. More...
 
Key2 const & key2 () const
 Key 2. More...
 
Key2key2 ()
 Key 2. More...
 
Key3 const & key3 () const
 Key 3. More...
 
Key3key3 ()
 Key 3. More...
 

Private Attributes

Key1 key1_
 Keys. More...
 
Key2 key2_
 
Key3 key3_
 

Friends

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

Detailed Description

template<typename K1, typename K2, typename K3>
class utility::keys::Key3Tuple< K1, K2, K3 >

3-tuple meta-key

Member Typedef Documentation

◆ Key1

template<typename K1 , typename K2 , typename K3 >
typedef K1 utility::keys::Key3Tuple< K1, K2, K3 >::Key1

◆ Key2

template<typename K1 , typename K2 , typename K3 >
typedef K2 utility::keys::Key3Tuple< K1, K2, K3 >::Key2

◆ Key3

template<typename K1 , typename K2 , typename K3 >
typedef K3 utility::keys::Key3Tuple< K1, K2, K3 >::Key3

Constructor & Destructor Documentation

◆ Key3Tuple() [1/2]

template<typename K1 , typename K2 , typename K3 >
utility::keys::Key3Tuple< K1, K2, K3 >::Key3Tuple ( )
inlinedefault

Default constructor.

Note
Only works if Keys have default constructors

◆ Key3Tuple() [2/2]

template<typename K1 , typename K2 , typename K3 >
utility::keys::Key3Tuple< K1, K2, K3 >::Key3Tuple ( Key1 const &  key1_a,
Key2 const &  key2_a,
Key3 const &  key3_a 
)
inline

Key constructor.

◆ ~Key3Tuple()

template<typename K1 , typename K2 , typename K3 >
utility::keys::Key3Tuple< K1, K2, K3 >::~Key3Tuple ( )
inlinedefault

Destructor.

Member Function Documentation

◆ key1() [1/2]

template<typename K1 , typename K2 , typename K3 >
Key1& utility::keys::Key3Tuple< K1, K2, K3 >::key1 ( )
inline

◆ key1() [2/2]

template<typename K1 , typename K2 , typename K3 >
Key1 const& utility::keys::Key3Tuple< K1, K2, K3 >::key1 ( ) const
inline

◆ key2() [1/2]

template<typename K1 , typename K2 , typename K3 >
Key2& utility::keys::Key3Tuple< K1, K2, K3 >::key2 ( )
inline

◆ key2() [2/2]

template<typename K1 , typename K2 , typename K3 >
Key2 const& utility::keys::Key3Tuple< K1, K2, K3 >::key2 ( ) const
inline

◆ key3() [1/2]

template<typename K1 , typename K2 , typename K3 >
Key3& utility::keys::Key3Tuple< K1, K2, K3 >::key3 ( )
inline

◆ key3() [2/2]

template<typename K1 , typename K2 , typename K3 >
Key3 const& utility::keys::Key3Tuple< K1, K2, K3 >::key3 ( ) const
inline

Friends And Related Function Documentation

◆ operator!=

template<typename K1 , typename K2 , typename K3 >
bool operator!= ( Key3Tuple< K1, K2, K3 > const &  a,
Key3Tuple< K1, K2, K3 > const &  b 
)
friend

◆ operator<

template<typename K1 , typename K2 , typename K3 >
bool operator< ( Key3Tuple< K1, K2, K3 > const &  a,
Key3Tuple< K1, K2, K3 > const &  b 
)
friend

Key3Tuple < Key3Tuple.

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

◆ operator==

template<typename K1 , typename K2 , typename K3 >
bool operator== ( Key3Tuple< K1, K2, K3 > const &  a,
Key3Tuple< K1, K2, K3 > const &  b 
)
friend

Member Data Documentation

◆ key1_

template<typename K1 , typename K2 , typename K3 >
Key1 utility::keys::Key3Tuple< K1, K2, K3 >::key1_
private

◆ key2_

template<typename K1 , typename K2 , typename K3 >
Key2 utility::keys::Key3Tuple< K1, K2, K3 >::key2_
private

◆ key3_

template<typename K1 , typename K2 , typename K3 >
Key3 utility::keys::Key3Tuple< K1, K2, K3 >::key3_
private

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