12 requires is_expr_node_v<E>
14 return expr.to_string();
22 std::string padding(indent * 2,
' ');
23 os << padding << expr.to_string();
29 requires is_expr_node_v<E>
31 std::ostringstream oss;
38 requires is_expr_node_v<E>
39std::ostream&
operator<<(std::ostream& os, E
const& expr) {
40 return os << expr.to_string();
void pretty_print_impl(std::ostream &os, E const &expr, int indent)
Expression layer for composable calculus.
std::string to_string(E const &expr)
std::string pretty_print(E const &expr)
std::ostream & operator<<(std::ostream &os, E const &expr)