00001 #ifndef __STDAIR_BOM_BOMROOTKEY_HPP
00002 #define __STDAIR_BOM_BOMROOTKEY_HPP
00003
00004
00005
00006
00007
00008 #include <iosfwd>
00009 #include <string>
00010
00011 #include <stdair/bom/KeyAbstract.hpp>
00012
00014 namespace boost {
00015 namespace serialization {
00016 class access;
00017 }
00018 }
00019
00020 namespace stdair {
00021
00025 struct BomRootKey : public KeyAbstract {
00026 friend class boost::serialization::access;
00027
00028
00029 public:
00033 BomRootKey ();
00034
00038 BomRootKey (const std::string& iIdentification);
00039
00043 BomRootKey (const BomRootKey&);
00044
00048 ~BomRootKey();
00049
00050
00051 public:
00052
00056 const std::string& getID() const {
00057 return _id;
00058 }
00059
00060
00061 public:
00062
00068 void toStream (std::ostream& ioOut) const;
00069
00075 void fromStream (std::istream& ioIn);
00076
00086 const std::string toString() const;
00087
00088
00089 public:
00090
00094 template<class Archive>
00095 void serialize (Archive& ar, const unsigned int iFileVersion);
00096
00097 private:
00102 void serialisationImplementationExport() const;
00103 void serialisationImplementationImport();
00104
00105
00106 private:
00107
00111 std::string _id;
00112 };
00113
00114 }
00115 #endif // __STDAIR_BOM_BOMROOTKEY_HPP