Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Related Functions | List of all members
Teuchos::any Class Reference

Modified boost::any class, which is a container for a templated value. More...

#include <Teuchos_any.hpp>

Public Member Functions

 any ()
 Empty constructor. More...
 
template<typename ValueType >
 any (const ValueType &value)
 Templated constructor. More...
 
 any (const any &other)
 Copy constructor. More...
 
 ~any ()
 Destructor. More...
 
anyswap (any &rhs)
 Method for swapping the contents of two any classes. More...
 
template<typename ValueType >
anyoperator= (const ValueType &rhs)
 Copy the value rhs More...
 
anyoperator= (const any &rhs)
 Copy the value held in rhs More...
 
bool empty () const
 Return true if nothing is being stored. More...
 
const std::type_info & type () const
 Return the type of value being stored. More...
 
std::string typeName () const
 Return the name of the type. More...
 
bool same (const any &other) const
 Return if two any objects are the same or not. More...
 
void print (std::ostream &os) const
 Print this value to the output stream os More...
 

Related Functions

(Note that these are not member functions.)

template<typename ValueType >
ValueType & any_cast (any &operand)
 Used to extract the templated value held in Teuchos::any to a given value type. More...
 
template<typename ValueType >
const ValueType & any_cast (const any &operand)
 Used to extract the const templated value held in Teuchos::any to a given const value type. More...
 
template<typename ValueType >
ValueType & any_ref_cast (any &operand)
 Keep the convenient behavior of Teuchos::any_cast w.r.t. references, but don't confuse it with the behavior for C++17 std::any_cast. More...
 
std::string toString (const any &rhs)
 Converts the value in any to a std::string. More...
 
bool operator== (const any &a, const any &b)
 Returns true if two any objects have the same value. More...
 
bool operator!= (const any &a, const any &b)
 Returns true if two any objects do not have the same value. More...
 
std::ostream & operator<< (std::ostream &os, const any &rhs)
 Writes "any" input rhs to the output stream os. More...
 
void swap (Teuchos::any &a, Teuchos::any &b)
 Special swap for other code to find via Argument Dependent Lookup. More...
 
template<typename T >
T & make_any_ref (any &rhs)
 Default constructs a new T value and returns a reference to it. More...
 

Detailed Description

Modified boost::any class, which is a container for a templated value.

Definition at line 154 of file Teuchos_any.hpp.

Constructor & Destructor Documentation

Teuchos::any::any ( )
inline

Empty constructor.

Definition at line 158 of file Teuchos_any.hpp.

template<typename ValueType >
Teuchos::any::any ( const ValueType &  value)
inlineexplicit

Templated constructor.

Definition at line 164 of file Teuchos_any.hpp.

Teuchos::any::any ( const any other)
inline

Copy constructor.

Definition at line 169 of file Teuchos_any.hpp.

Teuchos::any::~any ( )
inline

Destructor.

Definition at line 174 of file Teuchos_any.hpp.

Member Function Documentation

any& Teuchos::any::swap ( any rhs)
inline

Method for swapping the contents of two any classes.

Definition at line 180 of file Teuchos_any.hpp.

template<typename ValueType >
any& Teuchos::any::operator= ( const ValueType &  rhs)
inline

Copy the value rhs

Definition at line 188 of file Teuchos_any.hpp.

any& Teuchos::any::operator= ( const any rhs)
inline

Copy the value held in rhs

Definition at line 195 of file Teuchos_any.hpp.

bool Teuchos::any::empty ( ) const
inline

Return true if nothing is being stored.

Definition at line 202 of file Teuchos_any.hpp.

const std::type_info& Teuchos::any::type ( ) const
inline

Return the type of value being stored.

Definition at line 208 of file Teuchos_any.hpp.

std::string Teuchos::any::typeName ( ) const
inline

Return the name of the type.

Definition at line 214 of file Teuchos_any.hpp.

bool Teuchos::any::same ( const any other) const
inline

Return if two any objects are the same or not.

Warning
This function with throw an exception if operator== can't be applied to the held type!

Definition at line 223 of file Teuchos_any.hpp.

void Teuchos::any::print ( std::ostream &  os) const
inline

Print this value to the output stream os

Warning
This function with throw an exception if the held type can't be printed via operator<< !

Definition at line 239 of file Teuchos_any.hpp.

Friends And Related Function Documentation

template<typename ValueType >
ValueType & any_cast ( any operand)
related

Used to extract the templated value held in Teuchos::any to a given value type.

Note
  • If the templated value type and templated type are not the same then a bad_any_cast is thrown.
  • If the dynamic cast fails, then a Teuchos::bad_any_cast std::exception is thrown.

Definition at line 339 of file Teuchos_any.hpp.

template<typename ValueType >
const ValueType & any_cast ( const any operand)
related

Used to extract the const templated value held in Teuchos::any to a given const value type.

Note
  • If the templated value type and templated type are not the same then a bad_any_cast is thrown.
  • If the dynamic cast fails, then a logic_error is thrown.

Definition at line 375 of file Teuchos_any.hpp.

template<typename ValueType >
ValueType & any_ref_cast ( any operand)
related

Keep the convenient behavior of Teuchos::any_cast w.r.t. references, but don't confuse it with the behavior for C++17 std::any_cast.

Note
In C++17, one must use std::any_cast<T&> to get a reference. This function will ensure that uses of Teuchos::any_ref_cast<T> are consciously replaced with std::any_cast<T&> when C++17 is used.

Definition at line 388 of file Teuchos_any.hpp.

std::string toString ( const any rhs)
related

Converts the value in any to a std::string.

Warning
This function with throw an exception if the held type can't be printed via operator<< !

Definition at line 398 of file Teuchos_any.hpp.

bool operator== ( const any a,
const any b 
)
related

Returns true if two any objects have the same value.

Warning
This function with throw an exception if operator== can't be applied to the held type!

Definition at line 410 of file Teuchos_any.hpp.

bool operator!= ( const any a,
const any b 
)
related

Returns true if two any objects do not have the same value.

Warning
This function with throw an exception if operator== can't be applied to the held type!

Definition at line 420 of file Teuchos_any.hpp.

std::ostream & operator<< ( std::ostream &  os,
const any rhs 
)
related

Writes "any" input rhs to the output stream os.

Warning
This function with throw an exception if the held type can't be printed via operator<< !

Definition at line 430 of file Teuchos_any.hpp.

void swap ( Teuchos::any a,
Teuchos::any b 
)
related

Special swap for other code to find via Argument Dependent Lookup.

Definition at line 439 of file Teuchos_any.hpp.

template<typename T >
T & make_any_ref ( any rhs)
related

Default constructs a new T value and returns a reference to it.

Definition at line 447 of file Teuchos_any.hpp.


The documentation for this class was generated from the following file: