38 #ifndef PCL_IO_BUFFERS_H 39 #define PCL_IO_BUFFERS_H 45 #include <boost/cstdint.hpp> 46 #include <boost/thread/mutex.hpp> 87 push (std::vector<T>& data) = 0;
107 template <
typename T>
123 push (std::vector<T>& data);
127 std::vector<T> data_;
128 mutable boost::mutex data_mutex_;
147 template <
typename T>
175 push (std::vector<T>& data);
185 static int compare (T a, T b);
187 const unsigned char window_size_;
188 const unsigned char midpoint_;
192 std::vector<std::vector<T> > data_;
195 unsigned char data_current_idx_;
199 std::vector<std::vector<unsigned char> > data_argsort_indices_;
202 std::vector<unsigned char> data_invalid_count_;
204 mutable boost::mutex data_mutex_;
223 template <
typename T>
251 push (std::vector<T>& data);
255 const unsigned char window_size_;
259 std::vector<std::vector<T> > data_;
262 unsigned char data_current_idx_;
265 std::vector<T> data_sum_;
268 std::vector<unsigned char> data_invalid_count_;
270 mutable boost::mutex data_mutex_;
280 #include <pcl/io/impl/buffers.hpp> A buffer that computes running window average of the data inserted.
size_t size() const
Get the size of the buffer.
virtual T operator[](size_t idx) const =0
Access an element at a given index.
A simple buffer that only stores data.
An abstract base class for fixed-size data buffers.
virtual void push(std::vector< T > &data)=0
Insert a new chunk of data into the buffer.