3 * Definition of GiNaC's lst.
4 * This file was generated automatically by container.pl.
5 * Please do not modify it directly, edit the perl script instead!
6 * container.pl options: $CONTAINER=lst
19 #include <ginac/ginac.h>
21 typedef list<ex> exlist;
23 class lst : public basic
29 lst(lst const & other);
30 lst const & operator=(lst const & other);
32 void copy(lst const & other);
33 void destroy(bool call_parent);
36 lst(exlist const & s, bool discardable=0);
37 lst(exlist * vp); // vp will be deleted
38 explicit lst(ex const & e1);
39 explicit lst(ex const & e1, ex const & e2);
40 explicit lst(ex const & e1, ex const & e2, ex const & e3);
41 explicit lst(ex const & e1, ex const & e2, ex const & e3,
43 explicit lst(ex const & e1, ex const & e2, ex const & e3,
44 ex const & e4, ex const & e5);
45 explicit lst(ex const & e1, ex const & e2, ex const & e3,
46 ex const & e4, ex const & e5, ex const & e6);
47 explicit lst(ex const & e1, ex const & e2, ex const & e3,
48 ex const & e4, ex const & e5, ex const & e6,
50 explicit lst(ex const & e1, ex const & e2, ex const & e3,
51 ex const & e4, ex const & e5, ex const & e6,
52 ex const & e7, ex const & e8);
53 explicit lst(ex const & e1, ex const & e2, ex const & e3,
54 ex const & e4, ex const & e5, ex const & e6,
55 ex const & e7, ex const & e8, ex const & e9);
56 explicit lst(ex const & e1, ex const & e2, ex const & e3,
57 ex const & e4, ex const & e5, ex const & e6,
58 ex const & e7, ex const & e8, ex const & e9,
62 basic * duplicate() const;
63 void printraw(ostream & os) const;
64 void print(ostream & os, unsigned upper_precedence=0) const;
65 void printtree(ostream & os, unsigned indent) const;
66 bool info(unsigned inf) const;
68 ex & let_op(int const i);
69 ex expand(unsigned options=0) const;
70 bool has(ex const & other) const;
71 ex eval(int level=0) const;
72 ex evalf(int level=0) const;
73 ex normal(lst &sym_lst, lst &repl_lst, int level=0) const;
74 ex diff(symbol const & s) const;
75 ex subs(lst const & ls, lst const & lr) const;
77 int compare_same_type(basic const & other) const;
78 bool is_equal_same_type(basic const & other) const;
79 unsigned return_type(void) const;
81 // new virtual functions which can be overridden by derived classes
83 virtual lst & append(ex const & b);
84 virtual lst & prepend(ex const & b);
87 virtual void printseq(ostream & os, char openbracket, char delim,
88 char closebracket, unsigned this_precedence,
89 unsigned upper_precedence=0) const;
90 virtual ex thislst(exlist const & v) const;
91 virtual ex thislst(exlist * vp) const;
94 bool is_canonical() const;
95 exlist evalchildren(int level) const;
96 exlist evalfchildren(int level) const;
97 exlist normalchildren(int level) const;
98 exlist diffchildren(symbol const & s) const;
99 exlist * subschildren(lst const & ls, lst const & lr) const;
103 static unsigned precedence;
108 extern const lst some_lst;
109 extern type_info const & typeid_lst;
113 #define ex_to_lst(X) (static_cast<lst const &>(*(X).bp))
115 #endif // ndef _LST_H_