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{});