8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Io/Commons/Configuration/ITicSerializable.hpp"
11namespace Arp::Io::Commons::Configuration
47 using Ptr = std::shared_ptr<TicBase>;
48 using ChildPtr = ITicSerializable::Ptr;
49 using ChildElements = std::vector<ChildPtr>;
62 const ChildElements& GetChildElements(
void)
const;
66 void WriteTic(TicWriter& writer)
final;
69 virtual bool TryReadAttribute(
TicReader& reader,
const String& attributeName);
70 virtual bool TryCreateElement(
const String& elementName, ChildPtr& result);
71 virtual bool TryReadCustomAttribute(
TicReader& reader,
const String& attributeName);
72 virtual bool TryCreateCustomElement(
const String& elementName, ChildPtr& result);
73 virtual void OnReadEnd(
void);
77 const Impl& GetImpl(
void)
const;
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Interface for all classes which should be serializable from and to Tic doccuments.
Definition: ITicSerializable.hpp:17
This class is the base class for all predefined Tic elements.
Definition: TicBase.hpp:42
TicBase(void)
Default constructor.
TicBase(TicBase &&arg) noexcept
Default move constructor.
TicBase & operator=(TicBase &&arg) noexcept
Default move-assignment operator.
~TicBase(void) override
Default destructor.
This class is used to read the content of Tic files.
Definition: TicReader.hpp:24