1 #ifndef YAPOG_XMLOBJECTIDLOADER_HXX
2 # define YAPOG_XMLOBJECTIDLOADER_HXX
9 template <
typename T,
typename TXmlReader>
12 const String& rootNodeName)
13 : rootPath_ (rootPath)
14 , rootNodeName_ (rootNodeName)
17 , currentObject_ (nullptr)
21 template <
typename T,
typename TXmlReader>
24 for (
const auto& it : objects_)
28 template <
typename T,
typename TXmlReader>
31 if (objects_.Contains (
id))
34 T*
object =
new T (
id);
35 objects_.Add (
id,
object);
40 XmlReader xmlReader (file, rootNodeName_);
41 TXmlReader objectReader (GetObject (
id), rootNodeName_);
42 xmlReader.
Accept (objectReader);
47 template <
typename T,
typename TXmlReader>
53 currentObject_ = objects_[currentID_];
56 return *currentObject_;
60 #endif // YAPOG_XMLOBJECTIDLOADER_HXX