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 | Friends | List of all members
el::base::utils::RegistryWithPred< T_Ptr, Pred > Class Template Reference

A pointer registry mechanism to manage memory and provide search functionalities. (predicate version) More...

#include <easylogging++.h>

Inheritance diagram for el::base::utils::RegistryWithPred< T_Ptr, Pred >:
el::base::utils::AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > el::base::utils::AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > el::base::utils::AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > el::base::threading::ThreadSafe el::base::threading::ThreadSafe el::base::threading::ThreadSafe el::base::threading::ThreadSafe el::base::threading::ThreadSafe el::base::threading::ThreadSafe el::base::threading::ThreadSafe el::base::threading::ThreadSafe el::base::threading::ThreadSafe

Public Types

typedef RegistryWithPred
< T_Ptr, Pred >::iterator 
iterator
 
typedef RegistryWithPred
< T_Ptr, Pred >
::const_iterator 
const_iterator
 
typedef RegistryWithPred
< T_Ptr, Pred >::iterator 
iterator
 
typedef RegistryWithPred
< T_Ptr, Pred >
::const_iterator 
const_iterator
 
typedef RegistryWithPred
< T_Ptr, Pred >::iterator 
iterator
 
typedef RegistryWithPred
< T_Ptr, Pred >
::const_iterator 
const_iterator
 
- Public Types inherited from el::base::utils::AbstractRegistry< T_Ptr, std::vector< T_Ptr * > >
typedef std::vector< T_Ptr * >
::iterator 
iterator
 
typedef std::vector< T_Ptr * >
::iterator 
iterator
 
typedef std::vector< T_Ptr * >
::iterator 
iterator
 
typedef std::vector< T_Ptr * >
::const_iterator 
const_iterator
 
typedef std::vector< T_Ptr * >
::const_iterator 
const_iterator
 
typedef std::vector< T_Ptr * >
::const_iterator 
const_iterator
 

Public Member Functions

 RegistryWithPred (void)
 
virtual ~RegistryWithPred (void)
 
 RegistryWithPred (const RegistryWithPred &sr)
 Copy constructor that is useful for base classes. Try to avoid this constructor, use move constructor. More...
 
RegistryWithPredoperator= (const RegistryWithPred &sr)
 Assignment operator that unregisters all the existing registeries and deeply copies each of repo element. More...
 
 RegistryWithPred (void)
 
virtual ~RegistryWithPred (void)
 
 RegistryWithPred (const RegistryWithPred &sr)
 Copy constructor that is useful for base classes. Try to avoid this constructor, use move constructor. More...
 
RegistryWithPredoperator= (const RegistryWithPred &sr)
 Assignment operator that unregisters all the existing registeries and deeply copies each of repo element. More...
 
 RegistryWithPred (void)
 
virtual ~RegistryWithPred (void)
 
 RegistryWithPred (const RegistryWithPred &sr)
 Copy constructor that is useful for base classes. Try to avoid this constructor, use move constructor. More...
 
RegistryWithPredoperator= (const RegistryWithPred &sr)
 Assignment operator that unregisters all the existing registeries and deeply copies each of repo element. More...
 
- Public Member Functions inherited from el::base::utils::AbstractRegistry< T_Ptr, std::vector< T_Ptr * > >
 AbstractRegistry (void)
 Default constructor. More...
 
 AbstractRegistry (AbstractRegistry &&sr)
 Move constructor that is useful for base classes. More...
 
 AbstractRegistry (void)
 Default constructor. More...
 
 AbstractRegistry (AbstractRegistry &&sr)
 Move constructor that is useful for base classes. More...
 
 AbstractRegistry (void)
 Default constructor. More...
 
 AbstractRegistry (AbstractRegistry &&sr)
 Move constructor that is useful for base classes. More...
 
bool operator== (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &other)
 
bool operator== (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &other)
 
bool operator== (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &other)
 
bool operator!= (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &other)
 
bool operator!= (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &other)
 
bool operator!= (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &other)
 
AbstractRegistryoperator= (AbstractRegistry &&sr)
 Assignment move operator. More...
 
AbstractRegistryoperator= (AbstractRegistry &&sr)
 Assignment move operator. More...
 
AbstractRegistryoperator= (AbstractRegistry &&sr)
 Assignment move operator. More...
 
