| # Gaudi Framework, version v21r11 |

Home |  | Generated: 30 Sep 2010

# IInspector Class Reference

Inspector base class. More...

`#include <GaudiKernel/IInspector.h>`

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

List of all members.

## Public Types
enum | { MUTABLE = 1<<1, CONST = 1<<2 }
## 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).
## 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.
## Classes
class | _TT
class | _V
class | IValue
class | Tag

## 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.

    00021 { 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.

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.

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.

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::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.

    00083                                                                                                         {
    00084                 return inspectByRef(pObj, _TT<T>(), (void*)pOwner, _TT<O>(), comment, flag);
    00085         }

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.

    00088                                                                                      {
    00089                 return inspectByValue(new _V<T>(obj), _TT<T>(), (void*)pOwner, _TT<O>(), comment);
    00090         }

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.

    00093                                                                                                                   {
    00094           typedef typename T::value_type                 _VVV;
    00095           typedef typename T::value_type                 _TTT;
    00096           // Unfortunately this is not implemented on G++:
    00097           // typedef typename T::allocator_type::value_type _TTT;
    00098     return inspectContByRef((void*)pObj, _TT<T>(), _TT<_VVV>(), _TT<_TTT>(), (void*)pOwner, _TT<O>(), comment, flag);
    00099   }

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.

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

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

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