| # Gaudi Framework, version v20r2
Generated: 18 Jul 2008

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

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# IInspector Class Reference

`#include <GaudiKernel/IInspector.h>`

Inheritance diagram for IInspector:

[legend]
Collaboration diagram for IInspector:

[legend]
List of all members.

## Detailed Description

Inspector base class.

Definition at line 16 of file IInspector.h.

## Public Types
enum | { MUTABLE = 1<<1, CONST = 1<<2 }
## Public Member Functions
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

## Member Enumeration Documentation

anonymous enum

Enumerator:

  MUTABLE |
  CONST |

Definition at line 18 of file IInspector.h.

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

## Member Function Documentation

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.

Referenced by inspectByRef().

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.

Referenced by inspectByValue().

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.

Referenced by inspectContByRef().

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.

Referenced by inspectContByValue().

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 80 of file IInspector.h.

References inspectByRef().

    00080                                                                                                         {
    00081                 return inspectByRef(pObj, _TT<T>(), (void*)pOwner, _TT<O>(), comment, flag);
    00082         }

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 85 of file IInspector.h.

References inspectByValue().

    00085                                                                                      {
    00086                 return inspectByValue(new _V<T>(obj), _TT<T>(), (void*)pOwner, _TT<O>(), comment);
    00087         }

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 90 of file IInspector.h.

References inspectContByRef().

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

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 99 of file IInspector.h.

References inspectContByValue().

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

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

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