# Ogre::AnyNumeric Class Reference

Specialised Any class which has built in arithmetic operators, but can hold only types which support operator +,-,* and / . More...

`#include <OgreAny.h>`

Inheritance diagram for Ogre::AnyNumeric:

[legend]

List of all members.

## Public Member Functions

| AnyNumeric ()
template<typename ValueType>
| AnyNumeric (const ValueType &value)
| AnyNumeric (const AnyNumeric &other)
AnyNumeric & | operator= (const AnyNumeric &rhs)
AnyNumeric | operator+ (const AnyNumeric &rhs) const
AnyNumeric | operator- (const AnyNumeric &rhs) const
AnyNumeric | operator* (const AnyNumeric &rhs) const
AnyNumeric | operator* (Real factor) const
AnyNumeric | operator/ (const AnyNumeric &rhs) const
AnyNumeric & | operator+= (const AnyNumeric &rhs)
AnyNumeric & | operator-= (const AnyNumeric &rhs)
AnyNumeric & | operator*= (const AnyNumeric &rhs)
AnyNumeric & | operator/= (const AnyNumeric &rhs)
Any & | swap (Any &rhs)
bool | isEmpty () const
const std::type_info & | getType () const
template<typename ValueType>
ValueType | operator() () const

## Protected Member Functions

| AnyNumeric (placeholder *pholder)
| Construct from holder.

## Protected Attributes

placeholder * | mContent

## Friends

std::ostream & | operator<< (std::ostream &o, const Any &v)
template<typename ValueType>
ValueType * | any_cast (Any *)

## Classes

class | numholder
class | numplaceholder

## Detailed Description

Specialised Any class which has built in arithmetic operators, but can hold only types which support operator +,-,* and / .

Definition at line 215 of file OgreAny.h.

## Constructor & Destructor Documentation

Ogre::AnyNumeric::AnyNumeric | ( |  | ) |

Definition at line 218 of file OgreAny.h.

Referenced by operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), and operator=().

template<typename ValueType>

Ogre::AnyNumeric::AnyNumeric | ( | const ValueType & | value | ) |

Definition at line 224 of file OgreAny.h.

References Ogre::Any::mContent, Ogre::MEMCATEGORY_GENERAL, and OGRE_NEW_T.

Ogre::AnyNumeric::AnyNumeric | ( | const AnyNumeric & | other | ) |

Definition at line 230 of file OgreAny.h.

References Ogre::Any::placeholder::clone(), and Ogre::Any::mContent.

Ogre::AnyNumeric::AnyNumeric | ( | placeholder * | pholder | ) | `[protected]`

Construct from holder.

Definition at line 305 of file OgreAny.h.

References Ogre::Any::mContent.

## Member Function Documentation

AnyNumeric& Ogre::AnyNumeric::operator= | ( | const AnyNumeric & | rhs | ) |

Definition at line 311 of file OgreAny.h.

References AnyNumeric().

AnyNumeric Ogre::AnyNumeric::operator+ | ( | const AnyNumeric & | rhs | ) | const

Definition at line 316 of file OgreAny.h.

References AnyNumeric(), and Ogre::Any::mContent.

AnyNumeric Ogre::AnyNumeric::operator- | ( | const AnyNumeric & | rhs | ) | const

Definition at line 321 of file OgreAny.h.

References AnyNumeric(), and Ogre::Any::mContent.

AnyNumeric Ogre::AnyNumeric::operator* | ( | const AnyNumeric & | rhs | ) | const

Definition at line 326 of file OgreAny.h.

References AnyNumeric(), and Ogre::Any::mContent.

AnyNumeric Ogre::AnyNumeric::operator* | ( | Real | factor | ) | const

Definition at line 331 of file OgreAny.h.

References AnyNumeric(), and Ogre::Any::mContent.

AnyNumeric Ogre::AnyNumeric::operator/ | ( | const AnyNumeric & | rhs | ) | const

Definition at line 336 of file OgreAny.h.

References AnyNumeric(), and Ogre::Any::mContent.

AnyNumeric& Ogre::AnyNumeric::operator+= | ( | const AnyNumeric & | rhs | ) |

Definition at line 341 of file OgreAny.h.

References AnyNumeric(), and Ogre::Any::mContent.

AnyNumeric& Ogre::AnyNumeric::operator-= | ( | const AnyNumeric & | rhs | ) |

Definition at line 347 of file OgreAny.h.

References AnyNumeric(), and Ogre::Any::mContent.

AnyNumeric& Ogre::AnyNumeric::operator*= | ( | const AnyNumeric & | rhs | ) |

Definition at line 353 of file OgreAny.h.

References AnyNumeric(), and Ogre::Any::mContent.

AnyNumeric& Ogre::AnyNumeric::operator/= | ( | const AnyNumeric & | rhs | ) |

Definition at line 359 of file OgreAny.h.

References AnyNumeric(), and Ogre::Any::mContent.

Any& Ogre::Any::swap | ( | Any & | rhs | ) | `[inherited]`

Definition at line 78 of file OgreAny.h.

References Ogre::Any::mContent.

bool Ogre::Any::isEmpty | ( |  | ) | const`[inherited]`

Definition at line 99 of file OgreAny.h.

References Ogre::Any::mContent.

const std::type_info& Ogre::Any::getType | ( | void |  | ) | const`[inherited]`

Definition at line 104 of file OgreAny.h.

References Ogre::Any::placeholder::getType(), and Ogre::Any::mContent.

Referenced by Ogre::any_cast(), and Ogre::Any::operator()().

template<typename ValueType>

ValueType Ogre::Any::operator() | ( |  | ) | const`[inherited]`

Definition at line 184 of file OgreAny.h.

References Ogre::Exception::ERR_INVALIDPARAMS, Ogre::Any::getType(), Ogre::Any::mContent, and OGRE_EXCEPT.

## Friends And Related Function Documentation

std::ostream& operator<< | ( | std::ostream & | o,
|  | const Any & | v |
| ) |  |  | `[friend, inherited]`

Definition at line 110 of file OgreAny.h.

template<typename ValueType>

ValueType* any_cast | ( | Any * | operand | ) | `[friend, inherited]`

Definition at line 373 of file OgreAny.h.

## Member Data Documentation

placeholder* Ogre::Any::mContent `[protected, inherited]`

Definition at line 175 of file OgreAny.h.

Referenced by Ogre::any_cast(), AnyNumeric(), Ogre::Any::getType(), Ogre::Any::isEmpty(), Ogre::Any::operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), Ogre::Any::swap(), and Ogre::Any::~Any().

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

- OgreAny.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Dec 27 17:31:34 2009