Scroom  0.14
Scroom::Bookkeeping::Detail::MapTokenImpl< K, V > Class Template Reference

#include <bookkeepingimpl.hh>

Inheritance diagram for Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >:
Inheritance graph
Collaboration diagram for Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >:
Collaboration graph

Public Types

using Ptr = boost::shared_ptr< MapTokenImpl< K, V > >
 
- Public Types inherited from Scroom::Bookkeeping::Detail::TokenImpl
using Ptr = boost::shared_ptr< TokenImpl >
 

Public Member Functions

 ~MapTokenImpl ()
 
- Public Member Functions inherited from Scroom::Bookkeeping::Detail::TokenImpl
void add (const Stuff &s)
 
void add (const StuffList &l_)
 
void merge (StuffList &l_)
 
void merge (Ptr &rhs)
 

Static Public Member Functions

static Scroom::Bookkeeping::Token create (boost::shared_ptr< Scroom::Bookkeeping::MapBase< K, V >> map, const K &k)
 
- Static Public Member Functions inherited from Scroom::Bookkeeping::Detail::TokenImpl
static Scroom::Bookkeeping::Token create ()
 

Protected Member Functions

 MapTokenImpl (boost::shared_ptr< Scroom::Bookkeeping::MapBase< K, V >> map_, K k_)
 
 MapTokenImpl (const MapTokenImpl &)=delete
 
 MapTokenImpl (MapTokenImpl &&)=delete
 
MapTokenImpl operator= (const MapTokenImpl &)=delete
 
MapTokenImpl operator= (MapTokenImpl &&)=delete
 
- Protected Member Functions inherited from Scroom::Bookkeeping::Detail::TokenImpl
 TokenImpl ()=default
 

Private Attributes

boost::weak_ptr< Scroom::Bookkeeping::MapBase< K, V > > map
 
WeakToken t
 
k
 

Member Typedef Documentation

◆ Ptr

template<typename K , typename V >
using Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >::Ptr = boost::shared_ptr<MapTokenImpl<K, V> >

Constructor & Destructor Documentation

◆ MapTokenImpl() [1/3]

template<typename K , typename V >
Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >::MapTokenImpl ( boost::shared_ptr< Scroom::Bookkeeping::MapBase< K, V >>  map_,
k_ 
)
inlineprotected
87  : map(map_)
88  , k(std::move(k_))
89  {
90  }

◆ MapTokenImpl() [2/3]

template<typename K , typename V >
Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >::MapTokenImpl ( const MapTokenImpl< K, V > &  )
protecteddelete

◆ MapTokenImpl() [3/3]

template<typename K , typename V >
Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >::MapTokenImpl ( MapTokenImpl< K, V > &&  )
protecteddelete

◆ ~MapTokenImpl()

template<typename K , typename V >
Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >::~MapTokenImpl ( )
inline
99  {
100  boost::shared_ptr<Scroom::Bookkeeping::MapBase<K, V>> const m = map.lock();
101  if(m)
102  {
103  m->remove(k, t);
104  }
105  }

Member Function Documentation

◆ create()

template<typename K , typename V >
static Scroom::Bookkeeping::Token Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >::create ( boost::shared_ptr< Scroom::Bookkeeping::MapBase< K, V >>  map,
const K &  k 
)
inlinestatic
109  {
110  Ptr const t = Ptr(new MapTokenImpl<K, V>(map, k));
111  t->t = t;
113  }

◆ operator=() [1/2]

template<typename K , typename V >
MapTokenImpl Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >::operator= ( const MapTokenImpl< K, V > &  )
protecteddelete

◆ operator=() [2/2]

template<typename K , typename V >
MapTokenImpl Scroom::Bookkeeping::Detail::MapTokenImpl< K, V >::operator= ( MapTokenImpl< K, V > &&  )
protecteddelete

Member Data Documentation

◆ k

◆ map

◆ t


The documentation for this class was generated from the following file:
Scroom::Bookkeeping::Detail::TokenImpl::Ptr
boost::shared_ptr< TokenImpl > Ptr
Definition: bookkeepingimpl.hh:53
Scroom::Bookkeeping::Detail::MapTokenImpl::map
boost::weak_ptr< Scroom::Bookkeeping::MapBase< K, V > > map
Definition: bookkeepingimpl.hh:81
Scroom::Bookkeeping::Detail::MapTokenImpl::t
WeakToken t
Definition: bookkeepingimpl.hh:82
Scroom::Bookkeeping::Token
Definition: bookkeeping.hh:37
Scroom::Bookkeeping::Detail::MapTokenImpl::k
K k
Definition: bookkeepingimpl.hh:83
Scroom::Bookkeeping::Detail::MapTokenImpl::Ptr
boost::shared_ptr< MapTokenImpl< K, V > > Ptr
Definition: bookkeepingimpl.hh:78