MXS-2727 Allow assignment to config types
Allows for code like CacheConfig config("MXS-2727"); config.storage = std::string("inmemory_storage"); config.soft_ttl = std::chrono::seconds(1); config.hard_ttl = std::chrono::seconds(10); config.max_size = 10; config.thread_model = CACHE_THREAD_MODEL_MT; config.enabled = true; to be used when you want to create a configuration manually and not from a configuration file.
This commit is contained in:
parent
ff80f2b514
commit
e332625b8d
@ -968,6 +968,12 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
This& operator=(const value_type& value)
|
||||
{
|
||||
m_value = value;
|
||||
return static_cast<This&>(*this);
|
||||
}
|
||||
|
||||
This& operator=(const ConcreteType<This, ParamType>& rhs)
|
||||
{
|
||||
// Only the value is copied, the parameter and the configuration
|
||||
@ -1140,6 +1146,8 @@ inline bool operator>=(const typename ParamType::value_type& lhs,
|
||||
class Number : public ConcreteType<Number, ParamNumber>
|
||||
{
|
||||
protected:
|
||||
using ConcreteType<Number, ParamNumber>::operator =;
|
||||
|
||||
Number(Configuration* pConfiguration, const ParamNumber* pParam)
|
||||
: ConcreteType(pConfiguration, pParam)
|
||||
{
|
||||
@ -1152,6 +1160,8 @@ protected:
|
||||
class Count : public Number
|
||||
{
|
||||
public:
|
||||
using Number::operator =;
|
||||
|
||||
Count(Configuration* pConfiguration, const ParamCount* pParam)
|
||||
: Number(pConfiguration, pParam)
|
||||
{
|
||||
@ -1164,6 +1174,8 @@ public:
|
||||
class Integer : public Number
|
||||
{
|
||||
public:
|
||||
using Number::operator =;
|
||||
|
||||
Integer(Configuration* pConfiguration, const ParamInteger* pParam)
|
||||
: Number(pConfiguration, pParam)
|
||||
{
|
||||
@ -1176,6 +1188,8 @@ public:
|
||||
class BitMask : public Count
|
||||
{
|
||||
public:
|
||||
using Count::operator =;
|
||||
|
||||
BitMask(Configuration* pConfiguration, const ParamCount* pParam)
|
||||
: Count(pConfiguration, pParam)
|
||||
{
|
||||
@ -1193,6 +1207,8 @@ public:
|
||||
class Bool : public ConcreteType<Bool, ParamBool>
|
||||
{
|
||||
public:
|
||||
using ConcreteType<Bool, ParamBool>::operator =;
|
||||
|
||||
Bool(Configuration* pConfiguration, const ParamBool* pParam)
|
||||
: ConcreteType<Bool, ParamBool>(pConfiguration, pParam)
|
||||
{
|
||||
@ -1211,6 +1227,8 @@ template<class T>
|
||||
class Duration : public ConcreteType<Duration<T>, ParamDuration<T>>
|
||||
{
|
||||
public:
|
||||
using ConcreteType<Duration<T>, ParamDuration<T>>::operator =;
|
||||
|
||||
Duration(Configuration* pConfiguration, const ParamDuration<T>* pParam)
|
||||
: ConcreteType<Duration<T>, ParamDuration<T>>(pConfiguration, pParam)
|
||||
{
|
||||
@ -1243,6 +1261,8 @@ template<class T>
|
||||
class Enum : public ConcreteType<Enum<T>, ParamEnum<T>>
|
||||
{
|
||||
public:
|
||||
using ConcreteType<Enum<T>, ParamEnum<T>>::operator =;
|
||||
|
||||
Enum(Configuration* pConfiguration, const ParamEnum<T>* pParam)
|
||||
: ConcreteType<Enum<T>, ParamEnum<T>>(pConfiguration, pParam)
|
||||
{
|
||||
@ -1255,6 +1275,8 @@ public:
|
||||
class Path : public ConcreteType<Path, ParamPath>
|
||||
{
|
||||
public:
|
||||
using ConcreteType<Path, ParamPath>::operator =;
|
||||
|
||||
Path(Configuration* pConfiguration, const ParamPath* pParam)
|
||||
: ConcreteType<Path, ParamPath>(pConfiguration, pParam)
|
||||
{
|
||||
@ -1277,6 +1299,8 @@ public:
|
||||
class Size : public ConcreteType<Size, ParamSize>
|
||||
{
|
||||
public:
|
||||
using ConcreteType<Size, ParamSize>::operator =;
|
||||
|
||||
Size(Configuration* pConfiguration, const ParamSize* pParam)
|
||||
: ConcreteType(pConfiguration, pParam)
|
||||
{
|
||||
@ -1294,6 +1318,8 @@ inline Size::value_type operator/(const Size& lhs, Size::value_type rhs)
|
||||
class Server : public ConcreteType<Server, ParamServer>
|
||||
{
|
||||
public:
|
||||
using ConcreteType<Server, ParamServer>::operator =;
|
||||
|
||||
Server(Configuration* pConfiguration, const ParamServer* pParam)
|
||||
: ConcreteType<Server, ParamServer>(pConfiguration, pParam)
|
||||
{
|
||||
@ -1306,6 +1332,8 @@ public:
|
||||
class String : public ConcreteType<String, ParamString>
|
||||
{
|
||||
public:
|
||||
using ConcreteType<String, ParamString>::operator =;
|
||||
|
||||
String(Configuration* pConfiguration, const ParamString* pParam)
|
||||
: ConcreteType<String, ParamString>(pConfiguration, pParam)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user