32#include <Pt/SerializationInfo.h>
146 Entry(
const Entry&
entry)
150 Entry& operator=(
const Entry&
entry)
158 template <
typename T>
170 template <
typename T>
218 _si->removeMember(
name);
226 _si->removeMember(
name);
233 if( ! _si || ! e._si )
236 _si->removeMember( *e._si );
247 if( it == _si->
end() )
313 Entry operator[] (
const std::string&
name)
const
315 return this->entry(
name);
320 Entry operator[] (
const char*
name)
const
322 return this->entry(
name);
328 {
return _si->name(); }
344 _si = _si->sibling();
351 {
return _si != other._si; }
356 {
return _si == other._si; }
378 template <
typename T>
400 return ConstEntry(&si);
418 return ConstEntry(si);
429 return ConstEntry(si);
434 ConstEntry operator[] (
const std::string&
name)
const
441 ConstEntry operator[] (
const char*
name)
const
449 {
return _si->name(); }
465 _si = _si->sibling();
472 {
return _si != other._si; }
477 {
return _si == other._si; }
533 {
return Entry(
this); }
537 void load(std::basic_istream<Pt::Char>& is);
545 void save(std::basic_ostream<Pt::Char>& os)
const;
SerializationError(const std::string &msg)
Construct with message.
Const forward iterator for child elements.
Definition SerializationInfo.h:783
Forward Iterator for child elements.
Definition SerializationInfo.h:738
const SerializationInfo * findMember(const std::string &name) const
Find a struct member.
Definition SerializationInfo.h:508
Iterator begin()
Returns an iterator to the begin of child elements.
Iterator end()
Returns an iterator to the end of child elements.
Definition SerializationInfo.h:826
const char * name() const
Returns the instance name.
Definition SerializationInfo.h:237
SerializationInfo()
Default constructor.
Definition SerializationInfo.h:93
SerializationInfo & addMember(const std::string &name)
Add a struct member.
Definition SerializationInfo.h:449
SettingsError(const char *what, std::size_t line)
Constructs with a message and the line of the error.
~SettingsError()
Destructor.
Definition Settings.h:51
std::size_t line() const
Returns the line number where the error occured.
Definition Settings.h:56
Constant settings entry.
Definition Settings.h:370
ConstEntry & operator++()
Allows using the entry like an iterator.
Definition Settings.h:463
bool operator==(const ConstEntry &other) const
Allows using the entry like an iterator.
Definition Settings.h:476
bool get(T &value) const
Gets the value.
Definition Settings.h:379
ConstEntry entry(const char *name) const
Returns a sub entry.
Definition Settings.h:423
const ConstEntry & operator*() const
Allows using the entry like an iterator.
Definition Settings.h:453
const ConstEntry * operator->() const
Allows using the entry like an iterator.
Definition Settings.h:458
bool operator!() const
Returns true if entry is invalid.
Definition Settings.h:481
ConstEntry entry(const std::string &name) const
Returns a sub entry.
Definition Settings.h:412
const char * name() const
Returns the entry name.
Definition Settings.h:448
ConstEntry end() const
End of sub entries.
Definition Settings.h:405
bool operator!=(const ConstEntry &other) const
Allows using the entry like an iterator.
Definition Settings.h:471
ConstEntry begin() const
Begin of sub entries.
Definition Settings.h:390
Modifiable settings entry.
Definition Settings.h:140
Entry * operator->()
Allows using the entry like an iterator.
Definition Settings.h:337
Entry begin() const
Begin of sub entries.
Definition Settings.h:241
Entry & operator++()
Allows using the entry like an iterator.
Definition Settings.h:342
bool get(T &value) const
Gets the value.
Definition Settings.h:159
Entry addEntry(const std::string &name)
Adds a sub entry.
Definition Settings.h:182
bool operator!=(const Entry &other) const
Allows using the entry like an iterator.
Definition Settings.h:350
bool operator==(const Entry &other) const
Allows using the entry like an iterator.
Definition Settings.h:355
bool operator!() const
Returns true if entry is invalid.
Definition Settings.h:360
void removeEntry(const char *name)
Removes a sub entry.
Definition Settings.h:223
void removeEntry(const Entry &e)
Removes a sub entry.
Definition Settings.h:231
Entry & operator*()
Allows using the entry like an iterator.
Definition Settings.h:332
Entry addEntry(const char *name)
Adds a sub entry.
Definition Settings.h:193
const char * name() const
Returns the entry name.
Definition Settings.h:327
void removeEntry(const std::string &name)
Removes a sub entry.
Definition Settings.h:215
Entry end() const
End of sub entries.
Definition Settings.h:256
Entry entry(const char *name) const
Returns a sub entry.
Definition Settings.h:274
Entry addEntry()
Adds a sub entry.
Definition Settings.h:204
void set(const T &value)
Sets the value.
Definition Settings.h:171
Entry makeEntry(const std::string &name)
Returns a sub entry.
Definition Settings.h:299
Entry entry(const std::string &name) const
Returns a sub entry.
Definition Settings.h:263
Entry makeEntry(const char *name)
Returns a sub entry.
Definition Settings.h:285
void save(Pt::Formatter &formatter) const
Saves settings using a formatter.
ConstEntry entry(const char *name) const
Returns a top level entry.
Definition Settings.h:560
Entry addEntry(const std::string &name)
Adds a top level entry.
Definition Settings.h:604
ConstEntry root() const
Returns the root entry.
Definition Settings.h:517
void removeEntry(const char *name)
Removes a top level entry.
Definition Settings.h:625
Entry begin()
Begin of entries.
Definition Settings.h:522
ConstEntry entry(const std::string &name) const
Returns a top level entry.
Definition Settings.h:553
Entry addEntry(const char *name)
Adds a top level entry.
Definition Settings.h:597
Entry entry(const char *name)
Returns a top level entry.
Definition Settings.h:589
void removeEntry(const std::string &name)
Removes a top level entry.
Definition Settings.h:632
Entry end()
End of entries.
Definition Settings.h:527
ConstEntry end() const
End of entries.
Definition Settings.h:512
void save(std::basic_ostream< Pt::Char > &os) const
Saves settings to a output stream.
void load(Pt::Formatter &formatter)
Loads settings using a formatter.
void setName(const char *name)
Sets the name of the settings root.
Entry makeEntry(const std::string &name)
Makes a top level entry.
Definition Settings.h:618
void clear()
Clears the settings.
bool isEmpty() const
Returns true if settings are empty.
Entry entry(const std::string &name)
Returns a top level entry.
Definition Settings.h:581
Settings()
Default constructor.
Entry root()
Returns the root entry.
Definition Settings.h:532
void load(std::basic_istream< Pt::Char > &is)
Loads settings from a input stream.
ConstEntry begin() const
Begin of entries.
Definition Settings.h:507
Entry makeEntry(const char *name)
Makes a top level entry.
Definition Settings.h:611
Core module.
Definition Allocator.h:33