ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | List of all members
el::base::utils::AbstractRegistry< T_Ptr, Container > Class Template Referenceabstract

Abstract registry (aka repository) that provides basic interface for pointer repository specified by T_Ptr type. More...

#include <easylogging++.h>

Inheritance diagram for el::base::utils::AbstractRegistry< T_Ptr, Container >:
el::base::threading::ThreadSafe el::base::threading::ThreadSafe el::base::threading::ThreadSafe

Public Types

typedef Container::iterator iterator
 
typedef Container::const_iterator const_iterator
 
typedef Container::iterator iterator
 
typedef Container::const_iterator const_iterator
 
typedef Container::iterator iterator
 
typedef Container::const_iterator const_iterator
 

Public Member Functions

 AbstractRegistry (void)
 Default constructor. More...
 
 AbstractRegistry (AbstractRegistry &&sr)
 Move constructor that is useful for base classes. More...
 
bool operator== (const AbstractRegistry< T_Ptr, Container > &other)
 
bool operator!= (const AbstractRegistry< T_Ptr, Container > &other)
 
AbstractRegistryoperator= (AbstractRegistry &&sr)
 Assignment move operator. More...
 
virtual ~AbstractRegistry (void)
 
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. More...
 
virtual const Container & list (void) const ELPP_FINAL
 Returns underlying container by constant reference. More...
 
virtual void unregisterAll (void)=0
 Unregisters all the pointers from current repository. More...
 
 AbstractRegistry (void)
 Default constructor. More...
 
 AbstractRegistry (AbstractRegistry &&sr)
 Move constructor that is useful for base classes. More...
 
bool operator== (const AbstractRegistry< T_Ptr, Container > &other)
 
bool operator!= (const AbstractRegistry< T_Ptr, Container > &other)
 
AbstractRegistryoperator= (AbstractRegistry &&sr)
 Assignment move operator. More...
 
virtual ~AbstractRegistry (void)
 
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. More...
 
virtual const Container & list (void) const ELPP_FINAL
 Returns underlying container by constant reference. More...
 
virtual void unregisterAll (void)=0
 Unregisters all the pointers from current repository. More...
 
 AbstractRegistry (void)
 Default constructor. More...
 
 AbstractRegistry (AbstractRegistry &&sr)
 Move constructor that is useful for base classes. More...
 
bool operator== (const AbstractRegistry< T_Ptr, Container > &other)
 
bool operator!= (const AbstractRegistry< T_Ptr, Container > &other)
 
AbstractRegistryoperator= (AbstractRegistry &&sr)
 Assignment move operator. More...
 
virtual ~AbstractRegistry (void)
 
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. More...
 
virtual const Container & list (void) const ELPP_FINAL
 Returns underlying container by constant reference. More...
 
virtual void unregisterAll (void)=0
 Unregisters all the pointers from current repository. More...
 
- Public Member Functions inherited from el::base::threading::ThreadSafe
virtual void acquireLock (void) ELPP_FINAL
 
virtual void releaseLock (void) ELPP_FINAL
 
virtual base::threading::Mutexlock (void) ELPP_FINAL
 
virtual void acquireLock (void) ELPP_FINAL
 
virtual void releaseLock (void) ELPP_FINAL
 
virtual base::threading::Mutexlock (void) ELPP_FINAL
 
virtual void acquireLock (void) ELPP_FINAL
 
virtual void releaseLock (void) ELPP_FINAL
 
virtual base::threading::Mutexlock (void) ELPP_FINAL
 

Protected Member Functions

virtual void deepCopy (const AbstractRegistry< T_Ptr, Container > &)=0
 
void reinitDeepCopy (const AbstractRegistry< T_Ptr, Container > &sr)
 
virtual void deepCopy (const AbstractRegistry< T_Ptr, Container > &)=0
 
void reinitDeepCopy (const AbstractRegistry< T_Ptr, Container > &sr)
 
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)
 
 ThreadSafe (void)
 
virtual ~ThreadSafe (void)
 
 ThreadSafe (void)
 
virtual ~ThreadSafe (void)
 

Detailed Description

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.

Member Typedef Documentation

template<typename T_Ptr, typename Container>
typedef Container::const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::const_iterator
template<typename T_Ptr, typename Container>
typedef Container::const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::const_iterator
template<typename T_Ptr, typename Container>
typedef Container::const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::const_iterator
template<typename T_Ptr, typename Container>
typedef Container::iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::iterator
template<typename T_Ptr, typename Container>
typedef Container::iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::iterator
template<typename T_Ptr, typename Container>
typedef Container::iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::iterator

Constructor & Destructor Documentation

template<typename T_Ptr, typename Container>
el::base::utils::AbstractRegistry< T_Ptr, Container >::AbstractRegistry ( void  )
inline

