6#ifndef ACTIVE_SETTING_SETTING
7#define ACTIVE_SETTING_SETTING
9#include "Active/Utility/Cloner.h"
10#include "Active/Utility/NameID.h"
21 using Unique = std::unique_ptr<Setting>;
23 using Shared = std::shared_ptr<Setting>;
25 using Option = std::optional<Setting>;
Base class for an identified setting for interprocess communication.
Definition Setting.h:15
Setting(utility::NameID::Option identifier=std::nullopt)
Definition Setting.h:33
std::unique_ptr< Setting > Unique
Unique pointer.
Definition Setting.h:21
virtual bool operator<(const Setting &ref) const =0
std::shared_ptr< Setting > Shared
Shared pointer.
Definition Setting.h:23
virtual Setting * clonePtr() const =0
virtual ~Setting()=default
virtual bool empty() const =0
True if the setting is empty.
virtual Setting & operator=(const Setting &source)=0
std::optional< Setting > Option
Optional.
Definition Setting.h:25
virtual utility::String name() const
True if the setting is empty.
Definition Setting.h:95
virtual void setDefault()=0
virtual bool operator==(const Setting &ref) const =0
utility::NameID::Option identity
Optional setting identity.
Definition Setting.h:66
virtual void clear()
Definition Setting.h:102
Setting(utility::String::Option name, utility::Guid::Option guid=std::nullopt)
Definition Setting.h:39
Setting(const Setting &source)
Definition Setting.h:47
std::optional< Guid > Option
Optional.
Definition Guid.h:36
std::optional< NameID > Option
Optional.
Definition NameID.h:27
A Unicode-aware string class.
Definition String.h:51
std::optional< String > Option
Optional.
Definition String.h:63
Definition Transportable.h:13