Geometry
CaloGeometry
interface
EZMgrFL.h
Go to the documentation of this file.
1
#ifndef GEOMETRY_CALOGEOMETRY_EZMGRFL_H
2
#define GEOMETRY_CALOGEOMETRY_EZMGRFL_H 1
3
4
#include <vector>
5
#include <cassert>
6
7
template
<
class
T>
8
class
EZMgrFL
{
9
public
:
10
typedef
std::vector<T>
VecType
;
11
typedef
typename
VecType::iterator
iterator
;
12
typedef
typename
VecType::const_iterator
const_iterator
;
13
typedef
typename
VecType::reference
reference
;
14
typedef
typename
VecType::const_reference
const_reference
;
15
typedef
typename
VecType::value_type
value_type
;
16
typedef
typename
VecType::size_type
size_type
;
17
18
EZMgrFL<T>
(
size_type
vecSize
,
size_type
subSize
) :
m_vecSize
(
vecSize
),
m_subSize
(
subSize
) {
19
m_vec
.resize(0);
20
assert
(
subSize
> 0);
21
assert
(
vecSize
> 0);
22
assert
(0 ==
m_vec
.capacity());
23
}
24
25
virtual
~
EZMgrFL<T>
() {}
26
27
iterator
reserve
() {
return
assign
(); }
28
iterator
resize
() {
return
assign
(); }
29
30
iterator
assign
(
const
T
&
t
=
T
()) {
31
assert
((
m_vec
.size() +
m_subSize
) <=
m_vecSize
);
32
if
(0 ==
m_vec
.capacity()) {
33
m_vec
.reserve(
m_vecSize
);
34
assert
(
m_vecSize
==
m_vec
.capacity());
35
}
36
for
(
size_type
i
(0);
i
!=
m_subSize
; ++
i
) {
37
m_vec
.emplace_back(
t
);
38
}
39
return
(
m_vec
.end() -
m_subSize
);
40
}
41
42
size_type
subSize
()
const
{
return
m_subSize
; }
43
size_type
size
()
const
{
return
m_vec
.size(); }
44
45
size_type
vecSize
()
const
{
return
m_vec
.size(); }
46
47
EZMgrFL
() =
delete
;
48
EZMgrFL
(
const
EZMgrFL
&) =
delete
;
49
EZMgrFL
&
operator=
(
const
EZMgrFL
&) =
delete
;
50
51
private
:
52
const
size_type
m_vecSize
;
53
const
size_type
m_subSize
;
54
VecType
m_vec
;
55
};
56
57
#endif
EZMgrFL::const_reference
VecType::const_reference const_reference
Definition:
EZMgrFL.h:14
EZMgrFL::subSize
size_type subSize() const
Definition:
EZMgrFL.h:42
mps_fire.i
i
Definition:
mps_fire.py:429
EZMgrFL::size_type
VecType::size_type size_type
Definition:
EZMgrFL.h:16
submitPVValidationJobs.t
string t
Definition:
submitPVValidationJobs.py:650
EZMgrFL::EZMgrFL
EZMgrFL()=delete
EZMgrFL::operator=
EZMgrFL & operator=(const EZMgrFL &)=delete
cms::cuda::assert
assert(be >=bs)
EZMgrFL::value_type
VecType::value_type value_type
Definition:
EZMgrFL.h:15
trigger::size_type
uint16_t size_type
Definition:
TriggerTypeDefs.h:18
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition:
JetExtendedAssociation.h:30
EZMgrFL::size
size_type size() const
Definition:
EZMgrFL.h:43
EZMgrFL::iterator
VecType::iterator iterator
Definition:
EZMgrFL.h:11
EZMgrFL
Definition:
EZMgrFL.h:8
EZMgrFL::m_subSize
const size_type m_subSize
Definition:
EZMgrFL.h:53
EZMgrFL::VecType
std::vector< T > VecType
Definition:
EZMgrFL.h:10
EZMgrFL::assign
iterator assign(const T &t=T())
Definition:
EZMgrFL.h:30
EZMgrFL::m_vecSize
const size_type m_vecSize
Definition:
EZMgrFL.h:52
EZMgrFL::vecSize
size_type vecSize() const
Definition:
EZMgrFL.h:45
EZMgrFL::m_vec
VecType m_vec
Definition:
EZMgrFL.h:54
EZMgrFL::reference
VecType::reference reference
Definition:
EZMgrFL.h:13
EZMgrFL::reserve
iterator reserve()
Definition:
EZMgrFL.h:27
EZMgrFL::const_iterator
VecType::const_iterator const_iterator
Definition:
EZMgrFL.h:12
T
long double T
Definition:
Basic3DVectorLD.h:48
RecoTauValidation_cfi.reference
reference
Definition:
RecoTauValidation_cfi.py:233
EZMgrFL::resize
iterator resize()
Definition:
EZMgrFL.h:28
Generated for CMSSW Reference Manual by
1.8.14