Abstract registry (aka repository) that provides basic interface for pointer repository specified by T_Ptr type. More...
#include <easylogging++.h>
Public Types | |
typedef Container::const_iterator | const_iterator |
typedef Container::iterator | iterator |
Public Member Functions | |
AbstractRegistry (void) | |
Default constructor. More... | |
AbstractRegistry (AbstractRegistry &&sr) | |
Move constructor that is useful for base classes. More... | |
virtual iterator | begin (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 iterator | end (void) ELPP_FINAL |
virtual Container & | list (void) ELPP_FINAL |
Returns underlying container by reference. More... | |
virtual const Container & | list (void) const ELPP_FINAL |
Returns underlying container by constant reference. More... | |
bool | operator!= (const AbstractRegistry< T_Ptr, Container > &other) |
AbstractRegistry & | operator= (AbstractRegistry &&sr) |
Assignment move operator. More... | |
bool | operator== (const AbstractRegistry< T_Ptr, Container > &other) |
virtual std::size_t | size (void) const ELPP_FINAL |
virtual void | unregisterAll (void)=0 |
Unregisters all the pointers from current repository. More... | |
virtual | ~AbstractRegistry (void) |
Public Member Functions inherited from el::base::threading::ThreadSafe | |
virtual void | acquireLock (void) ELPP_FINAL |
virtual base::threading::Mutex & | lock (void) ELPP_FINAL |
virtual void | releaseLock (void) ELPP_FINAL |
Protected Member Functions | |
virtual void | deepCopy (const AbstractRegistry< T_Ptr, Container > &)=0 |
void | reinitDeepCopy (const AbstractRegistry< T_Ptr, Container > &sr) |
Protected Member Functions inherited from el::base::threading::ThreadSafe | |
ThreadSafe (void) | |
virtual | ~ThreadSafe (void) |
Private Attributes | |
Container | m_list |
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.
Definition at line 1248 of file easylogging++.h.
typedef Container::const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::const_iterator |
Definition at line 1251 of file easylogging++.h.
typedef Container::iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::iterator |
Definition at line 1250 of file easylogging++.h.
|
inline |
Default constructor.
Definition at line 1254 of file easylogging++.h.
|
inline |
Move constructor that is useful for base classes.
Definition at line 1257 of file easylogging++.h.
|
inlinevirtual |
Definition at line 1299 of file easylogging++.h.
|
inlinevirtual |
Definition at line 1303 of file easylogging++.h.
|
inlinevirtual |
Definition at line 1314 of file easylogging++.h.
|
inlinevirtual |
Definition at line 1319 of file easylogging++.h.
|
protectedpure virtual |
|
inlinevirtual |
Definition at line 1324 of file easylogging++.h.
|
inlinevirtual |
Definition at line 1308 of file easylogging++.h.
|
inlinevirtual |
Returns underlying container by reference.
Definition at line 1334 of file easylogging++.h.
|
inlinevirtual |
Returns underlying container by constant reference.
Definition at line 1339 of file easylogging++.h.
|
inline |
Definition at line 1277 of file easylogging++.h.
|
inline |
Assignment move operator.
Definition at line 1290 of file easylogging++.h.
|
inline |
Definition at line 1265 of file easylogging++.h.
|
inlineprotected |
Definition at line 1348 of file easylogging++.h.
|
inlinevirtual |
Definition at line 1329 of file easylogging++.h.
|
pure virtual |
Unregisters all the pointers from current repository.
Implemented in el::base::utils::RegistryWithPred< T_Ptr, Pred >, el::base::utils::RegistryWithPred< Configuration, Configuration::Predicate >, el::base::utils::RegistryWithPred< base::HitCounter, base::HitCounter::Predicate >, el::base::utils::Registry< T_Ptr, T_Key >, and el::base::utils::Registry< Logger, std::string >.
|
private |
Definition at line 1354 of file easylogging++.h.