32 #include <Pt/SerializationInfo.h>
196 template <
typename T>
208 template <
typename T>
256 _si->removeMember(name);
264 _si->removeMember(name);
271 if( ! _si || ! e._si )
274 _si->removeMember( *e._si );
285 if( it == _si->
end() )
351 Entry operator[] (
const std::string& name)
const
353 return this->entry(name);
358 Entry operator[] (
const char* name)
const
360 return this->entry(name);
366 {
return _si->name(); }
382 _si = _si->sibling();
389 {
return _si != other._si; }
394 {
return _si == other._si; }
416 template <
typename T>
474 return this->entry(name);
481 return this->entry(name);
487 {
return _si->name(); }
503 _si = _si->sibling();
510 {
return _si != other._si; }
515 {
return _si == other._si; }
546 {
return root().
begin(); }
551 {
return root().
end(); }
561 {
return root().
begin(); }
566 {
return root().
end(); }
571 {
return Entry(
this); }
575 void load(std::basic_istream<Pt::Char>& is);
583 void save(std::basic_ostream<Pt::Char>& os)
const;
593 return root().
entry(name);
600 return root().
entry(name);
607 return this->entry(name);
614 return this->entry(name);
665 root().removeEntry(name);
672 root().removeEntry(name);
677 Entry operator[] (
const std::string& name)
679 return this->entry(name);
686 return this->entry(name);
ConstEntry end() const
End of sub entries.
Definition: Settings.h:443
ConstEntry entry(const std::string &name) const
Returns a sub entry.
Definition: Settings.h:450
Core module.
Definition: Allocator.h:33
Entry addEntry()
Adds a sub entry.
Definition: Settings.h:242
Iterator end()
Returns an iterator to the end of child elements.
Definition: SerializationInfo.h:826
ConstEntry begin() const
Begin of entries.
Definition: Settings.h:545
void load(std::basic_istream< Pt::Char > &is)
Loads settings from a input stream.
bool operator!=(const ConstEntry &other) const
Allows using the entry like an iterator.
Definition: Settings.h:509
bool operator==(const ConstEntry &other) const
Allows using the entry like an iterator.
Definition: Settings.h:514
ConstEntry end() const
End of entries.
Definition: Settings.h:550
Entry addEntry(const char *name)
Adds a top level entry.
Definition: Settings.h:635
Error during serialization of a type.
Definition: SerializationError.h:46
bool operator!=(const Entry &other) const
Allows using the entry like an iterator.
Definition: Settings.h:388
Entry & operator++()
Allows using the entry like an iterator.
Definition: Settings.h:380
void removeEntry(const std::string &name)
Removes a top level entry.
Definition: Settings.h:670
Entry addEntry(const std::string &name)
Adds a top level entry.
Definition: Settings.h:642
bool operator==(const Entry &other) const
Allows using the entry like an iterator.
Definition: Settings.h:393
Entry entry(const char *name) const
Returns a sub entry.
Definition: Settings.h:312
Settings Format Error.
Definition: Settings.h:43
void save(std::basic_ostream< Pt::Char > &os) const
Saves settings to a output stream.
SerializationInfo & addMember(const std::string &name)
Add a struct member.
Definition: SerializationInfo.h:449
Entry begin() const
Begin of sub entries.
Definition: Settings.h:279
Entry makeEntry(const std::string &name)
Returns a sub entry.
Definition: Settings.h:337
void save(Pt::Formatter &formatter) const
Saves settings using a formatter.
Entry * operator->()
Allows using the entry like an iterator.
Definition: Settings.h:375
void set(const T &value)
Sets the value.
Definition: Settings.h:209
bool operator!() const
Returns true if entry is invalid.
Definition: Settings.h:519
Constant settings entry.
Definition: Settings.h:408
ConstEntry root() const
Returns the root entry.
Definition: Settings.h:555
SerializationInfo & addElement()
Add a sequence element.
void removeEntry(const Entry &e)
Removes a sub entry.
Definition: Settings.h:269
const char * name() const
Returns the entry name.
Definition: Settings.h:365
void removeEntry(const char *name)
Removes a top level entry.
Definition: Settings.h:663
Entry end() const
End of sub entries.
Definition: Settings.h:294
Entry makeEntry(const char *name)
Returns a sub entry.
Definition: Settings.h:323
std::size_t line() const
Returns the line number where the error occured.
Definition: Settings.h:54
bool get(T &value) const
Gets the value.
Definition: Settings.h:417
ConstEntry begin() const
Begin of sub entries.
Definition: Settings.h:428
void setName(const char *name)
Sets the name of the settings root.
bool operator!() const
Returns true if entry is invalid.
Definition: Settings.h:398
ConstEntry entry(const char *name) const
Returns a top level entry.
Definition: Settings.h:598
void removeEntry(const char *name)
Removes a sub entry.
Definition: Settings.h:261
Entry entry(const char *name)
Returns a top level entry.
Definition: Settings.h:627
Store application settings.
Definition: Settings.h:173
Entry end()
End of entries.
Definition: Settings.h:565
Const forward iterator for child elements.
Definition: SerializationInfo.h:783
Entry begin()
Begin of entries.
Definition: Settings.h:560
bool get(T &value) const
Gets the value.
Definition: Settings.h:197
Entry addEntry(const char *name)
Adds a sub entry.
Definition: Settings.h:231
~SettingsError()
Destructor.
Definition: Settings.h:49
ConstEntry & operator++()
Allows using the entry like an iterator.
Definition: Settings.h:501
const SerializationInfo * findMember(const std::string &name) const
Find a struct member.
Definition: SerializationInfo.h:508
ConstEntry entry(const char *name) const
Returns a sub entry.
Definition: Settings.h:461
bool isEmpty() const
Returns true if settings are empty.
void removeEntry(const std::string &name)
Removes a sub entry.
Definition: Settings.h:253
Forward Iterator for child elements.
Definition: SerializationInfo.h:738
const ConstEntry & operator*() const
Allows using the entry like an iterator.
Definition: Settings.h:491
Entry entry(const std::string &name) const
Returns a sub entry.
Definition: Settings.h:301
const ConstEntry * operator->() const
Allows using the entry like an iterator.
Definition: Settings.h:496
Entry addEntry(const std::string &name)
Adds a sub entry.
Definition: Settings.h:220
ConstEntry entry(const std::string &name) const
Returns a top level entry.
Definition: Settings.h:591
void load(Pt::Formatter &formatter)
Loads settings using a formatter.
Settings()
Default constructor.
SettingsError(const char *what, std::size_t line)
Constructor.
void clear()
Clears the settings.
Entry entry(const std::string &name)
Returns a top level entry.
Definition: Settings.h:619
Entry root()
Returns the root entry.
Definition: Settings.h:570
Modifiable settings entry.
Definition: Settings.h:178
Entry & operator*()
Allows using the entry like an iterator.
Definition: Settings.h:370
Entry makeEntry(const std::string &name)
Makes a top level entry.
Definition: Settings.h:656
const char * name() const
Returns the entry name.
Definition: Settings.h:486
Represents arbitrary types during serialization.
Definition: SerializationInfo.h:59
Iterator begin()
Returns an iterator to the begin of child elements.
Entry makeEntry(const char *name)
Makes a top level entry.
Definition: Settings.h:649