StdAir Logo  1.00.0
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SimpleNestingStructure.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BOM_SIMPLENESTINGSTRUCTURE_HPP
2 #define __STDAIR_BOM_SIMPLENESTINGSTRUCTURE_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // StdAir
13 
15 namespace boost {
16  namespace serialization {
17  class access;
18  }
19 }
20 
21 namespace stdair {
22 
27  template <typename BOM> friend class FacBom;
28  friend class FacBomManager;
30 
31  public:
32  // ////////// Type definitions ////////////
37 
38  public:
39  // /////////////////// Getters ////////////////////////
41  const Key_T& getKey() const {
42  return _key;
43  }
44 
46  BomAbstract* const getParent() const {
47  return _parent;
48  }
49 
53  const HolderMap_T& getHolderMap() const {
54  return _holderMap;
55  }
56 
61 
62  public:
63  // /////////// Display support methods /////////
69  void toStream (std::ostream& ioOut) const {
70  ioOut << toString();
71  }
72 
78  void fromStream (std::istream& ioIn) {
79  }
80 
84  std::string toString() const;
85 
89  const std::string describeKey() const {
90  return _key.toString();
91  }
92 
93 
94  public:
95  // /////////// (Boost) Serialisation support methods /////////
99  template<class Archive>
100  void serialize (Archive& ar, const unsigned int iFileVersion);
101 
102  private:
110  void serialisationImplementationExport() const;
111  void serialisationImplementationImport();
112 
113 
114  public:
115  // /////////// Constructors and destructor. ////////////
119  SimpleNestingStructure (const Key_T&);
120 
124  virtual ~SimpleNestingStructure();
125 
126  private:
131 
136 
137  private:
141  Key_T _key;
142 
146  BomAbstract* _parent;
147 
151  HolderMap_T _holderMap;
152  };
153 }
154 #endif // __STDAIR_BOM_SIMPLENESTINGSTRUCTURE_HPP