virtual ~AbstractRegistry (void)
 
virtual ~AbstractRegistry (void)
 
virtual ~AbstractRegistry (void)
 
virtual iterator begin (void) ELPP_FINAL
 
virtual iterator begin (void) ELPP_FINAL
 
virtual iterator begin (void) ELPP_FINAL
 
virtual iterator end (void) ELPP_FINAL
 
virtual iterator end (void) ELPP_FINAL
 
virtual iterator end (void) ELPP_FINAL
 
virtual const_iterator cbegin (void) const ELPP_FINAL
 
virtual const_iterator cbegin (void) const ELPP_FINAL
 
virtual const_iterator cbegin (void) const ELPP_FINAL
 
virtual const_iterator cend (void) const ELPP_FINAL
 
virtual const_iterator cend (void) const ELPP_FINAL
 
virtual const_iterator cend (void) const ELPP_FINAL
 
virtual bool empty (void) const ELPP_FINAL
 
virtual bool empty (void) const ELPP_FINAL
 
virtual bool empty (void) const ELPP_FINAL
 
virtual std::size_t size (void) const ELPP_FINAL
 
virtual std::size_t size (void) const ELPP_FINAL
 
virtual std::size_t size (void) const ELPP_FINAL
 
virtual std::vector< T_Ptr * > & list (void) ELPP_FINAL
 Returns underlying container by reference. More...
 
virtual const std::vector
< T_Ptr * > & 
list (void) const ELPP_FINAL
 Returns underlying container by constant reference. More...
 
virtual std::vector< T_Ptr * > & list (void) ELPP_FINAL
 Returns underlying container by reference. More...
 
virtual const std::vector
< T_Ptr * > & 
list (void) const ELPP_FINAL
 Returns underlying container by constant reference. More...
 
virtual std::vector< T_Ptr * > & list (void) ELPP_FINAL
 Returns underlying container by reference. More...
 
virtual const std::vector
< T_Ptr * > & 
list (void) const ELPP_FINAL
 Returns underlying container by constant reference. 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 unregisterAll (void) ELPP_FINAL
 Unregisters all the pointers from current repository. More...
 
virtual void unregister (T_Ptr *&ptr) ELPP_FINAL
 
virtual void registerNew (T_Ptr *ptr) ELPP_FINAL
 
template<typename T , typename T2 >
T_Ptr * get (const T &arg1, const T2 arg2)
 Gets pointer from repository with speicifed arguments. Arguments are passed to predicate in order to validate pointer. More...
 
virtual void unregisterAll (void) ELPP_FINAL
 Unregisters all the pointers from current repository. More...
 
virtual void unregister (T_Ptr *&ptr) ELPP_FINAL
 
virtual void registerNew (T_Ptr *ptr) ELPP_FINAL
 
template<typename T , typename T2 >
T_Ptr * get (const T &arg1, const T2 arg2)
 Gets pointer from repository with speicifed arguments. Arguments are passed to predicate in order to validate pointer. More...
 
virtual void unregisterAll (void) ELPP_FINAL
 Unregisters all the pointers from current repository. More...
 
virtual void unregister (T_Ptr *&ptr) ELPP_FINAL
 
virtual void registerNew (T_Ptr *ptr) ELPP_FINAL
 
template<typename T , typename T2 >
T_Ptr * get (const T &arg1, const T2 arg2)
 Gets pointer from repository with speicifed arguments. Arguments are passed to predicate in order to validate pointer. More...
 
- Protected Member Functions inherited from el::base::utils::AbstractRegistry< T_Ptr, std::vector< T_Ptr * > >
virtual void deepCopy (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &)=0
 
virtual void deepCopy (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &)=0
 
virtual void deepCopy (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &)=0
 
void reinitDeepCopy (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &sr)
 
void reinitDeepCopy (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &sr)
 
void reinitDeepCopy (const AbstractRegistry< T_Ptr, std::vector< T_Ptr * > > &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)
 

Friends

base::type::ostream_toperator<< (base::type::ostream_t &os, const RegistryWithPred &sr)
 
base::type::ostream_toperator<< (base::type::ostream_t &os, const RegistryWithPred &sr)
 
base::type::ostream_toperator<< (base::type::ostream_t &os, const RegistryWithPred &sr)
 

Detailed Description

