|
|
Go to the documentation of this file. 1 #ifndef DataFormats_Common_DataFrameContainer_h
2 #define DataFormats_Common_DataFrameContainer_h
7 #include <boost/iterator/transform_iterator.hpp>
8 #include <boost/iterator/counting_iterator.hpp>
17 template <
typename DigiCollection>
40 typedef std::vector<id_type>::iterator
IdIter;
41 typedef std::vector<data_type>::iterator
DataIter;
61 typedef boost::transform_iterator<IterHelp, boost::counting_iterator<int> >
const_iterator;
100 m_ids.push_back(iid);
107 m_ids.push_back(iid);
143 return (
p ==
m_ids.end() || (*p) !=
i)
145 : boost::make_transform_iterator(boost::counting_iterator<int>(
p -
m_ids.begin()),
IterHelp(*
this));
150 return boost::make_transform_iterator(boost::counting_iterator<int>(0),
IterHelp(*
this));
153 return boost::make_transform_iterator(boost::counting_iterator<int>(
size()),
IterHelp(*
this));
175 friend class ::TestDataFrame;
177 template <
typename DigiCollection>
178 friend class ::TestEcalDigi;
191 : m_id(icont.
id(
i)), m_data(icont.
frame(
i)), m_size(icont.stride()) {}
214 #endif // DataFormats_Common_DataFrameContainer_h
std::pair< IdIter, DataIter > IterPair
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
void set(DataFrameContainer const &icont, size_type i)
std::vector< id_type > IdContainer
unique_ptr< ClusterSequence > cs
void swap(Association< C > &lhs, Association< C > &rhs)
std::vector< data_type >::iterator DataIter
std::pair< const_IdIter, const_DataIter > const_IterPair
void set_back(id_type iid, data_type const *idata)
void set_back(id_type iid)
IterHelp(DataFrameContainer const &iv)
DataFrame operator[](size_t i) const
DataFrame const & operator()(int i) const
DataFrame operator[](size_t i)
data_type const * frame(size_t cell) const
IdContainer const & ids() const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
const_IterPair pair(size_t i) const
std::vector< id_type >::const_iterator const_IdIter
DataFrameContainer & operator=(DataFrameContainer const &rhs)
std::vector< data_type > DataContainer
std::vector< id_type >::iterator IdIter
__host__ constexpr __device__ RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
void reserve(size_t isize)
void swap(DataFrameContainer &rh)
id_type id(size_t cell) const
const_iterator begin() const
The iterator returned can not safely be used across threads.
const_iterator find(id_type i) const
void swap(IdContainer &iic, DataContainer &idc)
void set_back(data_type const *idata)
void push_back(id_type iid)
data_type operator()(size_t cell, size_t frame) const
DataContainer const & data() const
DataFrameContainer(size_t istride, int isubdet=0, size_t isize=0)
void push_back(id_type iid, data_type const *idata)
DataFrameContainer const & v
void resize(size_t isize)
const_iterator end() const
std::vector< data_type >::const_iterator const_DataIter