Abstract registry (aka repository) that provides basic interface for pointer repository specified by T_Ptr type.
More...
|
|
| AbstractRegistry (void) |
| | Default constructor.
|
| |
|
| AbstractRegistry (AbstractRegistry &&sr) |
| | Move constructor that is useful for base classes.
|
| |
|
bool | operator== (const AbstractRegistry< T_Ptr, Container > &other) |
| |
|
bool | operator!= (const AbstractRegistry< T_Ptr, Container > &other) |
| |
|
AbstractRegistry & | operator= (AbstractRegistry &&sr) |
| | Assignment move operator.
|
| |
| virtual iterator | begin (void) ELPP_FINAL |
| |
| virtual iterator | end (void) ELPP_FINAL |
| |
| virtual const_iterator | cbegin (void) const ELPP_FINAL |
| |
| virtual const_iterator | cend (void) const ELPP_FINAL |
| |
| virtual bool | empty (void) const ELPP_FINAL |
| |
| virtual std::size_t | size (void) const ELPP_FINAL |
| |
|
virtual Container & | list (void) ELPP_FINAL |
| | Returns underlying container by reference.
|
| |
|
virtual const Container & | list (void) const ELPP_FINAL |
| | Returns underlying container by constant reference.
|
| |
|
virtual void | unregisterAll (void)=0 |
| | Unregisters all the pointers from current repository.
|
| |
|
virtual void | acquireLock (void) ELPP_FINAL |
| |
|
virtual void | releaseLock (void) ELPP_FINAL |
| |
|
virtual base::threading::Mutex & | lock (void) ELPP_FINAL |
| |
template<typename T_Ptr, typename Container>
class el::base::utils::AbstractRegistry< T_Ptr, Container >
Abstract registry (aka repository) that provides basic interface for pointer repository specified by T_Ptr type.
Most of the functions are virtual final methods but anything implementing this abstract class should implement unregisterAll() and deepCopy(const AbstractRegistry<T_Ptr, Container>&) and write registerNew() method according to container and few more methods; get() to find element, unregister() to unregister single entry. Please note that this is thread-unsafe and should also implement thread-safety mechanisms in implementation.