Skip to content

Commit fdd2a5f

Browse files
authored
[oneTBB] Introduce variadic constructor for key_matching join_node (#652)
1 parent 291376e commit fdd2a5f

File tree

1 file changed

+7
-41
lines changed

1 file changed

+7
-41
lines changed

source/elements/oneTBB/source/flow_graph/join_node_cls.rst

Lines changed: 7 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -40,26 +40,8 @@ tuple to all of its successors.
4040
explicit join_node( graph &g );
4141
join_node( const join_node &src );
4242
43-
template<typename B0, typename B1>
44-
join_node( graph &g, B0 b0, B1 b1 );
45-
template<typename B0, typename B1, typename B2>
46-
join_node( graph &g, B0 b0, B1 b1, B2 b2 );
47-
template<typename B0, typename B1, typename B2, typename B3>
48-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3 );
49-
template<typename B0, typename B1, typename B2, typename B3, typename B4>
50-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4 );
51-
template<typename B0, typename B1, typename B2, typename B3, typename B5>
52-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5 );
53-
template<typename B0, typename B1, typename B2, typename B3, typename B5, typename B6>
54-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6 );
55-
template<typename B0, typename B1, typename B2, typename B3, typename B5, typename B6, typename B6>
56-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6, B7 b7 );
57-
template<typename B0, typename B1, typename B2, typename B3, typename B5, typename B6, typename B7>
58-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6, B7 b7 );
59-
template<typename B0, typename B1, typename B2, typename B3, typename B5, typename B6, typename B7, typename B8>
60-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6, B7 b7, B8 b8 );
61-
template<typename B0, typename B1, typename B2, typename B3, typename B5, typename B6, typename B7, typename B8, typename B9>
62-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6, B7 b7, B8 b8, B9 b9 );
43+
template <typename B0, typename... BN>
44+
join_node( graph &g, B0 b0, BN... bn );
6345
6446
input_ports_type &input_ports( );
6547
@@ -119,32 +101,16 @@ Constructs an empty ``join_node`` that belongs to the graph ``g``.
119101

120102
.. code:: cpp
121103
122-
template<typename B0, typename B1>
123-
join_node( graph &g, B0 b0, B1 b1 );
124-
template<typename B0, typename B1, typename B2>
125-
join_node( graph &g, B0 b0, B1 b1, B2 b2 );
126-
template<typename B0, typename B1, , typename B2, typename B3>
127-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3 );
128-
template<typename B0, typename B1, , typename B2, typename B3, typename B4>
129-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4 );
130-
template<typename B0, typename B1, , typename B2, typename B3, typename B5>
131-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5 );
132-
template<typename B0, typename B1, , typename B2, typename B3, typename B5, typename B6>
133-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6 );
134-
template<typename B0, typename B1, , typename B2, typename B3, typename B5, typename B6, typename B6>
135-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6, B7 b7 );
136-
template<typename B0, typename B1, , typename B2, typename B3, typename B5, typename B6, typename B7>
137-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6, B7 b7 );
138-
template<typename B0, typename B1, , typename B2, typename B3, typename B5, typename B6, typename B7, typename B8>
139-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6, B7 b7, B8 b8 );
140-
template<typename B0, typename B1, , typename B2, typename B3, typename B5, typename B6, typename B7, typename B8, typename B9>
141-
join_node( graph &g, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4, B5 b5, B6 b6, B7 b7, B8 b8, B9 b9 );
104+
template <typename B0, typename... BN>
105+
join_node( graph &g, B0 b0, BN... bn );
142106
143107
A constructor only available in the ``key_matching`` specialization of ``join_node``.
144108

145-
Creates a ``join_node`` that uses the function objects ``b0``, ``b1``, ... , ``bN`` to determine
109+
Creates a ``join_node`` that uses the function objects ``b0``, ... , ``bN`` to determine
146110
the tags for the input ports ``0`` through ``N``.
147111

112+
**Constraints:**: only participates in overload resolution if ``std::tuple_size<OutputTuple>::value`` is ``1 + sizeof...(BN)``.
113+
148114
.. caution::
149115

150116
Function objects passed to the join_node constructor must not

0 commit comments

Comments
 (0)