21 #ifndef ObjectIndex_XML_H_
22 #define ObjectIndex_XML_H_
24 #include <unordered_map>
28 #include "ObjectIndex.h"
43 ObjectIndex_XML(
const std::shared_ptr<UniXML>& xml,
size_t minSize = 1000 );
47 virtual const uniset::ObjectInfo* getObjectInfo(
const std::string& name )
const noexcept
override;
52 virtual std::ostream& printMap(std::ostream& os)
const noexcept
override;
53 friend std::ostream& operator<<(std::ostream& os,
ObjectIndex_XML& oi );
56 void build(
const std::shared_ptr<UniXML>& xml );
57 size_t read_section(
const std::shared_ptr<UniXML>& xml,
const std::string& sec,
size_t ind );
58 size_t read_nodes(
const std::shared_ptr<UniXML>& xml,
const std::string& sec,
size_t ind );
61 typedef std::unordered_map<std::string, ObjectId> MapObjectKey;
63 std::vector<ObjectInfo> omap;