template class Poco::Optional
Overview
Optional is a simple wrapper class for value types that allows to introduce a specified/unspecified state to value objects. More…
#include <Optional.h> template <typename C> class Optional { public: // construction Optional(); Optional(const C& value); Optional(const Optional& other); // methods Optional& assign(const C& value); Optional& assign(const Optional& other); Optional& operator=(const C& value); Optional& operator=(const Optional& other); void swap(Optional& other); const C& value() const; const C& value(const C& deflt) const; bool isSpecified() const; void clear(); };
Detailed Documentation
Optional is a simple wrapper class for value types that allows to introduce a specified/unspecified state to value objects.
An Optional can be default constructed. In this case, the Optional will have a Null value and isSpecified() will return false. Calling value() (without default value) on a Null object will throw a NullValueException.
An Optional can also be constructed from a value. It is possible to assign a value to an Optional, and to reset an Optional to contain a Null value by calling clear().
For use with Optional, the value type should support default construction.
Note that the Optional class is basically the same as Nullable. However, serializers may treat Nullable and Optional differently. An example is XML serialization based on XML Schema, where Optional would be used for an element with minOccurs == 0, whereas Nullable would be used on an element with nillable == true.
Construction
Optional()
Creates an empty Optional.
Optional(const C& value)
Creates a Optional with the given value.
Optional(const Optional& other)
Creates a Optional by copying another one.
Methods
Optional& assign(const C& value)
Assigns a value to the Optional.
Optional& assign(const Optional& other)
Assigns another Optional.
const C& value() const
Returns the Optional ‘s value.
Throws a Poco::NullValueException if the value has not been specified.
const C& value(const C& deflt) const
Returns the Optional ‘s value, or the given default value if the Optional ‘s value has not been specified.
bool isSpecified() const
Returns true iff the Optional ‘s value has been specified.
void clear()
Clears the Optional.