SourcePro® API Reference Guide

 
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 available only 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 available only 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 © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.