27#include <spdlog/spdlog.h>
50template <
class ValueType>
61 std::unique_ptr<std::istream> &&stream, std::function<
bool(ValueType)> interpret,
size_t data_size)
62 : stream_(std::move(stream)), interpret_(std::move(interpret)), data_size_(data_size)
73 SPDLOG_TRACE(
"Getting message from a stream using sequence converter...");
76 for (
size_t i = 0; i < data_size_; ++i)
80 if (interpret_(value))
82 message_data.push_back(i);
85 SPDLOG_TRACE(
"Finished loading a message, it contains {} spikes.", message_data.size());
94 [[nodiscard]] std::istream &
get_stream() {
return *stream_; }
107 std::unique_ptr<std::istream> stream_;
112 std::function<bool(ValueType)> interpret_;
Message endpoint interface.
std::vector< SpikeIndex > SpikeData
List of spike indexes.
uint64_t Step
Type used to store a step number in the form of a 64-bit unsigned integer.