#include
struct Node;
struct Port
{
Port(std::string name_, Node* owner_): name(name_), owner(owner_)
{
}
std::string name;
Node* owner;
};
struct Node
{
// TODO: replace with Port port[4] = { REPEAT_SEQ(RX, 4) };
Port port[4] = {{"RX_0", this}, {"RX_1", this}, {"RX_2", this}, {"RX_3", this}};
};
int main()
{
Node node;
}
< /code>
Проблема в том, что в некоторых узлах есть много портов, и написание этих имени порта и пары указателей владельца утомительно и подвергается ошибкам. < /p>
нравится автоматизировать его с помощью препроцессора Boost, например, repeat_seq (rx, 4)
struct Node { // TODO: replace with Port port[4] = { REPEAT_SEQ(RX, 4) }; Port port[4] = {{"RX_0", this}, {"RX_1", this}, {"RX_2", this}, {"RX_3", this}}; };
int main() { Node node; } < /code> Проблема в том, что в некоторых узлах есть много портов, и написание этих имени порта и пары указателей владельца утомительно и подвергается ошибкам. < /p> нравится автоматизировать его с помощью препроцессора Boost, например, repeat_seq (rx, 4) [/code]