template<typename T_Ptr, typename Pred>
class el::base::utils::RegistryWithPred< T_Ptr, Pred >

A pointer registry mechanism to manage memory and provide search functionalities. (predicate version)

NOTE: This is thread-unsafe implementation of AbstractRegistry<T_Ptr, Container>. Any implementation of this class should be made thread-safe explicitly

Member Typedef Documentation

template<typename T_Ptr, typename Pred>
typedef RegistryWithPred<T_Ptr, Pred>::const_iterator el::base::utils::RegistryWithPred< T_Ptr, Pred >::const_iterator
template<typename T_Ptr, typename Pred>
typedef RegistryWithPred<T_Ptr, Pred>::const_iterator el::base::utils::RegistryWithPred< T_Ptr, Pred >::const_iterator
template<typename T_Ptr, typename Pred>
typedef RegistryWithPred<T_Ptr, Pred>::const_iterator el::base::utils::RegistryWithPred< T_Ptr, Pred >::const_iterator
template<typename T_Ptr, typename Pred>
typedef RegistryWithPred<T_Ptr, Pred>::iterator el::base::utils::RegistryWithPred< T_Ptr, Pred >::iterator
template<typename T_Ptr, typename Pred>
typedef RegistryWithPred<T_Ptr, Pred>::iterator el::base::utils::RegistryWithPred< T_Ptr, Pred >::iterator
template<typename T_Ptr, typename Pred>
typedef RegistryWithPred<T_Ptr, Pred>::iterator el::base::utils::RegistryWithPred< T_Ptr, Pred >::iterator

Constructor & Destructor Documentation

template<typename T_Ptr, typename Pred>
el::base::utils::RegistryWithPred< T_Ptr, Pred >::RegistryWithPred ( void  )
inline
template<typename T_Ptr, typename Pred>
virtual el::base::utils::RegistryWithPred< T_Ptr, Pred >::~RegistryWithPred ( void  )
inlinevirtual
template<typename T_Ptr, typename Pred>
el::base::utils::RegistryWithPred< T_Ptr, Pred >::RegistryWithPred ( const RegistryWithPred< T_Ptr, Pred > &  sr)
inline

Copy constructor that is useful for base classes. Try to avoid this constructor, use move constructor.

template<typename T_Ptr, typename Pred>
el::base::utils::RegistryWithPred< T_Ptr, Pred >::RegistryWithPred ( void  )
inline
template<typename T_Ptr, typename Pred>
virtual el::base::utils::RegistryWithPred< T_Ptr, Pred >::~RegistryWithPred ( void  )
inlinevirtual
template<typename T_Ptr, typename Pred>
el::base::utils::RegistryWithPred< T_Ptr, Pred >::RegistryWithPred ( const RegistryWithPred< T_Ptr, Pred > &  sr)
inline

Copy constructor that is useful for base classes. Try to avoid this constructor, use move constructor.

template<typename T_Ptr, typename Pred>
el::base::utils::RegistryWithPred< T_Ptr, Pred >::RegistryWithPred ( void  )
inline
template<typename T_Ptr, typename Pred>
virtual el::base::utils::RegistryWithPred< T_Ptr, Pred >::~RegistryWithPred ( void  )
inlinevirtual
template<typename T_Ptr, typename Pred>
el::base::utils::RegistryWithPred< T_Ptr, Pred >::RegistryWithPred ( const RegistryWithPred< T_Ptr, Pred > &  sr)
inline

Copy constructor that is useful for base classes. Try to avoid this constructor, use move constructor.

Member Function Documentation

template<typename T_Ptr, typename Pred>
template<typename T , typename T2 >
T_Ptr* el::base::utils::RegistryWithPred< T_Ptr, Pred >::get ( const T &  arg1,
const T2  arg2 
)
inlineprotected

Gets pointer from repository with speicifed arguments. Arguments are passed to predicate in order to validate pointer.

template<typename T_Ptr, typename Pred>
template<typename T , typename T2 >
T_Ptr* el::base::utils::RegistryWithPred< T_Ptr, Pred >::get ( const T &  arg1,
const T2  arg2 
)
inlineprotected

Gets pointer from repository with speicifed arguments. Arguments are passed to predicate in order to validate pointer.

