HDINLINE Expression<exprTypes::subscript, mpl::vector<This, typename result_of::make_Expr<Arg>::type> > operator[](const Arg& arg) const { return Expression<exprTypes::subscript, mpl::vector<This, typename result_of::make_Expr<Arg>::type> > (*this, make_Expr(arg)); }
HDINLINE typename result_of::make_Expr<T>::type expr(const T& t) { return make_Expr(t); }
HDINLINE Expression<exprTypes::comma, mpl::vector<This, typename result_of::make_Expr<Rhs>::type> > operator,(const Rhs& rhs) const { return Expression<exprTypes::comma, mpl::vector<This, typename result_of::make_Expr<Rhs>::type> > (*this, make_Expr(rhs)); }