| The Gaudi Framework v29r1 (5cd95fa2)

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

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

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
struct | 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...
using | iid = Gaudi::InterfaceId< IInterface, 0, 0 >
| Interface ID. More...
using | ext_iids = Gaudi::interface_list< iid >
| Extra interfaces. More...

## Public Member Functions
| DeclareInterfaceID (IInspector, 1, 0)
| InterfaceID. More...
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) More...
template<class T , class O >
StatusCode | inspectByValue (const T &obj, const O *pOwner, const std::string &comment)
| Inspect single item by its value (const) More...
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) More...
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) More...
Public Member Functions inherited from IInterface
virtual void * | i_cast (const InterfaceID &) const =0
| main cast function More...
virtual std::vector< std::string > | getInterfaceNames () const =0
| Returns a vector of strings containing the names of all the implemented interfaces. More...
virtual unsigned long | addRef ()=0
| Increment the reference count of Interface instance. More...
virtual unsigned long | release ()=0
| Release Interface instance. More...
virtual unsigned long | refCount () const =0
| Current reference count. More...
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0
| Set the void** to the pointer to the requested interface of the instance. More...
virtual | ~IInterface ()=default
| Virtual destructor. More...

## 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. More...
virtual StatusCode | inspectByValue (IValue *pObj, const Tag &typ, void *pOwner, const Tag &oTag, const std::string &comment)=0
| Inspect object by Value. More...
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. More...
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. More...

## Additional Inherited Members
Static Public Member Functions inherited from IInterface
static const InterfaceID & | interfaceID ()
| Return an instance of InterfaceID identifying the interface. More...

## Detailed Description

Inspector base class.

Definition at line 15 of file IInspector.h.

## Member Enumeration Documentation

anonymous enum

Enumerator
Mutable |
Const |

Definition at line 21 of file IInspector.h.

21 { Mutable = 1 << 1, Const = 1 << 2 };
IInspector::Mutable
Definition: IInspector.h:21
IInspector::Const
Definition: IInspector.h:21

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

85 {
86 return inspectByRef( pObj, _TT<T>(), (void*)pOwner, _TT<O>(), comment, flag );
87 }
IInspector::inspectByRef
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 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 90 of file IInspector.h.

91 {
92 return inspectByValue( new _V<T>( obj ), _TT<T>(), (void*)pOwner, _TT<O>(), comment );
93 }
IInspector::inspectByValue
virtual StatusCode inspectByValue(IValue *pObj, const Tag &typ, void *pOwner, const Tag &oTag, const std::string &comment)=0
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.

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

97 {
98 typedef typename T::value_type _VVV;
99 typedef typename T::value_type _TTT;
100 // Unfortunately this is not implemented on G++:
101 // typedef typename T::allocator_type::value_type _TTT;
102 return inspectContByRef( (void*)pObj, _TT<T>(), _TT<_VVV>(), _TT<_TTT>(), (void*)pOwner, _TT<O>(), comment, flag );
103 }
IInspector::inspectContByRef
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 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 106 of file IInspector.h.

107 {
108 typedef typename T::value_type _VVV;
109 typedef typename T::value_type _TTT;
110 // Unfortunately this is not implemented on G++:
111 // typedef typename T::allocator_type::value_type _TTT;
112 return inspectContByValue( new _V<T>( obj ), _TT<T>(), _TT<_VVV>(), _TT<_TTT>(), (void*)pOwner, _TT<O>(), comment );
113 }
IInspector::inspectContByValue
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.

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

- GaudiKernel/GaudiKernel/IInspector.h