28 lines
535 B
C++
28 lines
535 B
C++
#ifndef PFOR_PFOR_EXPRESSION_TUPLE_H
|
|
#define PFOR_PFOR_EXPRESSION_TUPLE_H
|
|
|
|
#include "expression.h"
|
|
|
|
namespace pfor {
|
|
namespace expr {
|
|
|
|
template<typename> struct ExpressionsTupleImpl;
|
|
|
|
template<typename... Ts>
|
|
struct ExpressionsTupleImpl<Expression<op::Comma, Ts...>> {
|
|
using type = decltype(std::declval<Expression<op::Comma, Ts...>>().operands);
|
|
};
|
|
|
|
template<typename E>
|
|
struct ExpressionsTupleImpl {
|
|
using type = std::tuple<E>;
|
|
};
|
|
|
|
template<typename E>
|
|
using ExpressionsTuple = typename ExpressionsTupleImpl<E>::type;
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|