edge.h
Go to the documentation of this file.
90 if (diagnose() && ((ins.size() == 0 && outs.size() != 0) || (ins.size() != 0 && outs.size() == 0)) &&
106 static_assert(std::is_same_v<keyT, std::decay_t<keyT>>, "Edge<keyT,valueT> assumes keyT is a non-decayable type");
110 Edge(const std::string name = "anonymous edge") : p(1) { p[0] = std::make_shared<EdgeImpl>(name); }
112 Edge(const std::string name, bool is_pull, ttg::detail::ContainerWrapper<keyT, valueT> c) : p(1) {
117 template <typename... valuesT, typename = std::enable_if_t<(std::is_same_v<valuesT, valueT> && ...)>>
void set_in(Out< keyT, valueT > *in) const
Sets the output terminal that goes into this Edge.
Definition: edge.h:145
std::enable_if_t< ttg::meta::is_all_void_v< Key, Value > > fire() const
Definition: edge.h:157
bool live() const
probes if this is already has at least one input received on the input terminal
Definition: edge.h:134
Edge(const std::string name, bool is_pull, ttg::detail::ContainerWrapper< keyT, valueT > c)
Definition: edge.h:112
void set_out(TerminalBase *out) const
Sets the input terminal that this Edge goes into.
Definition: edge.h:150
Definition: terminal.h:143
Definition: terminal.h:12
void connect_pull_nopred(TerminalBase *p)
Definition: terminal.h:113
typename edges_tuple< keyT, valuesT >::type edges_tuple_t
Definition: edge.h:191
void print_error(const T &t, const Ts &... ts)
atomically prints to std::cerr a sequence of items (separated by ttg::print_separator) followed by st...
Definition: print.h:138
Definition: terminal.h:25
std::tuple< ttg::Edge< keyT, valuesT >... > type
Definition: edge.h:187
Definition: edge.h:183
std::tuple< typename edgesT::output_terminal_type... > type
Definition: edge.h:178
Definition: edge.h:175
std::tuple< typename termsT::edge_type... > type
Definition: edge.h:170
Definition: edge.h:167