openETCS
case study for the European Train Control System developed for the authors dissertation
GraphicalContainer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2010-2011
3  Johannes Feuser <feuser@uni-bremen.de>
4  This file is part of the openETCS library.
5 
6  The openETCS library is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  any later version.
10 
11  The openETCS library is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with the openETCS library. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 
21 
22 #ifndef __GOPPRR_GRAPHICALCONTAINER_H__
23 #define __GOPPRR_GRAPHICALCONTAINER_H__
24 
25 
26 #include <string>
27 
28 #include <map>
29 #include <string>
30 
31 
32 namespace GOPPRR { struct CObject; }
33 namespace GOPPRR { struct CRelationship; }
34 
35 
36 namespace GOPPRR {
37 
38 
39 /*!
40  * \brief graphical container class
41  */
43 {
44  /*!
45  * \brief defaultconstructor
46  *
47  */
48  CGraphicalContainer(GOPPRR::CObject * const pContainer, const std::map< std::string, ::GOPPRR::CObject* > & ContainedObjects = std::map< std::string, ::GOPPRR::CObject* >(), const std::map< std::string, ::GOPPRR::CRelationship* > & ContainedRelationships = std::map< std::string, ::GOPPRR::CRelationship* >()) throw();
49 
50 
51 
52  /*!
53  * \brief copy constructor
54  *
55  * \param[in] Source object to copy
56  */
57  CGraphicalContainer(const CGraphicalContainer& Source) throw();
58 
59 
60 
61  /*!
62  * \brief destructor
63  */
64  virtual ~CGraphicalContainer() throw();
65 
66 
67 
68  /*!
69  * \brief assignment operator
70  *
71  * \param[in] Source object instance to assign from
72  */
73  CGraphicalContainer & operator=(const CGraphicalContainer& Source) throw();
74 
75 
76 
77  /*!
78  * \brief pointer to container object
79  */
81 
82 
83 
84  /*!
85  * \brief set of contained objects by another object
86  *
87  * Set of contained objects by another object indexed
88  * by their OID.
89  */
90  ::std::map< std::string,GOPPRR::CObject* > m_ContainedObjects;
91 
92 
93 
94  /*!
95  * \brief set of contained relationship indexed by OID
96  */
97  ::std::map< ::std::string,GOPPRR::CRelationship* > m_ContainedRelationships;
98 
99 
100 
101 
102 }; // struct CGraphicalContainer
103 
104 
105 
106 
107 
108 } // namespace GOPPRR
109 
110 #endif // __ GOPPRR_GRAPHICALCONTAINER_H__

Copyright (C) 2010-2012 Johannes Feuser (feuser@uni-bremen.de)
The openETCS library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
The openETCS library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the openETCS library. If not, see "http://www.gnu.org/licenses/.