24 #include "cheetah/psrdada/detail/RawBytesReader.h" 25 #include "panda/Log.h" 34 template <
typename DataType,
typename Iterator>
35 Iterator& RawBytesReader::read(Iterator& begin, Iterator
const& end)
37 std::size_t span = std::distance(begin, end);
38 std::size_t remaining_elements = remaining_bytes()/
sizeof(DataType);
39 if (span > remaining_elements)
41 PANDA_LOG_DEBUG <<
"Reading " << remaining_elements
42 <<
" elements of size " <<
sizeof(DataType) <<
" bytes";
43 std::copy((DataType*)_read_ptr, ((DataType*)_read_ptr)+remaining_elements, begin);
44 begin += remaining_elements;
45 _read_ptr += remaining_elements *
sizeof(DataType);
50 PANDA_LOG_DEBUG <<
"Reading " << span <<
" elements of size " 51 <<
sizeof(DataType) <<
" bytes";
52 std::copy((DataType*)_read_ptr, ((DataType*)_read_ptr)+span, begin);
54 _read_ptr += span*
sizeof(DataType);
Some limits and constants for FLDO.