Ion
|
Specialize for std::atomic types. More...
#include "setting.h"
Public Types | |
typedef std::function< void(SettingBase *setting)> | Listener |
A function that is called when the value changes. More... | |
Public Member Functions | |
Setting (const std::string &name, const T &value, const std::string &doc_string) | |
Creates a new setting with the passed name, initial value, and documentation string. More... | |
Setting (const SettingGroup *group, const std::string &name, const T &value, const std::string &doc_string) | |
Same as above, but places the setting in the passed group. More... | |
Setting (const std::string &name, const T &value) | |
Convenience constructor that does not require a documentation string. More... | |
Setting (const SettingGroup *group, const std::string &name, const T &value) | |
Same as above, but places the setting in the passed group. More... | |
~Setting () override | |
const std::string | ToString () const override |
Returns a string version of this setting. More... | |
bool | FromString (const std::string &str) override |
Parses the passed string to set the value of this and returns whether the parsing was successful. More... | |
std::atomic< T > * | GetMutableValue () |
Direct value mutators. More... | |
const std::atomic< T > & | GetValue () const |
void | SetValue (const T &value) |
operator T () const | |
void | operator= (const T &value) |
bool | operator== (const T &value) const |
Equality testers. More... | |
const std::string & | GetName () const |
Returns the name associated with this. More... | |
const std::string & | GetDocString () const |
Returns the documentation string associated with this. More... | |
void | SetTypeDescriptor (const std::string &desc) |
Sets/returns a string containing information about the Setting's type. More... | |
const std::string & | GetTypeDescriptor () const |
void | RegisterListener (const std::string &key, const Listener &listener) |
Adds a function that will be called when this setting's value changes. More... | |
void | EnableListener (const std::string &key, bool enable) |
Enables or disables the listener identified by key, if one exists. More... | |
void | UnregisterListener (const std::string &key) |
Removes the listener identified by key, if one exists. More... | |
void | NotifyListeners () |
Notify listeners that this setting has changed. More... | |
Friends | |
bool | operator== (const T &value, const Setting< std::atomic< T > > &setting) |
Specialize for std::atomic types.
|
inherited |
|
inline |
Creates a new setting with the passed name, initial value, and documentation string.
Definition at line 231 of file setting.h.
References ion::base::SetTypeDescriptorForType().
|
inline |
Same as above, but places the setting in the passed group.
Definition at line 238 of file setting.h.
References ion::base::SetTypeDescriptorForType().
|
inline |
Convenience constructor that does not require a documentation string.
Definition at line 246 of file setting.h.
References ion::base::SetTypeDescriptorForType().
|
inline |
Same as above, but places the setting in the passed group.
Definition at line 252 of file setting.h.
References ion::base::SetTypeDescriptorForType().
|
inlineoverride |
|
inherited |
Enables or disables the listener identified by key, if one exists.
Definition at line 40 of file setting.cc.
|
inlineoverridevirtual |
Parses the passed string to set the value of this and returns whether the parsing was successful.
If the parsing does not succeed then nothing should change in this.
Implements ion::base::SettingBase.
Definition at line 264 of file setting.h.
References ion::base::Setting< T >::SetValue(), ion::base::StringToValue(), and value.
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inherited |
Notify listeners that this setting has changed.
Definition at line 50 of file setting.cc.
Referenced by ion::base::Setting< bool >::operator=(), operator=(), ion::base::Setting< bool >::SetValue(), and SetValue().
|
inline |
|
inline |
Definition at line 282 of file setting.h.
References ion::base::SettingBase::NotifyListeners(), and value.
|
inline |
|
inherited |
Adds a function that will be called when this setting's value changes.
The function is identified by the passed key. The same key must be used to remove the listener.
Definition at line 35 of file setting.cc.
|
inlineinherited |
Sets/returns a string containing information about the Setting's type.
This string can be used, for example, in an interactive program to present a specialized interface for displaying or modifying the settings. See the remote::SettingHandler documentation for examples.
Definition at line 65 of file setting.h.
Referenced by ion::base::SetTypeDescriptorForType().
|
inline |
Definition at line 277 of file setting.h.
References ion::base::SettingBase::NotifyListeners(), and value.
|
inlineoverridevirtual |
Returns a string version of this setting.
The same string may be passed to FromString to reconstruct an identical setting.
Implements ion::base::SettingBase.
Definition at line 260 of file setting.h.
References ion::base::ValueToString().
|
inherited |
Removes the listener identified by key, if one exists.
Definition at line 46 of file setting.cc.