| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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:
[legend]
Collaboration diagram for IInspector:
[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 |
| ) |  |

InterfaceID.

virtual StatusCode IInspector::inspectByRef | ( | const void * | pObj,
|  | const Tag & | typ,
|  | void * | pOwner,
|  | const Tag & | otag,
|  | const std::string & | comment,
|  | long | flag
| ) |  |
| protected pure 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
| ) |  |
| protected pure 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
| ) |  |
| protected pure 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
| ) |  |
| protected pure 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:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiKernel/GaudiKernel/IInspector.h