SourcePro® C++ API Reference Guide

Product Documentation:
   SourcePro C++
Documentation Home
List of all members | Public Member Functions

Encapsulates an object of an arbitrary type. More...

#include <rw/any.h>

Public Member Functions

 RWAny ()
 
template<class T >
 RWAny (const T &ref)
 
 RWAny (const RWAny &ref)
 
 RWAny (RWAny &&ref)
 
template<class T >
T * address ()
 
template<class T >
const T * address () const
 
template<class T >
T & get ()
 
template<class T >
const T & get () const
 
RWAnyoperator= (const RWAny &ref)
 
template<typename T >
RWAnyoperator= (const T &ref)
 
RWAnyoperator= (RWAny &&ref)
 
RWAnyswap (RWAny &ref)
 
const std::type_info * type () const
 

Detailed Description

RWAny encapsulates an object of an arbitrary type; it can:

Requirements for types held by RWAny are:

Synopsis
#include <rw/any.h>
Persistence
None

Constructor & Destructor Documentation

RWAny::RWAny ( )
inline

Default constructor. Creates an empty object. Post-condition: for any T, (address<T>() == 0).

template<class T >
RWAny::RWAny ( const T &  ref)
inline

Template constructor for type any holding T. Creates RWAny object holding a copy of argument ref.

RWAny::RWAny ( const RWAny ref)
inline

Copy constructor. Creates a copy of ref.

RWAny::RWAny ( RWAny &&  ref)
inline

Move constructor. The constructed instance takes ownership of the data owned by ref.

Condition:
This method is only available on platforms with rvalue reference support.

Member Function Documentation

template<class T >
T* RWAny::address ( )
inline

Implements address retrieval. Returns the address of the object held in any or 0 if the object is not of the type requested.

template<class T >
const T* RWAny::address ( ) const
inline

Implements address retrieval. Returns the address of the object held in any or 0 if the object is not of the type requested.

template<class T >
T& RWAny::get ( )
inline

Implements value retrieval. Returns *address<T>() if T is the type of the object stored in self, or throws an exception of type (or a type derived from) std::bad_cast otherwise.

template<class T >
const T& RWAny::get ( ) const
inline

Implements value retrieval. Returns *address<T>() if T is the type of the object stored in self, or throws an exception of type (or a type derived from) std::bad_cast otherwise.

RWAny& RWAny::operator= ( const RWAny ref)
inline

Assignment operator. Deep-copies ref. Returns a reference to self.

template<typename T >
RWAny& RWAny::operator= ( const T &  ref)
inline

Template assignment operator for type any holding T. Assigns self to hold copy of argument ref.

RWAny& RWAny::operator= ( RWAny &&  ref)
inline

Move assignment. Self takes ownership of the data owned by ref.

Condition:
This method is only available on platforms with rvalue reference support.
RWAny& RWAny::swap ( RWAny ref)
inline

Implements a swap operation. After the swap, this object contains the old content of the argument and vice versa.

const std::type_info* RWAny::type ( ) const
inline

Implements type retrieval. Returns &typeid (T) if any holds an object of type T, or 0 otherwise.

Copyright © 2016 Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.