HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VdfObjectPtr Class Reference

#include <object.h>

Classes

struct  HashFunctor
 

Public Types

enum  Type {
  Undefined = -1, Node, Connection, Input,
  Output
}
 Type of object. More...
 

Public Member Functions

 VdfObjectPtr ()
 
 VdfObjectPtr (VdfNode *node)
 
 VdfObjectPtr (const VdfNode *node)
 
 VdfObjectPtr (VdfConnection *connection)
 
 VdfObjectPtr (const VdfConnection *connection)
 
 VdfObjectPtr (VdfInput *input)
 
 VdfObjectPtr (const VdfInput *input)
 
 VdfObjectPtr (VdfOutput *output)
 
 VdfObjectPtr (const VdfOutput *output)
 
VdfObjectPtroperator= (const VdfObjectPtr &rhs)
 
bool operator< (const VdfObjectPtr &rhs) const
 
bool operator<= (const VdfObjectPtr &rhs) const
 
bool operator> (const VdfObjectPtr &rhs) const
 
bool operator>= (const VdfObjectPtr &rhs) const
 
bool operator== (const VdfObjectPtr &rhs) const
 
bool operator!= (const VdfObjectPtr &rhs) const
 
 operator bool () const
 
Type GetType () const
 
bool IsConst () const
 
bool IsNode () const
 
bool IsConnection () const
 
bool IsInput () const
 
bool IsOutput () const
 
VdfNodeGetNonConstNode () const
 
VdfConnectionGetNonConstConnection () const
 
VdfInputGetNonConstInput () const
 
VdfOutputGetNonConstOutput () const
 
const VdfNodeGetNode () const
 
const VdfConnectionGetConnection () const
 
const VdfInputGetInput () const
 
const VdfOutputGetOutput () const
 
const VdfNodeGetIfNode () const
 
const VdfConnectionGetIfConnection () const
 
const VdfInputGetIfInput () const
 
const VdfOutputGetIfOutput () const
 
VdfNodeGetIfNonConstNode () const
 
VdfConnectionGetIfNonConstConnection () const
 
VdfInputGetIfNonConstInput () const
 
VdfOutputGetIfNonConstOutput () const
 
VDF_API const VdfNodeGetOwningNode () const
 
VDF_API std::string GetDebugName () const
 
const voidGetIdentity () const
 

Detailed Description

An universal class to represent pointers to various Vdf types.

XXX: We are considering using a base class within Vdf, but we want to measure the speed/size impact first.

XXX: We could pack everything into 8 bytes and use it as value type.

Definition at line 39 of file object.h.

Member Enumeration Documentation

Type of object.

Enumerator
Undefined 
Node 
Connection 
Input 
Output 

Definition at line 44 of file object.h.

Constructor & Destructor Documentation

VdfObjectPtr::VdfObjectPtr ( )
inline

Ctor to create the NULL object.

Definition at line 56 of file object.h.

VdfObjectPtr::VdfObjectPtr ( VdfNode node)
inline

Ctor to create an anchor from a node.

Definition at line 63 of file object.h.

VdfObjectPtr::VdfObjectPtr ( const VdfNode node)
inline

Ctor to create an anchor from a const node.

Definition at line 70 of file object.h.

VdfObjectPtr::VdfObjectPtr ( VdfConnection connection)
inline

Ctor to create an anchor from a connection.

Definition at line 77 of file object.h.

VdfObjectPtr::VdfObjectPtr ( const VdfConnection connection)
inline

Ctor to create an anchor from a const connection.

Definition at line 84 of file object.h.

VdfObjectPtr::VdfObjectPtr ( VdfInput input)
inline

Ctor to create an anchor from a input.

Definition at line 91 of file object.h.

VdfObjectPtr::VdfObjectPtr ( const VdfInput input)
inline

Ctor to create an anchor from a input.

Definition at line 98 of file object.h.

VdfObjectPtr::VdfObjectPtr ( VdfOutput output)
inline

Ctor to create an anchor from a output.

Definition at line 105 of file object.h.

VdfObjectPtr::VdfObjectPtr ( const VdfOutput output)
inline

Ctor to create an anchor from a output.

Definition at line 112 of file object.h.

Member Function Documentation

const VdfConnection& VdfObjectPtr::GetConnection ( ) const
inline

Returns a const reference to a connection. Fails if object is not a connection.

Definition at line 277 of file object.h.

VDF_API std::string VdfObjectPtr::GetDebugName ( ) const

Returns a debug name for this object.

const void* VdfObjectPtr::GetIdentity ( ) const
inline

Returns the identity of this object as a void *.

Definition at line 378 of file object.h.

const VdfConnection* VdfObjectPtr::GetIfConnection ( ) const
inline

Returns a pointer to a VdfConnection if the object is holding a connection, NULL otherwise.

Definition at line 311 of file object.h.

const VdfInput* VdfObjectPtr::GetIfInput ( ) const
inline

Returns a pointer to a VdfInput if the object is holding a input, NULL otherwise.

Definition at line 319 of file object.h.

const VdfNode* VdfObjectPtr::GetIfNode ( ) const
inline

Returns a pointer to a VdfNode if the object is holding a node, NULL otherwise.

Definition at line 303 of file object.h.

VdfConnection* VdfObjectPtr::GetIfNonConstConnection ( ) const
inline

