Rosetta  2019.07
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

typedefKey
 

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

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

Constructor & Destructor Documentation

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

Default constructor.

Note
Only works if Key has default constructor
template<typename K >
utility::keys::Key2Vector< K >::Key2Vector ( Key const &  key1_a,
Key const &  key2_a 
)
inline

Key constructor.

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

Destructor.

Member Function Documentation

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

Key2Vector( i ) const: 1-based index.

References debug_assert, utility::keys::Key2Vector< K >::key1_, and utility::keys::Key2Vector< K >::key2_.

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

Friends And Related Function Documentation

template<typename K >
bool operator!= ( Key2Vector< K > const &  a,
Key2Vector< K > const &  b 
)
friend
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
template<typename K >
bool operator== ( Key2Vector< K > const &  a,
Key2Vector< K > const &  b 
)
friend

Member Data Documentation

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

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