Public Types | Public Member Functions | Protected Member Functions | Private Attributes | 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 >:
Inheritance graph
[legend]

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)
 
AbstractRegistryoperator= (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::Mutexlock (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
 

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.

Definition at line 1248 of file easylogging++.h.

Member Typedef Documentation

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

Definition at line 1251 of file easylogging++.h.

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

Definition at line 1250 of file easylogging++.h.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 1254 of file easylogging++.h.

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.

Definition at line 1257 of file easylogging++.h.

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

Definition at line 1299 of file easylogging++.h.

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

Definition at line 1303 of file easylogging++.h.

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

Definition at line 1314 of file easylogging++.h.

template<typename T_Ptr, typename Container>
virtual const_iterator el::base::utils::AbstractRegistry< T_Ptr, Container >::cend ( void  ) const
inlinevirtual
Returns
End of repository

Definition at line 1319 of file easylogging++.h.

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

Definition at line 1324 of file easylogging++.h.

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

Definition at line 1308 of file easylogging++.h.

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

Returns underlying container by reference.

Definition at line 1334 of file easylogging++.h.

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.

Definition at line 1339 of file easylogging++.h.

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

Definition at line 1277 of file easylogging++.h.

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

Assignment move operator.

Definition at line 1290 of file easylogging++.h.

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

Definition at line 1265 of file easylogging++.h.

template<typename T_Ptr, typename Container>
void el::base::utils::AbstractRegistry< T_Ptr, Container >::reinitDeepCopy ( const AbstractRegistry< T_Ptr, Container > &  sr)
inlineprotected

Definition at line 1348 of file easylogging++.h.

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

Definition at line 1329 of file easylogging++.h.

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

Member Data Documentation

template<typename T_Ptr, typename Container>
Container el::base::utils::AbstractRegistry< T_Ptr, Container >::m_list
private

Definition at line 1354 of file easylogging++.h.


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


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:36