Default constructor.

template<typename T_Ptr, typename Container>
el::base::utils::AbstractRegistry< T_Ptr, Container >::AbstractRegistry ( AbstractRegistry< T_Ptr, Container > &&  sr)
inline

Move constructor that is useful for base classes.

template<typename T_Ptr, typename Container>
virtual el::base::utils::AbstractRegistry< T_Ptr, Container >::~AbstractRegistry ( void  )
inlinevirtual
template<typename T_Ptr, typename Container>
el::base::utils::AbstractRegistry< T_Ptr, Container >::AbstractRegistry ( void  )
inline

Default constructor.

template<typename T_Ptr, typename Container>
el::base::utils::AbstractRegistry< T_Ptr, Container >::AbstractRegistry ( AbstractRegistry< T_Ptr, Container > &&  sr)
inline

Move constructor that is useful for base classes.

template<typename T_Ptr, typename Container>
virtual el::base::utils::AbstractRegistry< T_Ptr, Container >::~AbstractRegistry ( void  )
inlinevirtual
template<typename T_Ptr, typename Container>
el::base::utils::AbstractRegistry< T_Ptr, Container >::AbstractRegistry ( void  )
inline

Default constructor.

template<typename T_Ptr, typename Container>
el::base::utils::AbstractRegistry< T_Ptr, Container >::AbstractRegistry ( AbstractRegistry< T_Ptr, Container > &&  sr)
inline

Move constructor that is useful for base classes.

template<typename T_Ptr, typename Container>
virtual el::base::utils::AbstractRegistry< T_Ptr, Container >::~AbstractRegistry ( void  )
inlinevirtual

Member Function Documentation

template<typename T_Ptr, typename Container>
virtual iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::begin ( void  )
inlinevirtual
Returns
Iterator pointer from start of repository
template<typename T_Ptr, typename Container>
virtual iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::begin ( void  )
inlinevirtual
Returns
Iterator pointer from start of repository
template<typename T_Ptr, typename Container>
virtual iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::begin ( void  )
inlinevirtual
Returns
Iterator pointer from start of repository
template<typename T_Ptr, typename Container>
virtual const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::cbegin ( void  ) const
inlinevirtual
Returns
Constant iterator pointer from start of repository
template<typename T_Ptr, typename Container>
virtual const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::cbegin ( void  ) const
inlinevirtual
Returns
Constant iterator pointer from start of repository
template<typename T_Ptr, typename Container>
virtual const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::cbegin ( void  ) const
inlinevirtual
Returns
Constant iterator pointer from start of repository
template<typename T_Ptr, typename Container>
virtual const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::cend ( void  ) const
inlinevirtual
Returns
End of repository
template<typename T_Ptr, typename Container>
virtual const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::cend ( void  ) const
inlinevirtual
Returns
End of repository
template<typename T_Ptr, typename Container>
virtual const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::cend ( void  ) const
inlinevirtual
Returns
End of repository
template<typename T_Ptr, typename Container>
virtual void el::base::utils::AbstractRegistry< T_Ptr, Container >::deepCopy ( const AbstractRegistry< T_Ptr, Container > &  )
protectedpure virtual
template<typename T_Ptr, typename Container>
virtual void el::base::utils::AbstractRegistry< T_Ptr, Container >::deepCopy ( const AbstractRegistry< T_Ptr, Container > &  )
protectedpure virtual
template<typename T_Ptr, typename Container>
virtual void el::base::utils::AbstractRegistry< T_Ptr, Container >::deepCopy ( const AbstractRegistry< T_Ptr, Container > &  )
protectedpure virtual
template<typename T_Ptr, typename Container>
virtual bool el::base::utils::AbstractRegistry< T_Ptr, Container >::empty ( void  ) const
inlinevirtual
Returns
Whether or not repository is empty
template<typename T_Ptr, typename Container>
virtual bool el::base::utils::AbstractRegistry< T_Ptr, Container >::empty ( void  ) const
inlinevirtual
Returns
Whether or not repository is empty
template<typename T_Ptr, typename Container>
virtual bool el::base::utils::AbstractRegistry< T_Ptr, Container >::empty ( void  ) const
inlinevirtual
Returns
Whether or not repository is empty
template<typename T_Ptr, typename Container>
virtual iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::end ( void  )
inlinevirtual
Returns
Iterator pointer from end of repository
template<typename T_Ptr, typename Container>
virtual iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::end ( void  )
inlinevirtual
Returns
Iterator pointer from end of repository
template<typename T_Ptr, typename Container>
virtual iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::end ( void  )
inlinevirtual
Returns
Iterator pointer from end of repository
template<typename T_Ptr, typename Container>
virtual Container& el::base::utils::AbstractRegistry< T_Ptr, Container >::list ( void  )
inlinevirtual

