ATLAS Offline Software
Loading...
Searching...
No Matches
ICollectionGetterTool.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id$
14
15#ifndef D3PDMAKERINTERFACES_ICOLLECTIONGETTERTOOL_H
16#define D3PDMAKERINTERFACES_ICOLLECTIONGETTERTOOL_H
17
18
21#include "GaudiKernel/IAlgTool.h"
22
23
24namespace D3PD {
25
26
37 : virtual public IObjGetterTool,
38 public IIteration
39{
40public:
43
44
52 virtual StatusCode reset (bool allowMissing = false) = 0;
53
54
65 virtual size_t sizeHint (bool allowMissing = false) = 0;
66
67
77 template <class T>
78 const T* next();
79
80
90 template <class T>
91 StatusCode configureD3PD();
92
93
102 virtual const void* nextTypeinfo (const std::type_info& ti) = 0;
103
104
113 virtual StatusCode configureElementTypeinfo (const std::type_info& ti) = 0;
114
115
127 template <class T>
128 void releaseElement (const T* p);
129
130
141 void releaseElementTypeinfo (const void* p,
142 const std::type_info& ti);
143};
144
145
146} // namespace D3PD
147
148
150
151
152#endif // not D3PDMAKERINTERFACES_ICOLLECTIONGETTERTOOL_H
Abstract interface for iterating over a set of things.
Abstract interface to get an object to put in the tuple.
Abstract interface to get a collection of objects and iterate over it.
StatusCode configureD3PD()
Test type compatibility.
void releaseElementTypeinfo(const void *p, const std::type_info &ti)
Release an element retrieved from the getter.
const T * next()
Type-safe wrapper for next.
void releaseElement(const T *p)
Type-safe wrapper for releaseElementUntyped.
virtual const void * nextTypeinfo(const std::type_info &ti)=0
Return the next object cast to a different pointer type.
virtual size_t sizeHint(bool allowMissing=false)=0
Return an estimate of the number of elements in the iteration.
DeclareInterfaceID(ICollectionGetterTool, 1, 0)
Gaudi interface definition.
virtual StatusCode configureElementTypeinfo(const std::type_info &ti)=0
Test type compatibility.
virtual StatusCode reset(bool allowMissing=false)=0
Reset the iteration to the start of the collection.
Abstract interface for iterating over a set of things.
Definition IIteration.h:41
Abstract interface to get an object to put in the tuple.
Block filler tool for noisy FEB information.