X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Florentzidx.h;h=25cab856db18580012ae45696f51d796efe30cc7;hb=93e491cf586b2e16854c56a9c71196711b1cd889;hp=b2315527243d67d87c4c598b07496f513684f451;hpb=15d4b353c85f8815a95d97ab977c9ca48e155574;p=ginac.git diff --git a/ginac/lorentzidx.h b/ginac/lorentzidx.h index b2315527..25cab856 100644 --- a/ginac/lorentzidx.h +++ b/ginac/lorentzidx.h @@ -25,65 +25,67 @@ #include #include -#include +#include "idx.h" -#ifndef NO_GINAC_NAMESPACE +#ifndef NO_NAMESPACE_GINAC namespace GiNaC { -#endif // ndef NO_GINAC_NAMESPACE +#endif // ndef NO_NAMESPACE_GINAC class lorentzidx : public idx { - friend class simp_lor; - friend class scalar_products; + GINAC_DECLARE_REGISTERED_CLASS(lorentzidx, idx) + + friend class simp_lor; + friend class scalar_products; // member functions - // default constructor, destructor, copy constructor assignment operator and helpers + // default constructor, destructor, copy constructor assignment operator and helpers public: - lorentzidx(); - ~lorentzidx(); - lorentzidx (lorentzidx const & other); - lorentzidx const & operator=(lorentzidx const & other); + lorentzidx(); + ~lorentzidx(); + lorentzidx (const lorentzidx & other); + const lorentzidx & operator=(const lorentzidx & other); protected: - void copy(lorentzidx const & other); - void destroy(bool call_parent); + void copy(const lorentzidx & other); + void destroy(bool call_parent); - // other constructors + // other constructors public: - explicit lorentzidx(bool cov, bool oonly=false, unsigned dimp=0); - explicit lorentzidx(string const & n, bool cov=false, - bool oonly=false, unsigned dimp=0); - explicit lorentzidx(char const * n, bool cov=false, - bool oonly=false, unsigned dimp=0); - explicit lorentzidx(unsigned const v, bool cov=false); - - // functions overriding virtual functions from bases classes + explicit lorentzidx(bool cov, bool oonly=false, unsigned dimp=0); + explicit lorentzidx(const std::string & n, bool cov=false, + bool oonly=false, unsigned dimp=0); + explicit lorentzidx(const char * n, bool cov=false, + bool oonly=false, unsigned dimp=0); + explicit lorentzidx(unsigned v, bool cov=false); + + // functions overriding virtual functions from bases classes public: - basic * duplicate() const; - void printraw(ostream & os) const; - void printtree(ostream & os, unsigned indent) const; - void print(ostream & os, unsigned upper_precedence=0) const; - bool info(unsigned inf) const; + basic * duplicate() const; + void printraw(std::ostream & os) const; + void printtree(std::ostream & os, unsigned indent) const; + void print(std::ostream & os, unsigned upper_precedence=0) const; + bool info(unsigned inf) const; - // new virtual functions which can be overridden by derived classes - // none + // new virtual functions which can be overridden by derived classes + // none - // non-virtual functions in this class + // non-virtual functions in this class public: - bool is_orthogonal_only(void) const { return orthogonal_only; } - unsigned get_dim_parallel_space(void) const { return dim_parallel_space; } - lorentzidx create_anonymous_representative(void) const; + bool is_orthogonal_only(void) const { return orthogonal_only; } + unsigned get_dim_parallel_space(void) const { return dim_parallel_space; } + lorentzidx create_anonymous_representative(void) const; - // member variables + // member variables protected: - bool orthogonal_only; - unsigned dim_parallel_space; + bool orthogonal_only; + unsigned dim_parallel_space; }; // global constants extern const lorentzidx some_lorentzidx; -extern type_info const & typeid_lorentzidx; +extern const std::type_info & typeid_lorentzidx; // utility functions inline const lorentzidx &ex_to_lorentzidx(const ex &e) @@ -91,8 +93,8 @@ inline const lorentzidx &ex_to_lorentzidx(const ex &e) return static_cast(*e.bp); } -#ifndef NO_GINAC_NAMESPACE +#ifndef NO_NAMESPACE_GINAC } // namespace GiNaC -#endif // ndef NO_GINAC_NAMESPACE +#endif // ndef NO_NAMESPACE_GINAC #endif // ndef __GINAC_LORENTZIDX_H__