Home | Libraries | People | FAQ | More |
boost::any — A class whose instances can hold instances of any type that satisfies ValueType requirements.
class any { public: // construct/copy/destruct any(); any(const any &); template<typename ValueType> any(const ValueType &); any & operator=(const any &); template<typename ValueType> any & operator=(const ValueType &); ~any(); // modifiers any & swap(any &); // queries bool empty() const; const std::type_info & type() const; };
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.
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.
Copyright © 2001 Kevlin Henney |