Kaspersky Neuromorphic Platform  1.0.0
API Reference
Loading...
Searching...
No Matches
convert_set.h
Go to the documentation of this file.
1
22#pragma once
23
24#include <knp/core/impexp.h>
26
27#include <set>
28#include <vector>
29
30
35{
36
41class KNP_DECLSPEC ConvertToSet
42{
43public:
48 explicit ConvertToSet(size_t output_size) : output_size_(output_size) {}
55 std::set<core::messaging::SpikeIndex> operator()(const std::vector<core::messaging::SpikeMessage> &message_list)
56 {
57 std::set<core::messaging::SpikeIndex> result;
58 for (auto &message : message_list)
59 {
60 result.insert(message.neuron_indexes_.cbegin(), message.neuron_indexes_.cend());
61 }
62
63 // Ignore extra neurons.
64 auto iter = result.lower_bound(output_size_);
65 result.erase(iter, result.end());
66 return result;
67 }
68
69private:
70 const size_t output_size_;
71};
72
73} // namespace knp::framework::io::output
The ConvertToSet class is a definition of a converter that gets a set of spiked neuron indexes from s...
Definition convert_set.h:42
ConvertToSet(size_t output_size)
Converter constructor.
Definition convert_set.h:48
std::set< core::messaging::SpikeIndex > operator()(const std::vector< core::messaging::SpikeMessage > &message_list)
Get a set of recently spiked neuron indexes from the message_list.
Definition convert_set.h:55
Output channel namespace.
Spike message class.