Keywords: flow::tuple

# flow::tuple Template Class

Some nodes create or use messages that are composites of other messages. The `flow::tuple` template class is included as part of flow to support this. The nodes that send or receive tuples are join_node, multifunction_node, split_node and or_node (Community Preview Feature).

The `tuple` class is part of the C++11 standard, and earlier implementations of the Standard Library may have a `tuple` class. If `std::tuple` is part of the Standard Library, then `flow::tuple` is typedefed to `std::tuple`.

If the Standard Library does not contain `tuple`, an implementation is used that supports a subset of `std::tuple`'s functionality:

- construction, copy construction and destruction,
- assignment
- `get<I>(tuple)` (the i-th element of `tuple`, starting from zero),
- `tuple_element<I,T>::type` (the type of the i-th element of tuple type `T`),
- `tuple_size<T>::value` (the number of elements of the tuple type `T`),

### Caution

Prior releases of `flow` injected `flow`'s implementation of `tuple` into the `std::` namespace. Users should change `flow`-specific references to `std::tuple` to `flow::tuple` to ensure compatibility with compilers that do not implement `std::tuple` as part of the Standard Library.

Parent topic: Flow Graph

## See Also

join node
multifunction node
split node
or node (Community Preview Feature)