Gaudi Framework, version v24r2

Home   Generated: Wed Dec 4 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
IInspector Class Referenceabstract

Inspector base class. More...

#include <GaudiKernel/IInspector.h>

Inheritance diagram for IInspector:
Inheritance graph
[legend]
Collaboration diagram for IInspector:
Collaboration graph
[legend]

Classes

class  _TT
 
class  _V
 
class  IValue
 
class  Tag
 

Public Types

enum  { MUTABLE = 1<<1, CONST = 1<<2 }
 
- Public Types inherited from IInterface
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...
 
typedef Gaudi::InterfaceId
< IInterface, 0, 0 > 
iid
 Interface ID.
 
typedef mpl::set1< iidext_iids
 Extra interfaces.
 

Public Member Functions

 DeclareInterfaceID (IInspector, 1, 0)
 InterfaceID.
 
template<class T , class O >
StatusCode inspectByRef (const T *pObj, const O *pOwner, const std::string &comment, long flag=MUTABLE)
 Inspect single item by its reference (mutable and const)
 
template<class T , class O >
StatusCode inspectByValue (const T &obj, const O *pOwner, const std::string &comment)
 Inspect single item by its value (const)
 
template<class T , class O >
StatusCode inspectContByRef (const T *pObj, const O *pOwner, const std::string &comment, long flag=MUTABLE)
 Inspect container of object items by its reference (mutable and const)
 
template<class T , class O >
StatusCode inspectContByValue (const T &obj, const O *pOwner, const std::string &comment)
 Inspect container of object items by its value (const)
 
- Public Member Functions inherited from IInterface
virtual void * i_cast (const InterfaceID &) const =0
 main cast function
 
virtual std::vector< std::stringgetInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces.
 
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance.
 
virtual unsigned long release ()=0
 Release Interface instance.
 
virtual unsigned long refCount () const =0
 Current reference count.
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance.
 
virtual ~IInterface ()
 Virtual destructor.
 

Protected Member Functions

virtual StatusCode inspectByRef (const void *pObj, const Tag &typ, void *pOwner, const Tag &otag, const std::string &comment, long flag)=0
 Inspect object by Reference.
 
virtual StatusCode inspectByValue (IValue *pObj, const Tag &typ, void *pOwner, const Tag &oTag, const std::string &comment)=0
 Inspect object by Value.
 
virtual StatusCode inspectContByRef (const void *pObj, const Tag &tag, const Tag &rtag, const Tag &vtag, const void *pOwner, const Tag &otag, const std::string &comment, long flags)=0
 Inspect container of objects by reference.
 
virtual StatusCode inspectContByValue (IValue *pObj, const Tag &tag, const Tag &rtag, const Tag &vtag, const void *pOwner, const Tag &otag, const std::string &comment)=0
 Inspect container of objects by value.
 

Additional Inherited Members

- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface.
 

Detailed Description

Inspector base class.

Definition at line 16 of file IInspector.h.

Member Enumeration Documentation

anonymous enum
Enumerator:
MUTABLE 
CONST 

Definition at line 21 of file IInspector.h.

{ MUTABLE = 1<<1, CONST = 1<<2};

Member Function Documentation

IInspector::DeclareInterfaceID ( IInspector  ,
,
 
)
virtual StatusCode IInspector::inspectByRef ( const void *  pObj,
const Tag typ,
void *  pOwner,
const Tag otag,
const std::string comment,
long  flag 
)
protectedpure virtual

Inspect object by Reference.

template<class T , class O >
StatusCode IInspector::inspectByRef ( const T *  pObj,
const O *  pOwner,
const std::string comment,
long  flag = MUTABLE 
)
inline

Inspect single item by its reference (mutable and const)

Definition at line 83 of file IInspector.h.

{
return inspectByRef(pObj, _TT<T>(), (void*)pOwner, _TT<O>(), comment, flag);
}
virtual StatusCode IInspector::inspectByValue ( IValue pObj,
const Tag typ,
void *  pOwner,
const Tag oTag,
const std::string comment 
)
protectedpure virtual

Inspect object by Value.

template<class T , class O >
StatusCode IInspector::inspectByValue ( const T &  obj,
const O *  pOwner,
const std::string comment 
)
inline

Inspect single item by its value (const)

Definition at line 88 of file IInspector.h.

{
return inspectByValue(new _V<T>(obj), _TT<T>(), (void*)pOwner, _TT<O>(), comment);
}
virtual StatusCode IInspector::inspectContByRef ( const void *  pObj,
const Tag tag,
const Tag rtag,
const Tag vtag,
const void *  pOwner,
const Tag otag,
const std::string comment,
long  flags 
)
protectedpure virtual

Inspect container of objects by reference.

template<class T , class O >
StatusCode IInspector::inspectContByRef ( const T *  pObj,
const O *  pOwner,
const std::string comment,
long  flag = MUTABLE 
)
inline

Inspect container of object items by its reference (mutable and const)

Definition at line 93 of file IInspector.h.

{
typedef typename T::value_type _VVV;
typedef typename T::value_type _TTT;
// Unfortunately this is not implemented on G++:
// typedef typename T::allocator_type::value_type _TTT;
return inspectContByRef((void*)pObj, _TT<T>(), _TT<_VVV>(), _TT<_TTT>(), (void*)pOwner, _TT<O>(), comment, flag);
}
virtual StatusCode IInspector::inspectContByValue ( IValue pObj,
const Tag tag,
const Tag rtag,
const Tag vtag,
const void *  pOwner,
const Tag otag,
const std::string comment 
)
protectedpure virtual

Inspect container of objects by value.

template<class T , class O >
StatusCode IInspector::inspectContByValue ( const T &  obj,
const O *  pOwner,
const std::string comment 
)
inline

Inspect container of object items by its value (const)

Definition at line 102 of file IInspector.h.

{
typedef typename T::value_type _VVV;
typedef typename T::value_type _TTT;
// Unfortunately this is not implemented on G++:
// typedef typename T::allocator_type::value_type _TTT;
return inspectContByValue(new _V<T>(obj), _TT<T>(), _TT<_VVV>(), _TT<_TTT>(), (void*)pOwner, _TT<O>(), comment);
}

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

Generated at Wed Dec 4 2013 14:33:17 for Gaudi Framework, version v24r2 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004