// functions overriding virtual functions from base classes
public:
- void printraw(std::ostream & os) const;
- void printtree(std::ostream & os, unsigned indent) const;
- void print(std::ostream & os, unsigned upper_precedence=0) const;
+ void print(const print_context & c, unsigned level = 0) const;
bool info(unsigned inf) const;
ex eval(int level = 0) const;
+ int degree(const ex & s) const;
+ int ldegree(const ex & s) const;
+ ex coeff(const ex & s, int n = 1) const;
exvector get_free_indices(void) const;
protected:
* @see class info_flags */
bool all_index_values_are(unsigned inf) const;
+ /** Return a vector containing the object's indices. */
+ exvector get_indices(void) const;
+
/** Return a vector containing the dummy indices of the object, if any. */
exvector get_dummy_indices(void) const;
+ /** Return a vector containing the dummy indices in the contraction with
+ * another indexed object. */
+ exvector get_dummy_indices(const indexed & other) const;
+
protected:
- void printrawindices(std::ostream & os) const;
- void printtreeindices(std::ostream & os, unsigned indent) const;
- void printindices(std::ostream & os) const;
+ void printindices(const print_context & c, unsigned level) const;
void assert_all_indices_of_type_idx(void) const;
// member variables