12#ifndef _EXPORT_CHANNEL_GRAPH_H_
13#define _EXPORT_CHANNEL_GRAPH_H_
33 bool addChannel(
const std::string&
id,
const std::string&
from,
const std::string&
to);
35 size_t nodeIndex(
const std::string&
id)
const;
53 size_t chToIndex(
const std::string&
id)
const;
72 void _formPaths(
const std::vector<size_t>& path);
95 std::vector<size_t>
to;
96 std::vector<size_t>
Tx;
97 std::vector<size_t>
Rx;
98 std::vector<std::vector<size_t>>
paths;
111 for (
const auto& path :
paths) max = std::max(max, path.size());
Definition: channel_graph.h:22
std::vector< size_t > from
Definition: channel_graph.h:94
std::vector< size_t > Rx
Definition: channel_graph.h:97
bool addChannel(const std::string &id, const std::string &from, const std::string &to)
Add channel from configuration to the channel graph.
Definition: channel_graph.cpp:14
size_t channelIndex(const std::string &id) const
Definition: channel_graph.cpp:32
std::vector< std::string > nodes
Definition: channel_graph.h:92
std::vector< std::vector< size_t > > paths
Definition: channel_graph.h:98
void _sortPaths()
Sort paths.
Definition: channel_graph.cpp:93
std::vector< std::string > channels
Definition: channel_graph.h:93
size_t chToIndex(const std::string &id) const
Get the 'to' node index of channel.
Definition: channel_graph.h:105
size_t pathsNum() const noexcept
The number of paths in the channel graph.
Definition: channel_graph.h:107
size_t chFromIndex(const std::string &id) const
Get the 'from' node index of channel.
Definition: channel_graph.h:103
size_t maxPathLength() const
Definition: channel_graph.h:109
std::vector< size_t > paths_num_acc
Definition: channel_graph.h:99
static constexpr const size_t MAX_INDEX
Definition: channel_graph.h:90
size_t nodeIndex(const std::string &id) const
Definition: channel_graph.cpp:25
void _validatePaths()
Validate paths.
Definition: channel_graph.cpp:100
std::vector< std::pair< size_t, size_t > > paths_indices
Definition: channel_graph.h:100
bool arrange()
Definition: channel_graph.cpp:39
std::vector< size_t > Tx
Definition: channel_graph.h:96
std::vector< size_t > to
Definition: channel_graph.h:95
void _formPaths(const std::vector< size_t > &path)
Form paths based on the current frontier.
Definition: channel_graph.cpp:72