4 #ifndef TargetBuffer_t_H
5 #define TargetBuffer_t_H
15 template <
typename T_BaseType,
typename T_BufferType=const T_BaseType,
typename T_VectorType=const std::vector<T_BaseType> >
24 template <
typename T1,
typename T2,
typename T3>
friend class BufferBase_t;
40 template <
typename T1,
typename T2,
typename T3>
51 template <
typename T1,
typename T2,
typename T3>
66 typename std::vector<T_BaseType>::size_type max_idx [[maybe_unused]],
67 const std::vector<double> & full_vector [[maybe_unused]])
79 const T_BaseType &
operator [](
typename std::vector<T_BaseType>::size_type
idx)
const {
90 typename std::vector<T_BaseType>::size_type
optionalRangeCheck(
typename std::vector<T_BaseType>::size_type
idx)
const {
98 typename std::vector<T_BaseType>::size_type
optionalRangeCheck(
typename std::vector<T_BaseType>::size_type
idx)
const {
128 Buffer_t(
double *
buffer,
typename std::vector<double>::size_type max_idx,
const std::vector<double> & full_vector)
166 void clear(
unsigned int max_buffer) {
172 std::vector<double>::size_type max_idx=
m_buffer.size()/2;
181 std::vector<double>
releaseData(std::vector<double>::size_type final_size,
unsigned int fold_idx) {
182 if (fold_idx%2 !=0 ) {
183 std::vector<double>::size_type max_idx=
m_buffer.size()/2;
184 std::vector<double>::const_iterator first_iter(
m_buffer.begin()+max_idx);
185 std::vector<double>::const_iterator last_iter(first_iter+max_idx);
196 m_buffer.resize(max_buffer,
double{});