7 #ifndef SUB_BARE_FIELD_H
8 #define SUB_BARE_FIELD_H
52 template <
class T,
unsigned Dim,
class S>
53 std::ostream& operator<<(std::ostream&,const SubBareField<T,Dim,S>&);
56 template <
class T,
unsigned Dim,
class S>
92 T get() {
T r;
get(r);
return r; }
164 void write(std::ostream&);
180 return Elem_t(arg,
begin());
185 return Elem_t(std::pair<int,int>(a1,a2),
begin());
225 template<
class T,
unsigned int Dim,
class S>
227 std::ostream& operator<<(std::ostream& o, const SubBareField<T,Dim,S>& s) {
static int getSubsetType()
iterator MakeExpression() const
void write(std::ostream &)
bool checkAddBrackets(unsigned int)
static int construct(S1 &, const S2 &, BareField< T, Dim > &)
void assign(const BareField< T, Dim > &a, RHS b, OP op, ExprTag< true >)
static void combine(const S1 &, const S2 &, S3 &, unsigned int &, BareField< T, Dim > &)
bool checkBrackets() const
BareField< T, Dim > & getBareField() const
PETE_TUTree< OpParens< int >, iterator > operator()(int arg)
const S & getDomain() const
SubBareField(BareField< T, Dim > &f, const S2 &s)
void makeNDIndex(NDIndex< Dim > &i)
constexpr SubBareField(const SubBareField< T, Dim, S > &)=default
SubFieldIter< T, Dim, S > iterator
SubBareField< T, Dim, S > & operator=(const PETE_Expr< B > &b)
PETE_TUTree< OpParens< std::pair< int, int > >, iterator > operator()(int a1, int a2)
SubBareField< T, Dim, S > & operator=(const SubBareField< T, Dim, S > &)
SubBareField< T, Dim, typename SubFieldTraits< T, Dim, S, S2 >::Return_t > operator[](const S2 &s)