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< iid > ext_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::string > getInterfaceNames () 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 InterfaceID & interfaceID ()
 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  ,
1  ,
0   
)
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