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

4-tuple meta-key More...

#include <Key4Tuple.hh>

Public Types

typedef K1 Key1
 
typedef K2 Key2
 
typedef K3 Key3
 
typedef K4 Key4
 

Public Member Functions

 Key4Tuple ()=default
 Default constructor. More...
 
 Key4Tuple (Key1 const &key1_a, Key2 const &key2_a, Key3 const &key3_a, Key4 const &key4_a)
 Key constructor. More...
 
 ~Key4Tuple ()=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...
 
Key4 const & key4 () const
 Key 4. More...
 
Key4key4 ()
 Key 4. More...
 

Private Attributes

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

Friends

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

Detailed Description

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

4-tuple meta-key

Member Typedef Documentation

◆ Key1

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

◆ Key2

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

◆ Key3

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

◆ Key4

template<typename K1 , typename K2 , typename K3 , typename K4 >
typedef K4 utility::keys::Key4Tuple< K1, K2, K3, K4 >::Key4

Constructor & Destructor Documentation

◆ Key4Tuple() [1/2]

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

Default constructor.

Note
Only works if Keys have default constructors

◆ Key4Tuple() [2/2]

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

Key constructor.

◆ ~Key4Tuple()

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

Destructor.

Member Function Documentation

◆ key1() [1/2]

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

◆ key1() [2/2]

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

◆ key2() [1/2]

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

◆ key2() [2/2]

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

◆ key3() [1/2]

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

◆ key3() [2/2]

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

◆ key4() [1/2]

template<typename K1 , typename K2 , typename K3 , typename K4 >
Key4& utility::keys::Key4Tuple< K1, K2, K3, K4 >::key4 ( )
inline

◆ key4() [2/2]

template<typename K1 , typename K2 , typename K3 , typename K4 >
Key4 const& utility::keys::Key4Tuple< K1, K2, K3, K4 >::key4 ( ) const
inline

Friends And Related Function Documentation

◆ operator!=

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

◆ operator<

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

Key4Tuple < Key4Tuple.

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

◆ operator==

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

Member Data Documentation

◆ key1_

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

◆ key2_

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

◆ key3_

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

◆ key4_

template<typename K1 , typename K2 , typename K3 , typename K4 >
Key4 utility::keys::Key4Tuple< K1, K2, K3, K4 >::key4_
private

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