Class any
boost::any
— A class whose instances can hold instances of any
type that satisfies
ValueType
requirements.
Synopsis
Description
any construct/copy/destruct
-
Postconditions: |
this->empty() |
-
Effects: |
Copy constructor that copies content of
other into new instance, so that any content
is equivalent in both type and value to the content of
other, or empty if other is
empty. |
Throws: |
May fail with a
std::bad_alloc
exception or any exceptions arising from the copy
constructor of the contained type. |
-
template<typename ValueType> any(const ValueType & value);
Effects: |
Makes a copy of value, so
that the initial content of the new instance is equivalent
in both type and value to
value. |
Throws: |
std::bad_alloc
or any exceptions arising from the copy constructor of the
contained type. |
-
any & operator=(const any & rhs);
Effects: |
Copies content of
rhs into
current instance, discarding previous content, so that the
new content is equivalent in both type and value to the
content of
rhs, or empty if
rhs.empty(). |
Throws: |
std::bad_alloc
or any exceptions arising from the copy constructor of the
contained type. Assignment satisfies the strong guarantee
of exception safety. |
-
template<typename ValueType> any & operator=(const ValueType & rhs);
Effects: |
Makes a copy of
rhs,
discarding previous content, so that the new content of is
equivalent in both type and value to
rhs. |
Throws: |
std::bad_alloc
or any exceptions arising from the copy constructor of the
contained type. Assignment satisfies the strong guarantee
of exception safety. |
-
Effects: |
Releases any and all resources used in
management of instance. |
Throws: |
Nothing. |
any modifiers
-
Effects: |
Exchange of the contents of
*this and
rhs. |
Returns: |
*this |
Throws: |
Nothing. |
any queries
-
Returns: |
true if instance is
empty, otherwise false. |
Throws: |
Will not throw. |
-
const std::type_info & type() const;
Returns: |
the
typeid of the
contained value if instance is non-empty, otherwise
typeid(void). |
Notes: |
Useful for querying against types known
either at compile time or only at
runtime. |