Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
DataFormats
Candidate
interface
iterator_deref.h
Go to the documentation of this file.
1
#ifndef Candidate_iterator_deref_h
2
#define Candidate_iterator_deref_h
3
4
#include "
DataFormats/Common/interface/OwnVector.h
"
5
#include "
DataFormats/Common/interface/RefVector.h
"
6
#include "
DataFormats/Common/interface/RefToBase.h
"
7
#include "
DataFormats/Common/interface/Ptr.h
"
8
#include <boost/static_assert.hpp>
9
#include <vector>
10
11
namespace
reco
{
12
namespace
candidate {
13
14
template
<
typename
C>
15
struct
iterator_deref
{
16
BOOST_STATIC_ASSERT
(
sizeof
(
C
) == 0);
17
};
18
19
template
<
typename
T>
20
struct
iterator_deref
<std::vector<T> > {
21
static
const
Candidate
&
deref
(
const
typename
std::vector<T>::const_iterator &
i
) {
22
return
*
i
;
23
}
24
};
25
26
template
<
typename
T>
27
struct
iterator_deref
<edm::OwnVector<T> > {
28
static
const
Candidate
&
deref
(
const
typename
edm::OwnVector<T>::const_iterator
&
i
) {
29
return
*
i
;
30
}
31
};
32
33
template
<
typename
C>
34
struct
iterator_deref
<edm::
RefVector
<C> > {
35
static
const
Candidate
&
deref
(
const
typename
edm::RefVector<C>::const_iterator
&
i
) {
36
return
* *
i
;
37
}
38
};
39
40
template
<
typename
T>
41
struct
iterator_deref
<std::vector<edm::RefToBase<T> > > {
42
static
const
Candidate
&
deref
(
const
typename
std::vector<
edm::RefToBase<T>
>::
const_iterator
&
i
) {
43
return
* *
i
;
44
}
45
};
46
47
template
<
typename
T>
48
struct
iterator_deref
<std::vector<edm::Ptr<T> > > {
49
static
const
Candidate
&
deref
(
const
typename
std::vector<
edm::Ptr<T>
>::
const_iterator
&
i
) {
50
return
* *
i
;
51
}
52
};
53
}
54
}
55
56
#endif
i
int i
Definition:
DBlmapReader.cc:9
reco::candidate::const_iterator
Definition:
const_iterator.h:15
reco::Candidate
Definition:
Candidate.h:32
Ptr.h
RefToBase.h
edm::RefToBase
Definition:
AssociativeIterator.h:50
reco::candidate::iterator_deref< std::vector< edm::RefToBase< T > > >::deref
static const Candidate & deref(const typename std::vector< edm::RefToBase< T > >::const_iterator &i)
Definition:
iterator_deref.h:42
funct::C
C
Definition:
Factorize.h:141
reco::candidate::iterator_deref< edm::RefVector< C > >::deref
static const Candidate & deref(const typename edm::RefVector< C >::const_iterator &i)
Definition:
iterator_deref.h:35
reco::candidate::iterator_deref< edm::OwnVector< T > >::deref
static const Candidate & deref(const typename edm::OwnVector< T >::const_iterator &i)
Definition:
iterator_deref.h:28
edm::Ptr
Definition:
AssociativeIterator.h:51
RefVector.h
L1Trigger_dataformats.reco
dictionary reco
Definition:
L1Trigger_dataformats.py:9
reco::candidate::iterator_deref< std::vector< edm::Ptr< T > > >::deref
static const Candidate & deref(const typename std::vector< edm::Ptr< T > >::const_iterator &i)
Definition:
iterator_deref.h:49
reco::candidate::iterator_deref::BOOST_STATIC_ASSERT
BOOST_STATIC_ASSERT(sizeof(C)==0)
OwnVector.h
edm::OwnVector::const_iterator
Definition:
OwnVector.h:42
edm::RefVectorIterator
Definition:
EDProductfwd.h:28
reco::candidate::iterator_deref
Definition:
iterator_deref.h:15
reco::candidate::iterator_deref< std::vector< T > >::deref
static const Candidate & deref(const typename std::vector< T >::const_iterator &i)
Definition:
iterator_deref.h:21
reco::JetExtendedAssociation::RefVector
edm::RefVector< Container > RefVector
Definition:
JetExtendedAssociation.h:35
Generated for CMSSW Reference Manual by
1.8.5