29 #ifndef GENAPI_POINTER_H 30 #define GENAPI_POINTER_H 48 template <
class T,
class B = IBase>
61 :
m_pT( dynamic_cast<T*>(pB) )
72 m_pT =
dynamic_cast<T*
>(pB);
77 operator T*(void)
const 115 operator bool(
void)
const throw()
135 if (0 != nMustBeNull)
242 return dynamic_cast<IInteger*
>(
m_pT->GetNode()->GetCastAlias());
268 # pragma warning (push) // icc -W4 complains: controlling expression is constant 269 # pragma warning (disable : 279) 271 assert(pBase &&
"don't call this with a NULL pointer");
273 # pragma warning (pop) 275 CNodePtr ptrNode(pBase);
276 switch(ptrNode->GetPrincipalInterfaceType())
309 template <
class T,
class B>
316 template <
class T,
class B>
323 template <
class T,
class B>
330 template <
class T,
class B>
342 #endif // ifndef GENAPI_POINTER_H CFloatPtr(IBase *pB)
Constructor from IBase pointer type.
Definition: Pointer.h:227
CPointer< IBase > CBasePtr
SmartPointer for IBase interface pointer.
Definition: Pointer.h:155
bool IsWritable(const CPointer< T, B > &ptr)
Checks if a node is Writable.
Definition: Pointer.h:317
bool operator==(T *pT) const
pointer equal
Definition: Pointer.h:121
IRegister interface.
Definition: Types.h:195
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IFloat
Interface for float properties.
Definition: IFloat.h:58
CPointer< IUserData, INodeMap > CNodeMapUserDataPtr
SmartPointer for IUserData interface pointer.
Definition: Pointer.h:206
CPointer< ICategory > CCategoryPtr
SmartPointer for ICategory interface pointer.
Definition: Pointer.h:164
bool IsValid() const
true if the pointer is valid
Definition: Pointer.h:109
CPointer & operator=(B *pB)
Assign INode Pointer.
Definition: Pointer.h:70
CPointer< IPortRecorder > CPortRecorderPtr
SmartPointer for IPortRecorder interface pointer.
Definition: Pointer.h:191
CPointer< IPort > CPortPtr
SmartPointer for IPort interface pointer.
Definition: Pointer.h:185
T * operator->(void) const
Dereferencing.
Definition: Pointer.h:101
T & operator*(void) const
Dereferencing.
Definition: Pointer.h:85
CPointer< IPortConstruct > CPortConstructPtr
SmartPointer for IPortConstruct interface pointer.
Definition: Pointer.h:258
bool operator==(const CPointer< T, B > &rT) const
pointer equal
Definition: Pointer.h:127
CPointer< IString > CStringPtr
SmartPointer for IString interface pointer.
Definition: Pointer.h:173
T & operator()(void) const
Dereferencing.
Definition: Pointer.h:93
CPointer< ICommand > CCommandPtr
SmartPointer for ICommand interface pointer.
Definition: Pointer.h:214
CPointer< INode > CNodePtr
SmartPointer for INode interface pointer.
Definition: Pointer.h:158
IEnumeration interface.
Definition: Types.h:197
IInteger interface.
Definition: Types.h:190
IInteger * GetIntAlias()
gets the interface of an integer alias node.
Definition: Pointer.h:240
CPointer< IPortWriteList, IPortWriteList > CPortWriteListPtr
SmartPointer for IPortWriteList interface pointer.
Definition: Pointer.h:194
CPointer< IEnumeration > CEnumerationPtr
SmartPointer for IEnumeration interface pointer.
Definition: Pointer.h:179
T * m_pT
Underlying raw pointer.
Definition: Pointer.h:144
IEnumeration * GetEnumAlias()
gets the interface of an enum alias node.
Definition: Pointer.h:246
GENICAM_NAMESPACE::gcstring GetInterfaceName(IBase *pBase)
Definition: Pointer.h:265
Definition of the IFloat interface.
IPort interface.
Definition: Types.h:199
CPointer< IBoolean > CBooleanPtr
SmartPointer for IBoolean interface pointer.
Definition: Pointer.h:167
CPointer< IEnumEntry > CEnumEntryPtr
SmartPointer for IEnumEntry interface pointer.
Definition: Pointer.h:182
IString interface.
Definition: Types.h:194
IBoolean interface.
Definition: Types.h:191
Encapsulates a GenApi pointer dealing with the dynamic_cast automatically.
Definition: Pointer.h:49
CPointer< IRegister > CRegisterPtr
SmartPointer for IRegister interface pointer.
Definition: Pointer.h:176
CPointer< INodeMap, INodeMap > CNodeMapPtr
SmartPointer for INodeMap interface pointer.
Definition: Pointer.h:200
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IBase
Base interface common to all nodes.
Definition: IBase.h:53
CPointer< IValue > CValuePtr
SmartPointer for IValue interface pointer.
Definition: Pointer.h:161
bool IsAvailable(const CPointer< T, B > &ptr)
Checks if a node is Available.
Definition: Pointer.h:331
ICommand interface.
Definition: Types.h:192
bool IsReadable(const CPointer< T, B > &ptr)
Checks if a node is readable.
Definition: Pointer.h:310
#define LOGICAL_ERROR_EXCEPTION
Fires a logical error exception, e.g. throw LOGICAL_ERROR_EXCEPTION("Should never reach this point") ...
Definition: GCException.h:249
CPointer< IPortReplay > CPortReplayPtr
SmartPointer for IPortReplay interface pointer.
Definition: Pointer.h:188
Forward declarations for GenICam types.
CPointer< IPortStackedConstruct > CPortStackedConstructPtr
SmartPointer for IPortStackedConstruct interface pointer.
Definition: Pointer.h:261
Definition of the interface IInteger.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IEnumeration
Interface for enumeration properties.
Definition: IEnumeration.h:58
IEnumEntry interface.
Definition: Types.h:198
bool IsImplemented(const CPointer< T, B > &ptr)
Checks if a node is Implemented.
Definition: Pointer.h:324
A string class which is a clone of std::string.
Definition: GCString.h:50
IBase interface.
Definition: Types.h:189
GENICAM_INTERFACE IInteger
Interface for integer properties.
Definition: IFloat.h:112
CPointer(void)
Default constructor.
Definition: Pointer.h:54
ICategory interface.
Definition: Types.h:196
IValue interface.
Definition: Types.h:188
Definition of interface IEnumeration.
IFloat interface.
Definition: Types.h:193
CPointer< IInteger > CIntegerPtr
SmartPointer for IInteger interface pointer.
Definition: Pointer.h:170
CPointer(B *pB)
Constructor from INode pointer type.
Definition: Pointer.h:60
CPointer< ISelector > CSelectorPtr
SmartPointer for ISelector interface pointer.
Definition: Pointer.h:211
bool operator==(int nMustBeNull) const
pointer equal
Definition: Pointer.h:133
CPointer< IUserData > CNodeUserDataPtr
SmartPointer for IUserData interface pointer.
Definition: Pointer.h:208
CFloatPtr()
Default constructor.
Definition: Pointer.h:221
CPointer< IChunkPort > CChunkPortPtr
SmartPointer for IChunkPort interface pointer.
Definition: Pointer.h:197
CFloatPtr & operator=(IBase *pB)
Assign IBase Pointer.
Definition: Pointer.h:233
CPointer< IDeviceInfo, INodeMap > CDeviceInfoPtr
SmartPointer for IDeviceInfo interface pointer.
Definition: Pointer.h:203
Definition: ChunkAdapter.h:37
SmartPointer for IFloat interface pointer.
Definition: Pointer.h:217