$darkmode
cloe::BimapBase2< Type1, Type2, CRTP > Class Template Reference

#include <bimap.hpp>

Inheritance diagram for cloe::BimapBase2< Type1, Type2, CRTP >:
Collaboration diagram for cloe::BimapBase2< Type1, Type2, CRTP >:

Public Types

typedef BimapBase1< Type1, Type2, CRTP > base
 
typedef base::bm_type bm_type
 
typedef base::type1 type1
 
typedef base::type2 type2
 
- Public Types inherited from cloe::BimapBase1< Type1, Type2, CRTP >
typedef Type1 type1
 
typedef Type2 type2
 
typedef boost::bimap< Type1, Type2 > bm_type
 

Static Public Member Functions

static auto beginImpl (const Type1 *=nullptr) -> decltype(base::beginLeft())
 Implementation of begin() for the left-map.
 
static auto beginImpl (const Type2 *=nullptr) -> decltype(base::beginRight())
 Implementation of begin() for the right-map.
 
template<typename T >
static auto begin () -> decltype(beginImpl((T *) nullptr))
 Derivate of map::begin()
 
static auto endImpl (const Type1 *=nullptr) -> decltype(base::endLeft())
 Implementation of end() for the left-map.
 
static auto endImpl (const Type2 *=nullptr) -> decltype(base::endRight())
 Implementation of end() for the right-map.
 
template<typename T >
static auto end () -> decltype(endImpl((T *) nullptr))
 map::end()
 
static auto findImpl (const type1 &item) -> decltype(base::findLeft(item))
 Implementation of find() for left-map.
 
static auto findImpl (const type2 &item) -> decltype(base::findRight(item))
 Implementation of find() for right-map.
 
template<typename T >
static auto find (const T &item) -> decltype(findImpl(item))
 map::find()
 
- Static Public Member Functions inherited from cloe::BimapBase1< Type1, Type2, CRTP >
static const bm_type::left_map & left ()
 
static const bm_type::right_map & right ()
 
static bm_type::left_const_iterator beginLeft ()
 
static bm_type::left_const_iterator endLeft ()
 
static bm_type::left_const_iterator findLeft (const type1 &rhs)
 
static bm_type::right_const_iterator beginRight ()
 
static bm_type::right_const_iterator endRight ()
 
static bm_type::right_const_iterator findRight (const type2 &rhs)
 

Detailed Description

template<typename Type1, typename Type2, typename CRTP>
class cloe::BimapBase2< Type1, Type2, CRTP >

BimapBase class for two-distinct types, which will get derived further Remarks: The methods defined by this class are not possible for a pair of identical template-arguments Therefore

  • a partial template specialization of this class exists
  • are BimapBase1 & BimapBase2 split into two classes

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