Rodin/Utility/Product.h file

Defines the Product metafunction for computing Cartesian products of tuple types.

Namespaces

namespace Rodin
The Rodin library for Shape and Topology Optimization.
namespace Rodin::Utility
Module containing general purpose and language support utility classes.

Classes

template<class H1, class H2, class ... Hs, class ... Gs>
struct Rodin::Utility::Product<Tuple<H1, H2, Hs...>, Tuple<Gs...>>
Specialization for Tuple with at least two elements (H1, H2, Hs…).
template<class H, class ... Gs>
struct Rodin::Utility::Product<Tuple<H>, Tuple<Gs...>>
Specialization for Tuple with exactly one element.
template<class ... Gs>
struct Rodin::Utility::Product<Tuple<>, Tuple<Gs...>>
Specialization for empty first Tuple.
template<class ... Gs>
struct Rodin::Utility::Product<Tuple<Gs...>, Tuple<>>
Specialization for empty second Tuple.