LLVM  3.7.0
Public Member Functions | Protected Member Functions | Friends | List of all members
llvm::Registry< T, U >::listener Class Referenceabstract

Abstract base class for registry listeners, which are informed when new entries are added to the registry. More...

#include <Registry.h>

Inheritance diagram for llvm::Registry< T, U >::listener:
[legend]

Public Member Functions

 listener ()
 
virtual ~listener ()
 

Protected Member Functions

virtual void registered (const entry &)=0
 Called when an entry is added to the registry. More...
 
void init ()
 Calls 'registered' for each pre-existing entry. More...
 

Friends

void Registry::Announce (const entry &E)
 

Detailed Description

template<typename T, typename U = RegistryTraits<T>>
class llvm::Registry< T, U >::listener

Abstract base class for registry listeners, which are informed when new entries are added to the registry.

Simply subclass and instantiate:

class CollectorPrinter : public Registry<Collector>::listener {
protected:
void registered(const Registry<Collector>::entry &e) {
cerr << "collector now available: " << e->getName() << "\n";
}
public:
CollectorPrinter() { init(); } // Print those already registered.
};
CollectorPrinter Printer;

Definition at line 145 of file Registry.h.

Constructor & Destructor Documentation

template<typename T , typename U = RegistryTraits<T>>
llvm::Registry< T, U >::listener::listener ( )
inline

Definition at line 163 of file Registry.h.

template<typename T , typename U = RegistryTraits<T>>
virtual llvm::Registry< T, U >::listener::~listener ( )
inlinevirtual

Definition at line 171 of file Registry.h.

Member Function Documentation

template<typename T , typename U = RegistryTraits<T>>
void llvm::Registry< T, U >::listener::init ( )
inlineprotected

Calls 'registered' for each pre-existing entry.

Definition at line 157 of file Registry.h.

References llvm::Registry< T, U >::begin(), llvm::Registry< T, U >::end(), I, and llvm::Registry< T, U >::listener::registered().

Referenced by llvm::RegistryParser< T, U >::initialize().

template<typename T , typename U = RegistryTraits<T>>
virtual void llvm::Registry< T, U >::listener::registered ( const entry )
protectedpure virtual

Called when an entry is added to the registry.

Implemented in llvm::RegistryParser< T, U >.

Referenced by llvm::Registry< T, U >::listener::init().

Friends And Related Function Documentation

template<typename T , typename U = RegistryTraits<T>>
void Registry::Announce ( const entry E)
friend

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