|
|
LUNCHBOX_API | Any () |
| Construct a new, empty Any. More...
|
|
template<typename ValueType > |
| Any (const ValueType &value) |
| Construct a new Any with the given value. More...
|
|
LUNCHBOX_API | Any (const Any &other) |
| Copy-construct a new Any with copying content of other. More...
|
|
LUNCHBOX_API | ~Any () |
| Destruct this Any. More...
|
|
|
LUNCHBOX_API Any & | swap (Any &rhs) |
| Exchange the content of this and rhs. More...
|
|
template<typename ValueType > |
Any & | operator= (const ValueType &rhs) |
| Assign a new value to this Any. More...
|
|
LUNCHBOX_API Any & | operator= (Any rhs) |
| Exchange the content of this and rhs. More...
|
|
|
LUNCHBOX_API bool | empty () const |
|
LUNCHBOX_API const std::type_info & | type () const |
|
LUNCHBOX_API bool | operator== (const Any &rhs) const |
|
bool | operator!= (const Any &rhs) const |
|
A class which can hold instances of any type.
This class is based on boost.any with the extension to support serialization if the ValueType supports boost.serialization.
Example:
#include "test.h"
#include <lunchbox/any.h>
int main( int, char** )
{
TEST( any.
type() ==
typeid(void));
TEST( any == otherAny );
any = 5;
otherAny = any;
TEST( lunchbox::any_cast< int >( any ) == 5 );
TEST( any.
type() ==
typeid(int));
TEST( any == otherAny );
any = 42;
otherAny = 42;
TEST( lunchbox::any_cast< int >( any ) == 42 );
TEST( any == otherAny );
any = std::string( "blablub" );
TEST( lunchbox::any_cast< std::string >( any ) == "blablub" );
TEST( any.
type() ==
typeid(std::string));
TEST( any != otherAny );
try { TEST( lunchbox::any_cast< int >( any ) != 42 ); }
return EXIT_SUCCESS;
}
Definition at line 67 of file any.h.