38class Library :
public DBo {
46 public:
class LibraryMap :
public IntrusiveMap<Name, Library> {
49 public:
typedef IntrusiveMap<Name, Library>
Inherit;
53 public:
virtual Name _getKey(Library* library)
const;
54 public:
virtual unsigned _getHashValue(
Name name)
const;
55 public:
virtual Library* _getNextElement(Library* library)
const;
56 public:
virtual void _setNextElement(Library* library, Library* nextLibrary)
const;
60 public:
class CellMap :
public IntrusiveMap<Name, Cell> {
63 public:
typedef IntrusiveMap<Name, Cell> Inherit;
67 public:
virtual Name _getKey(
Cell* cell)
const;
68 public:
virtual unsigned _getHashValue(
Name name)
const;
69 public:
virtual Cell* _getNextElement(
Cell* cell)
const;
70 public:
virtual void _setNextElement(
Cell* cell,
Cell* nextCell)
const;
77 private: DataBase* _dataBase;
78 private: Library* _library;
80 private: LibraryMap _libraryMap;
81 private: CellMap _cellMap;
82 private: Library* _nextOfLibraryLibraryMap;
87 protected: Library(DataBase* dataBase, Library* library,
const Name& name);
90 public:
static Library*
create(Library* library,
const Name& name);
98 public:
string getHierarchicalName ()
const;
99 public: Library*
getLibrary(
const Name& name)
const {
return _libraryMap.getElement(name);};
112 protected:
virtual void _postCreate();
114 protected:
virtual void _preDestroy();
116 public:
virtual string _getTypeName()
const {
return _TName(
"Library");};
117 public:
virtual string _getString()
const;
118 public:
virtual Record* _getRecord()
const;
119 public:
virtual void _toJson( JsonWriter* )
const;
120 public: LibraryMap& _getLibraryMap() {
return _libraryMap;};
121 public: CellMap& _getCellMap() {
return _cellMap;};
122 public: Library* _getNextOfLibraryLibraryMap()
const {
return _nextOfLibraryLibraryMap;};
124 public:
void _setNextOfLibraryLibraryMap(Library* library) {_nextOfLibraryLibraryMap = library;};