template<typename T_Ptr, typename Pred>
template<typename T , typename T2 >
T_Ptr* el::base::utils::RegistryWithPred< T_Ptr, Pred >::get ( const T &  arg1,
const T2  arg2 
)
inlineprotected

Gets pointer from repository with speicifed arguments. Arguments are passed to predicate in order to validate pointer.

template<typename T_Ptr, typename Pred>
RegistryWithPred& el::base::utils::RegistryWithPred< T_Ptr, Pred >::operator= ( const RegistryWithPred< T_Ptr, Pred > &  sr)
inline

Assignment operator that unregisters all the existing registeries and deeply copies each of repo element.

See Also
unregisterAll()
deepCopy(const AbstractRegistry&)
template<typename T_Ptr, typename Pred>
RegistryWithPred& el::base::utils::RegistryWithPred< T_Ptr, Pred >::operator= ( const RegistryWithPred< T_Ptr, Pred > &  sr)
inline

Assignment operator that unregisters all the existing registeries and deeply copies each of repo element.

See Also
unregisterAll()
deepCopy(const AbstractRegistry&)
template<typename T_Ptr, typename Pred>
RegistryWithPred& el::base::utils::RegistryWithPred< T_Ptr, Pred >::operator= ( const RegistryWithPred< T_Ptr, Pred > &  sr)
inline

Assignment operator that unregisters all the existing registeries and deeply copies each of repo element.

See Also
unregisterAll()
deepCopy(const AbstractRegistry&)
template<typename T_Ptr, typename Pred>
virtual void el::base::utils::RegistryWithPred< T_Ptr, Pred >::registerNew ( T_Ptr *  ptr)
inlineprotectedvirtual
template<typename T_Ptr, typename Pred>
virtual void el::base::utils::RegistryWithPred< T_Ptr, Pred >::registerNew ( T_Ptr *  ptr)
inlineprotectedvirtual
template<typename T_Ptr, typename Pred>
virtual void el::base::utils::RegistryWithPred< T_Ptr, Pred >::registerNew ( T_Ptr *  ptr)
inlineprotectedvirtual
template<typename T_Ptr, typename Pred>
virtual void el::base::utils::RegistryWithPred< T_Ptr, Pred >::unregister ( T_Ptr *&  ptr)
inlineprotectedvirtual
template<typename T_Ptr, typename Pred>
virtual void el::base::utils::RegistryWithPred< T_Ptr, Pred >::unregister ( T_Ptr *&  ptr)
inlineprotectedvirtual
template<typename T_Ptr, typename Pred>
virtual void el::base::utils::RegistryWithPred< T_Ptr, Pred >::unregister ( T_Ptr *&  ptr)
inlineprotectedvirtual
template<typename T_Ptr, typename Pred>
virtual void el::base::utils::RegistryWithPred< T_Ptr, Pred >::unregisterAll ( void  )
inlineprotectedvirtual

Unregisters all the pointers from current repository.

Implements el::base::utils::AbstractRegistry< T_Ptr, std::vector< T_Ptr * > >.

template<typename T_Ptr, typename Pred>
virtual void el::base::utils::RegistryWithPred< T_Ptr, Pred >::unregisterAll ( void  )
inlineprotectedvirtual

Unregisters all the pointers from current repository.

Implements el::base::utils::AbstractRegistry< T_Ptr, std::vector< T_Ptr * > >.

template<typename T_Ptr, typename Pred>
virtual void el::base::utils::RegistryWithPred< T_Ptr, Pred >::unregisterAll ( void  )
inlineprotectedvirtual

Unregisters all the pointers from current repository.

Implements el::base::utils::AbstractRegistry< T_Ptr, std::vector< T_Ptr * > >.

Friends And Related Function Documentation

template<typename T_Ptr, typename Pred>
base::type::ostream_t& operator<< ( base::type::ostream_t os,
const RegistryWithPred< T_Ptr, Pred > &  sr 
)
friend
template<typename T_Ptr, typename Pred>
base::type::ostream_t& operator<< ( base::type::ostream_t os,
const RegistryWithPred< T_Ptr, Pred > &  sr 
)
friend
template<typename T_Ptr, typename Pred>
base::type::ostream_t& operator<< ( base::type::ostream_t os,
const RegistryWithPred< T_Ptr, Pred > &  sr 
)
friend

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