16#ifndef SIMICS_SYSTEMC_REGISTRY_H
17#define SIMICS_SYSTEMC_REGISTRY_H
19#include <simics/util/help-macros.h>
37 FATAL_ERROR_IF(!r,
"Registry: unexpected non-Registrant stored");
45 typename Iterators::iterator i =
iterators_.find(impl);
54 typename Items::iterator i =
items_.begin();
63 typename Items::reverse_iterator i;
77 typedef std::map<T *, typename Items::iterator>
Iterators;
Definition: registry.h:89
Registrant()
Definition: registry.h:91
virtual ~Registrant()
Definition: registry.h:95
Registrant(const Registrant &rhs)
Definition: registry.h:99
void detach()
Definition: registry.h:102
Definition: registry.h:32
std::map< T *, typename Items::iterator > Iterators
Definition: registry.h:77
std::list< T * > Items
Definition: registry.h:76
Iterators iterators_
Definition: registry.h:80
void add(T *impl)
Definition: registry.h:41
void remove(T *impl)
Definition: registry.h:44
bool iterate(F *f)
Definition: registry.h:53
static Registry< T > * instance()
Definition: registry.h:70
bool reverseIterate(F *f)
Definition: registry.h:62
~Registry()
Definition: registry.h:34
Items items_
Definition: registry.h:79