Returns a pointer to a VdfConnection if the object is holding a non-const connection, NULL otherwise.

Definition at line 343 of file object.h.

VdfInput* VdfObjectPtr::GetIfNonConstInput ( ) const
inline

Returns a pointer to a VdfInput if the object is holding a non-const input, NULL otherwise.

Definition at line 351 of file object.h.

VdfNode* VdfObjectPtr::GetIfNonConstNode ( ) const
inline

Returns a pointer to a VdfNode if the object is holding a non-const node, NULL otherwise.

Definition at line 335 of file object.h.

VdfOutput* VdfObjectPtr::GetIfNonConstOutput ( ) const
inline

Returns a pointer to a VdfOutput if the object is holding a non-const output, NULL otherwise.

Definition at line 359 of file object.h.

const VdfOutput* VdfObjectPtr::GetIfOutput ( ) const
inline

Returns a pointer to a VdfOutput if the object is holding a output, NULL otherwise.

Definition at line 327 of file object.h.

const VdfInput& VdfObjectPtr::GetInput ( ) const
inline

Returns a const reference to an input. Fails if object is not an input.

Definition at line 285 of file object.h.

const VdfNode& VdfObjectPtr::GetNode ( ) const
inline

Returns a const reference to a node. Fails if object is not a node.

Definition at line 268 of file object.h.

VdfConnection* VdfObjectPtr::GetNonConstConnection ( ) const
inline

Returns a non-const pointer to a connection. Fails if object is const or not a connection (cf. GetIfNode()).

Definition at line 239 of file object.h.

VdfInput* VdfObjectPtr::GetNonConstInput ( ) const
inline

Returns a non-const pointer to an input. Fails if object is const or not an input (cf. GetIfNode()).

Definition at line 249 of file object.h.

VdfNode* VdfObjectPtr::GetNonConstNode ( ) const
inline

Returns a non-const pointer to a node. Fails if object is const or not a node (cf. GetIfNode()).

Definition at line 229 of file object.h.

VdfOutput* VdfObjectPtr::GetNonConstOutput ( ) const
inline

Returns a non-const pointer to an output. Fails if object is const or not an output (cf. GetIfNode()).

Definition at line 259 of file object.h.

const VdfOutput& VdfObjectPtr::GetOutput ( ) const
inline

Returns a const reference to an output. Fails if object is not an output.

Definition at line 294 of file object.h.

VDF_API const VdfNode* VdfObjectPtr::GetOwningNode ( ) const

Returns the owning node of this object if object is an input or output. Returns the node itself if object is a node and returns NULL if object is a connection.

Type VdfObjectPtr::GetType ( ) const
inline

Returns the type of the object.

Definition at line 186 of file object.h.

bool VdfObjectPtr::IsConnection ( ) const
inline

Returns true if the object is a node.

Definition at line 207 of file object.h.

bool VdfObjectPtr::IsConst ( ) const
inline

Returns true, if the object being hold is const.

Definition at line 193 of file object.h.

bool VdfObjectPtr::IsInput ( ) const
inline

Returns true if the object is a node.

Definition at line 214 of file object.h.

bool VdfObjectPtr::IsNode ( ) const
inline

Returns true if the object is a node.

Definition at line 200 of file object.h.

bool VdfObjectPtr::IsOutput ( ) const
inline

Returns true if the object is a node.

Definition at line 221 of file object.h.

VdfObjectPtr::operator bool ( ) const
inline

Returns false, if the object holds the NULL object.

Definition at line 179 of file object.h.

bool VdfObjectPtr::operator!= ( const VdfObjectPtr rhs) const
inline

Not equal operator.

Definition at line 162 of file object.h.

bool VdfObjectPtr::operator< ( const VdfObjectPtr rhs) const
inline

Less than operator used for map.

Definition at line 130 of file object.h.

bool VdfObjectPtr::operator<= ( const VdfObjectPtr rhs) const
inline

Definition at line 135 of file object.h.

VdfObjectPtr& VdfObjectPtr::operator= ( const VdfObjectPtr rhs)
inline

Assignment operator.

Definition at line 119 of file object.h.

bool VdfObjectPtr::operator== ( const VdfObjectPtr rhs) const
inline

Equality operator. Note that constness doesn't matter.

Definition at line 154 of file object.h.

bool VdfObjectPtr::operator> ( const VdfObjectPtr rhs) const
inline

More than operator used for map.

Definition at line 142 of file object.h.

bool VdfObjectPtr::operator>= ( const VdfObjectPtr rhs) const
inline

Definition at line 147 of file object.h.

Member Data Documentation

VdfConnection* VdfObjectPtr::_connection

Definition at line 393 of file object.h.

const VdfConnection* VdfObjectPtr::_constConnection

Definition at line 398 of file object.h.

const VdfInput* VdfObjectPtr::_constInput

Definition at line 399 of file object.h.

const VdfNode* VdfObjectPtr::_constNode

Definition at line 397 of file object.h.

const VdfOutput* VdfObjectPtr::_constOutput

Definition at line 400 of file object.h.

VdfInput* VdfObjectPtr::_input

Definition at line 394 of file object.h.

VdfNode* VdfObjectPtr::_node

Definition at line 392 of file object.h.

VdfOutput* VdfObjectPtr::_output

Definition at line 395 of file object.h.


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