Class any
boost::any — A class whose instances can hold instances of any
type that satisfies ValueType
requirements.
Synopsis
Description
any
construct/copy/destruct
-
any();
Postconditions: |
this->empty() |
-
any(const any & other);
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. |
-
~any();
Effects: |
Releases any and all resources used in
management of instance. |
Throws: |
Nothing. |
any
modifiers
-
any & swap(any & rhs);
Effects: |
Exchange of the contents of
*this and
rhs . |
Returns: |
*this |
Throws: |
Nothing. |
any
queries
-
bool empty() const;
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. |