mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-12 18:20:26 +01:00
additional move support for Nullable and Optional
This commit is contained in:
parent
8669839833
commit
a31877372e
@ -82,6 +82,14 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
Nullable(C&& value):
|
||||
/// Creates a Nullable by moving the given value.
|
||||
_value(value),
|
||||
_isNull(false),
|
||||
_null()
|
||||
{
|
||||
}
|
||||
|
||||
Nullable(const Nullable& other):
|
||||
/// Creates a Nullable by copying another one.
|
||||
_value(other._value),
|
||||
@ -112,6 +120,14 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
Nullable& assign(C&& value)
|
||||
/// Assigns a value to the Nullable.
|
||||
{
|
||||
_value = value;
|
||||
_isNull = false;
|
||||
return *this;
|
||||
}
|
||||
|
||||
Nullable& assign(const Nullable& other)
|
||||
/// Assigns another Nullable.
|
||||
{
|
||||
@ -133,6 +149,12 @@ public:
|
||||
return assign(value);
|
||||
}
|
||||
|
||||
Nullable& operator = (C&& value)
|
||||
/// Move-assigns a value to the Nullable.
|
||||
{
|
||||
return assign(value);
|
||||
}
|
||||
|
||||
Nullable& operator = (const Nullable& other)
|
||||
/// Assigns another Nullable.
|
||||
{
|
||||
|
@ -67,6 +67,13 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
Optional(C&& value):
|
||||
/// Creates a Optional by moving the given value.
|
||||
_value(value),
|
||||
_isSpecified(true)
|
||||
{
|
||||
}
|
||||
|
||||
Optional(const Optional& other):
|
||||
/// Creates a Optional by copying another one.
|
||||
_value(other._value),
|
||||
@ -90,7 +97,15 @@ public:
|
||||
Optional& assign(const C& value)
|
||||
/// Assigns a value to the Optional.
|
||||
{
|
||||
_value = value;
|
||||
_value = value;
|
||||
_isSpecified = true;
|
||||
return *this;
|
||||
}
|
||||
|
||||
Optional& assign(C&& value)
|
||||
/// Moves a value into the Optional.
|
||||
{
|
||||
_value = value;
|
||||
_isSpecified = true;
|
||||
return *this;
|
||||
}
|
||||
@ -108,6 +123,11 @@ public:
|
||||
return assign(value);
|
||||
}
|
||||
|
||||
Optional& operator = (C&& value)
|
||||
{
|
||||
return assign(value);
|
||||
}
|
||||
|
||||
Optional& operator = (const Optional& other)
|
||||
{
|
||||
return assign(other);
|
||||
|
Loading…
Reference in New Issue
Block a user