OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
Directory.cpp
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2// $RCSfile: Directory.cpp,v $
3// ------------------------------------------------------------------------
4// $Revision: 1.1.1.1 $
5// ------------------------------------------------------------------------
6// Copyright: see Copyright.readme
7// ------------------------------------------------------------------------
8//
9// Class: Directory
10// A directory for OPAL objects.
11//
12// ------------------------------------------------------------------------
13//
14// $Date: 2000/03/27 09:33:34 $
15// $Author: Andreas Adelmann $
16//
17// ------------------------------------------------------------------------
18
21
22// Class Directory
23// ------------------------------------------------------------------------
24
26
28
29ObjectDir::iterator Directory::begin() { return dir.begin(); }
30
31ObjectDir::const_iterator Directory::begin() const { return dir.begin(); }
32
33ObjectDir::iterator Directory::end() { return dir.end(); }
34
35ObjectDir::const_iterator Directory::end() const { return dir.end(); }
36
37void Directory::erase() { dir.erase(dir.begin(), dir.end()); }
38
39void Directory::erase(const std::string& name) { dir.erase(name); }
40
41Object* Directory::find(const std::string& name) const {
42 ObjectDir::const_iterator it = dir.find(name);
43
44 if (it == dir.end()) {
45 return nullptr;
46 } else {
47 return &*it->second;
48 }
49}
50
51void Directory::insert(const std::string& name, Object* newObject) {
52 ObjectDir::value_type p(name, std::shared_ptr<Object>(newObject));
53 dir.insert(p);
54}
void erase()
Delete all entries.
Definition Directory.cpp:37
ObjectDir::iterator end()
Last object in alphabetic order of name.
Definition Directory.cpp:33
ObjectDir::iterator begin()
First object in alphabetic order of name.
Definition Directory.cpp:29
Object * find(const std::string &name) const
Find entry.
Definition Directory.cpp:41
Directory()
Constructor.
Definition Directory.cpp:25
ObjectDir dir
Definition Directory.h:79
void insert(const std::string &name, Object *newObject)
Define new object.
Definition Directory.cpp:51
The base class for all OPAL objects.
Definition Object.h:45