# ExchangePointerObject

## Type Aliases

A3DStatus(* | `PGetFunction`

## Fields

TypeData | `data`

## Functions

| `ExchangePointerObject`
| `ExchangePointerObject`
| `~ExchangePointerObject`
ExchangePointerObject & | `operator=`
| `operator Type *`
TypeData const * | `operator->`
TypeData * | `operator->`
bool | `IsValid`

## Detailed Description

template<typename Type, typename TypeData>
class ExchangePointerObject

  Subclassed by Query::AsmModelFile, Query::AsmPartDefinition, Query::AsmProductOccurrence, Query::CrvBlend02Boundary, Query::CrvCircle, Query::CrvComposite, Query::CrvEllipse, Query::CrvHelix, Query::CrvHyperbola, Query::CrvIntersection, Query::CrvLine, Query::CrvOffset, Query::CrvOnSurf, Query::CrvParabola, Query::CrvPolyLine, Query::CrvTransform, Query::DrawingBlockBasic, Query::DrawingBlockOperator, Query::DrawingClipFrame, Query::DrawingCurve, Query::DrawingFilledArea, Query::DrawingModel, Query::DrawingPicture, Query::DrawingSheet, Query::DrawingSheetFormat, Query::DrawingVertices, Query::DrawingView, Query::MDPosition2D, Query::MarkupDefinition, Query::MarkupRichText, Query::MkpMarkup, Query::RiRepresentationItem, Query::RootBase, Query::Tess3DWire, Query::TessBase, Query::TessMarkup

  Public Types

  typedef A3DStatus (*PGetFunction)(Type const*, TypeData*)

  Public Functions

  inline ExchangePointerObject(Type *entity, PGetFunction getter)
  inline ExchangePointerObject(ExchangePointerObject &&that)
  inline virtual ~ExchangePointerObject()
  inline ExchangePointerObject &operator=(ExchangePointerObject &&that)
  inline operator Type*() const
  inline TypeData const *operator->() const
  inline TypeData *operator->()
  inline bool IsValid() const

  Public Members

  TypeData data