MIDataPtr< DataStruct > Class Template Reference

#include <adskMIDataPtr.h>

List of all members.


Detailed Description

template<typename DataStruct>
class MIDataPtr< DataStruct >

Smart pointer class that manages the accessing and unpinning of mental ray database elements.
Template Parameters:
DataStruct  The type of the data the smart pointer will reference.

Public Member Functions

  MIDataPtr ()
  Default constructor.
  MIDataPtr (const miTag &pTag)
  Construct by database tag.
  MIDataPtr (DataStruct *pData, const miTag &pTag, bool pBadEndian=false)
  Construct using pre-accessed data.
  MIDataPtr (const MIDataPtr &pPtr)
  Copy constructor.
  ~MIDataPtr ()
  Destructor.
void  set (const miTag &pTag)
  Reinitialization with new database tag.
MIDataPtr< DataStruct > &  operator= (const MIDataPtr &pPtr)
  Assignment operator.
DataStruct *  operator-> ()
  Dereferencing operator.
DataStruct &  operator[] (int pIndex)
  Array access operator.
const DataStruct &  operator[] (int pIndex) const
  Const array access operator.
DataStruct *  get () const
  Pointer access.
const DataStruct *  operator-> () const
  Const dereferencing operator.
bool  isNull () const
  Check pointer nullness.
bool  badEndian () const
  Get the endianness of the data.
  operator bool () const
  Implicit cast to bool.
void  unbind ()
  Unreference pointed data.

Constructor & Destructor Documentation

template<typename DataStruct>
MIDataPtr< DataStruct >::MIDataPtr ( const miTag &  pTag  )  [inline]

Construct by database tag.

Parameters:
[in]  pTag  The miTag to look up.

template<typename DataStruct>
MIDataPtr< DataStruct >::MIDataPtr ( DataStruct *  pData,
const miTag &  pTag,
bool  pBadEndian = false  
) [inline]

Construct using pre-accessed data.

Parameters:
[in]  pData  The pre-accessed data.
[in]  pTag  The miTag associated with the data.
[in]  pBadEndian  True if an endian switch is necessary.

template<typename DataStruct>
MIDataPtr< DataStruct >::MIDataPtr ( const MIDataPtr< DataStruct > &  pPtr  )  [inline]

Copy constructor.

Attention:
This smart pointer passes ownership, so the smart pointer being constructed from will no longer be valid.
Parameters:
pPtr  The MIDataPtr to construct from.

Member Function Documentation

template<typename DataStruct>
void MIDataPtr< DataStruct >::set ( const miTag &  pTag  )  [inline]

Reinitialization with new database tag.

Parameters:
pTag  The miTag to use for reinitialization.

template<typename DataStruct>
MIDataPtr<DataStruct>& MIDataPtr< DataStruct >::operator= ( const MIDataPtr< DataStruct > &  pPtr  )  [inline]

Assignment operator.

Attention:
This smart pointer passes ownership, so the smart pointer being assigned from will no longer be valid.
Parameters:
pPtr  The MIDataPtr to assign from.

template<typename DataStruct>
DataStruct* MIDataPtr< DataStruct >::operator-> (  )  [inline]

Dereferencing operator.

Returns:
The underlying pointer.

template<typename DataStruct>
DataStruct& MIDataPtr< DataStruct >::operator[] ( int  pIndex  )  [inline]

Array access operator.

Parameters:
pIndex  The index in the DataStruct array. Bounds checking is the responsability of the user.
Returns:
The array element.

template<typename DataStruct>
const DataStruct& MIDataPtr< DataStruct >::operator[] ( int  pIndex  )  const [inline]

Const array access operator.

Parameters:
pIndex  The index in the DataStruct array. Bounds checking is the responsability of the user.
Returns:
The (const) array element.

template<typename DataStruct>
DataStruct* MIDataPtr< DataStruct >::get (  )  const [inline]

Pointer access.

Returns:
The underlying pointer.

template<typename DataStruct>
const DataStruct* MIDataPtr< DataStruct >::operator-> (  )  const [inline]

Const dereferencing operator.

Returns:
The underlying (const) pointer.

template<typename DataStruct>
bool MIDataPtr< DataStruct >::isNull (  )  const [inline]

Check pointer nullness.

Returns:
True if the pointer is null.

template<typename DataStruct>
bool MIDataPtr< DataStruct >::badEndian (  )  const [inline]

Get the endianness of the data.

Returns:
True if the data has an endianness which needs to be switched.

template<typename DataStruct>
MIDataPtr< DataStruct >::operator bool (  )  const [inline]

Implicit cast to bool.

Returns:
True if the pointer is non-null, false otherwise.

Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6