Returns underlying container by reference.

template<typename T_Ptr, typename Container>
virtual Container& el::base::utils::AbstractRegistry< T_Ptr, Container >::list ( void  )
inlinevirtual

Returns underlying container by reference.

template<typename T_Ptr, typename Container>
virtual Container& el::base::utils::AbstractRegistry< T_Ptr, Container >::list ( void  )
inlinevirtual

Returns underlying container by reference.

template<typename T_Ptr, typename Container>
virtual const Container& el::base::utils::AbstractRegistry< T_Ptr, Container >::list ( void  ) const
inlinevirtual

Returns underlying container by constant reference.

template<typename T_Ptr, typename Container>
virtual const Container& el::base::utils::AbstractRegistry< T_Ptr, Container >::list ( void  ) const
inlinevirtual

Returns underlying container by constant reference.

template<typename T_Ptr, typename Container>
virtual const Container& el::base::utils::AbstractRegistry< T_Ptr, Container >::list ( void  ) const
inlinevirtual

Returns underlying container by constant reference.

template<typename T_Ptr, typename Container>
bool el::base::utils::AbstractRegistry< T_Ptr, Container >::operator!= ( const AbstractRegistry< T_Ptr, Container > &  other)
inline
template<typename T_Ptr, typename Container>
bool el::base::utils::AbstractRegistry< T_Ptr, Container >::operator!= ( const AbstractRegistry< T_Ptr, Container > &  other)
inline
template<typename T_Ptr, typename Container>
bool el::base::utils::AbstractRegistry< T_Ptr, Container >::operator!= ( const AbstractRegistry< T_Ptr, Container > &  other)
inline
template<typename T_Ptr, typename Container>
AbstractRegistry& el::base::utils::AbstractRegistry< T_Ptr, Container >::operator= ( AbstractRegistry< T_Ptr, Container > &&  sr)
inline

Assignment move operator.

template<typename T_Ptr, typename Container>
AbstractRegistry& el::base::utils::AbstractRegistry< T_Ptr, Container >::operator= ( AbstractRegistry< T_Ptr, Container > &&  sr)
inline

Assignment move operator.

template<typename T_Ptr, typename Container>
AbstractRegistry& el::base::utils::AbstractRegistry< T_Ptr, Container >::operator= ( AbstractRegistry< T_Ptr, Container > &&  sr)
inline

Assignment move operator.

template<typename T_Ptr, typename Container>
bool el::base::utils::AbstractRegistry< T_Ptr, Container >::operator== ( const AbstractRegistry< T_Ptr, Container > &  other)
inline
template<typename T_Ptr, typename Container>
bool el::base::utils::AbstractRegistry< T_Ptr, Container >::operator== ( const AbstractRegistry< T_Ptr, Container > &  other)
inline
template<typename T_Ptr, typename Container>
bool el::base::utils::AbstractRegistry< T_Ptr, Container >::operator== ( const AbstractRegistry< T_Ptr, Container > &  other)
inline
template<typename T_Ptr, typename Container>
void el::base::utils::AbstractRegistry< T_Ptr, Container >::reinitDeepCopy ( const AbstractRegistry< T_Ptr, Container > &  sr)
inlineprotected
template<typename T_Ptr, typename Container>
void el::base::utils::AbstractRegistry< T_Ptr, Container >::reinitDeepCopy ( const AbstractRegistry< T_Ptr, Container > &  sr)
inlineprotected
template<typename T_Ptr, typename Container>
void el::base::utils::AbstractRegistry< T_Ptr, Container >::reinitDeepCopy ( const AbstractRegistry< T_Ptr, Container > &  sr)
inlineprotected
template<typename T_Ptr, typename Container>
virtual std::size_t el::base::utils::AbstractRegistry< T_Ptr, Container >::size ( void  ) const
inlinevirtual
Returns
Size of repository
template<typename T_Ptr, typename Container>
virtual std::size_t el::base::utils::AbstractRegistry< T_Ptr, Container >::size ( void  ) const
inlinevirtual
Returns
Size of repository
template<typename T_Ptr, typename Container>
virtual std::size_t el::base::utils::AbstractRegistry< T_Ptr, Container >::size ( void  ) const
inlinevirtual
Returns
Size of repository
template<typename T_Ptr, typename Container>
virtual void el::base::utils::AbstractRegistry< T_Ptr, Container >::unregisterAll ( void  )
pure virtual
template<typename T_Ptr, typename Container>
virtual void el::base::utils::AbstractRegistry< T_Ptr, Container >::unregisterAll ( void  )
pure virtual
template<typename T_Ptr, typename Container>
virtual void el::base::utils::AbstractRegistry< T_Ptr, Container >::unregisterAll ( void  )
pure virtual

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