+ explicit symbol(const std::string & initname);
+ symbol(const std::string & initname, const std::string & texname);
+
+ // functions overriding virtual functions from base classes
+public:
+ bool info(unsigned inf) const override;
+ ex eval() const override { return *this; } // for performance reasons
+ ex evalf(int level = 0) const override { return *this; } // overwrites basic::evalf() for performance reasons
+ ex series(const relational & s, int order, unsigned options = 0) const override;
+ ex subs(const exmap & m, unsigned options = 0) const override { return subs_one_level(m, options); } // overwrites basic::subs() for performance reasons
+ ex normal(exmap & repl, exmap & rev_lookup, int level = 0) const override;
+ ex to_rational(exmap & repl) const override;
+ ex to_polynomial(exmap & repl) const override;
+ ex conjugate() const override;
+ ex real_part() const override;
+ ex imag_part() const override;
+ bool is_polynomial(const ex & var) const override;
+ /** Save (a.k.a. serialize) object into archive. */
+ void archive(archive_node& n) const override;
+ /** Read (a.k.a. deserialize) object from archive. */
+ void read_archive(const archive_node& n, lst& syms) override;