Any¶
- template <typename ValueType>
-
ValueType *
cppmicroservices::any_cast(Any *operand)¶ any_cast operator used to extract the ValueType from an Any*.
Will return a pointer to the stored value.
Example Usage:
Will return nullptr if the cast fails, i.e. types don’t match.MyType* pTmp = any_cast<MyType*>(pAny)
- template <typename ValueType>
-
const ValueType *
cppmicroservices::any_cast(const Any *operand)¶ any_cast operator used to extract a const ValueType pointer from an const Any*.
Will return a const pointer to the stored value.
Example Usage:
Will return nullptr if the cast fails, i.e. types don’t match.const MyType* pTmp = any_cast<MyType*>(pAny)
- template <typename ValueType>
-
ValueType
cppmicroservices::any_cast(const Any &operand)¶ any_cast operator used to extract a copy of the ValueType from an const Any&.
Example Usage:
MyType tmp = any_cast<MyType>(anAny)
Dont use an any_cast in combination with references, i.e. MyType& tmp = ... or const MyType& = ... Some compilers will accept this code although a copy is returned. Use the ref_any_cast in these cases.
- Exceptions
BadAnyCastException: if the cast fails.
- template <typename ValueType>
-
ValueType
cppmicroservices::any_cast(Any &operand)¶ any_cast operator used to extract a copy of the ValueType from an Any&.
Example Usage:
MyType tmp = any_cast<MyType>(anAny)
Dont use an any_cast in combination with references, i.e. MyType& tmp = ... or const MyType& tmp = ... Some compilers will accept this code although a copy is returned. Use the ref_any_cast in these cases.
- Exceptions
BadAnyCastException: if the cast fails.
- template <typename ValueType>
-
const ValueType &
cppmicroservices::ref_any_cast(const Any &operand)¶ ref_any_cast operator used to return a const reference to the internal data.
Example Usage:
const MyType& tmp = ref_any_cast<MyType>(anAny);
- Exceptions
BadAnyCastException: if the cast fails.
- template <typename ValueType>
-
ValueType &
cppmicroservices::ref_any_cast(Any &operand)¶ ref_any_cast operator used to return a reference to the internal data.
Example Usage:
MyType& tmp = ref_any_cast<MyType>(anAny);
- Exceptions
BadAnyCastException: if the cast fails.
-
class
cppmicroservices::Any¶ - #include <cppmicroservices/Any.h>
An Any class represents a general type and is capable of storing any type, supporting type-safe extraction of the internally stored data.
Code taken from the Boost 1.46.1 library. Original copyright by Kevlin Henney. Modified for CppMicroServices.
Public Functions
-
Any()¶ Creates an empty any type.
- template <typename ValueType>
-
Any(const ValueType &value)¶ Creates an Any which stores the init parameter inside.
Example:
Any a(13); Any a(string("12345"));- Parameters
value: The content of the Any
-
Any(const Any &other)¶ Copy constructor, works with empty Anys and initialized Any values.
- Parameters
other: The Any to copy
- template <typename ValueType>
-
bool
operator==(const ValueType &val) const¶ Compares this Any with another value.
If the internal type of this any and of
valdo not match, the comparison always returns false.- Return
trueif this Any contains valueval,falseotherwise.- Parameters
val: The value to compare to.
- template <typename ValueType>
-
bool
operator!=(const ValueType &val) const¶ Compares this Any with another value for inequality.
This is the same as
!this->operator==(val)
- Return
trueif this Any does not contain valueval,falseotherwise.- Parameters
val: The value to compare to.
- template <typename ValueType>
-
Any &
operator=(const ValueType &rhs)¶ Assignment operator for all types != Any.
Example:
Any a = 13; Any a = string("12345");- Parameters
rhs: The value which should be assigned to this Any.
-
std::string
ToString() const¶ Returns a string representation for the content if it is not empty.
Custom types should either provide a
std::ostream& operator<<(std::ostream& os, const CustomType& ct)function or specialize the any_value_to_string template function for meaningful output.- Exceptions
std::logic_error: if the Any is empty.
-
std::string
ToStringNoExcept() const¶ Returns a string representation for the content.
If the Any is empty, an empty string is returned.
Custom types should either provide a
std::ostream& operator<<(std::ostream& os, const CustomType& ct)function or specialize the any_value_to_string template function for meaningful output.
-
std::string
ToJSON() const¶ Returns a JSON representation for the content.
Custom types should specialize the any_value_to_json template function for meaningful output.
-
-
class
cppmicroservices::BadAnyCastException¶ - #include <cppmicroservices/Any.h>
The BadAnyCastException class is thrown in case of casting an Any instance.
Inherits from std::bad_cast