#include <basix/fast_new.hpp>
#include <cmath>
#include <stdint.h>
Go to the source code of this file.
Special objects that affect output when printed.
More...Definition in file basix.hpp.
#define DEC_COUNT | ( | x | ) | { if (0==--((x)->ref_count)) delete (x); } |
Definition at line 173 of file basix.hpp.
Referenced by Indirect< R >::operator=(), and Indirect< R >::~Indirect().
#define DEC_NULL_COUNT | ( | x | ) |
{ \ if ((x)!=NULL && 0==--((x)->ref_count)) delete (x); }
Definition at line 175 of file basix.hpp.
Referenced by list< C >::operator=(), function_8< D, S1, S2, S3, S4, S5, S6, S7, S8 >::operator=(), function_7< D, S1, S2, S3, S4, S5, S6, S7 >::operator=(), function_6< D, S1, S2, S3, S4, S5, S6 >::operator=(), function_5< D, S1, S2, S3, S4, S5 >::operator=(), function_4< D, S1, S2, S3, S4 >::operator=(), function_3< D, S1, S2, S3 >::operator=(), function_2< D, S1, S2 >::operator=(), function_1< bool, typename argument_helper< T >::arg_type >::operator=(), function_0< void >::operator=(), dispatcher_2< R >::operator=(), dispatcher_1< R >::operator=(), chain< C >::operator=(), chain< C >::~chain(), dispatcher_1< R >::~dispatcher_1(), dispatcher_2< R >::~dispatcher_2(), function_0< void >::~function_0(), function_1< bool, typename argument_helper< T >::arg_type >::~function_1(), function_2< D, S1, S2 >::~function_2(), function_3< D, S1, S2, S3 >::~function_3(), function_4< D, S1, S2, S3, S4 >::~function_4(), function_5< D, S1, S2, S3, S4, S5 >::~function_5(), function_6< D, S1, S2, S3, S4, S5, S6 >::~function_6(), function_7< D, S1, S2, S3, S4, S5, S6, S7 >::~function_7(), function_8< D, S1, S2, S3, S4, S5, S6, S7, S8 >::~function_8(), and list< C >::~list().
#define DEFINE_VARIANT | ( | L, | |||
R | ) |
#define DEFINE_VARIANT_1 | ( | XX, | |||
X, | |||||
L, | |||||
R | ) |
#define INC_COUNT | ( | x | ) | { (x)->ref_count++; } |
Definition at line 172 of file basix.hpp.
Referenced by function_0< void >::function_0(), function_1< bool, typename argument_helper< T >::arg_type >::function_1(), function_2< D, S1, S2 >::function_2(), function_3< D, S1, S2, S3 >::function_3(), function_4< D, S1, S2, S3, S4 >::function_4(), function_5< D, S1, S2, S3, S4, S5 >::function_5(), function_6< D, S1, S2, S3, S4, S5, S6 >::function_6(), function_7< D, S1, S2, S3, S4, S5, S6, S7 >::function_7(), function_8< D, S1, S2, S3, S4, S5, S6, S7, S8 >::function_8(), Indirect< R >::Indirect(), Indirect< R >::operator=(), and symbol< string >::symbol().
#define INC_NULL_COUNT | ( | x | ) | { if ((x)!=NULL) (x)->ref_count++; } |
Definition at line 174 of file basix.hpp.
Referenced by chain< C >::chain(), dispatcher_1< R >::dispatcher_1(), dispatcher_2< R >::dispatcher_2(), function_0< void >::function_0(), function_1< bool, typename argument_helper< T >::arg_type >::function_1(), function_2< D, S1, S2 >::function_2(), function_3< D, S1, S2, S3 >::function_3(), function_4< D, S1, S2, S3, S4 >::function_4(), function_5< D, S1, S2, S3, S4, S5 >::function_5(), function_6< D, S1, S2, S3, S4, S5, S6 >::function_6(), function_7< D, S1, S2, S3, S4, S5, S6, S7 >::function_7(), function_8< D, S1, S2, S3, S4, S5, S6, S7, S8 >::function_8(), list< C >::list(), list< C >::operator=(), function_8< D, S1, S2, S3, S4, S5, S6, S7, S8 >::operator=(), function_7< D, S1, S2, S3, S4, S5, S6, S7 >::operator=(), function_6< D, S1, S2, S3, S4, S5, S6 >::operator=(), function_5< D, S1, S2, S3, S4, S5 >::operator=(), function_4< D, S1, S2, S3, S4 >::operator=(), function_3< D, S1, S2, S3 >::operator=(), function_2< D, S1, S2 >::operator=(), function_1< bool, typename argument_helper< T >::arg_type >::operator=(), function_0< void >::operator=(), dispatcher_2< R >::operator=(), dispatcher_1< R >::operator=(), and chain< C >::operator=().
#define INDIRECT_IMPL | ( | T, | |||
R | ) |
inline T::T (R* rep2): rep(rep2) {} \ inline T::T (const R* rep2, bool with_inc): \ rep((R*) (void*) rep2) { (void) with_inc; INC_COUNT (rep); } \ inline T::T (const T& x): rep(x.rep) { INC_COUNT (rep); } \ inline T::~T () { DEC_COUNT (rep); } \ inline const R* T::operator -> () const { return rep; } \ inline T& T::operator = (const T& x) { \ INC_COUNT (x.rep); DEC_COUNT (rep); \ rep=x.rep; return *this; } \ inline void T::secure () { \ if (rep->ref_count>1) *this= copy (*this); } \ inline R* inside (const T& x) { \ return const_cast<R*> (x.operator -> ()); } \ STMPL inline nat hard_hash (const T& x) { \ return as_hash (x.operator -> ()); } \ STMPL inline bool hard_eq (const T& x, const T& y) { \ return (x.operator -> ()) == (y.operator -> ()); } \ STMPL inline bool hard_neq (const T& x, const T& y) { \ return (x.operator -> ()) != (y.operator -> ()); }
#define INDIRECT_IMPL_1 | ( | T, | |||
R, | |||||
XX, | |||||
X | ) |
template<XX> inline T<X >::T (R<X >* rep2): rep(rep2) {} \ template<XX> inline T<X >::T (const R<X >* rep2, bool with_inc): \ rep((R<X >*) (void*) rep2) { (void) with_inc; INC_COUNT (rep); } \ template<XX> inline T<X >::T (const T<X >& x): rep(x.rep) { \ INC_COUNT (rep); } \ template<XX> inline T<X >::~T () { DEC_COUNT (rep); } \ template<XX> inline const R<X >* T<X >::operator -> () const { \ return rep; } \ template<XX> inline R<X >* T<X >::operator -> () { \ return rep; } \ template<XX> inline T<X >& \ T<X >::operator = (const T<X >& x) { \ INC_COUNT (x.rep); DEC_COUNT (rep); \ rep=x.rep; return *this; } \ template<XX> inline void T<X >::secure () { \ if (rep->ref_count>1) *this= copy (*this); } \ template<XX> R<X >* inside (const T<X >& x) { \ return const_cast<R<X >*> (x.operator -> ()); } \ template<XX> inline nat hard_hash (const T<X >& x) { \ return as_hash (x.operator -> ()); } \ template<XX> inline bool hard_eq (const T<X >& x, const T<X >& y) { \ return (x.operator -> ()) == (y.operator -> ()); } \ template<XX> inline bool hard_neq (const T<X >& x, const T<X >& y) { \ return (x.operator -> ()) != (y.operator -> ()); }
#define INDIRECT_IMPL_2 | ( | T, | |||
R, | |||||
XX, | |||||
X, | |||||
YY, | |||||
Y | ) |
template<XX,YY> inline T<X,Y >::T (R<X,Y >* rep2): rep(rep2) {} \ template<XX,YY> inline T<X,Y >::T (const R<X,Y >* rep2, bool inc): \ rep((R<X,Y >*) (void*) rep2) { (void) inc; INC_COUNT (rep); } \ template<XX,YY> inline T<X,Y >::T (const T<X,Y >& x): rep(x.rep) { \ INC_COUNT (rep); } \ template<XX,YY> inline T<X,Y >::~T () { DEC_COUNT (rep); } \ template<XX,YY> inline const R<X,Y >* T<X,Y >::operator -> () const { \ return rep; } \ template<XX,YY> inline T<X,Y >& \ T<X,Y >::operator = (const T<X,Y >& x) { \ INC_COUNT (x.rep); DEC_COUNT (rep); \ rep=x.rep; return *this; } \ template<XX,YY> inline void T<X,Y >::secure () { \ if (rep->ref_count>1) *this= copy (*this); } \ template<XX,YY> R<X,Y >* inside (const T<X,Y >& x) { \ return const_cast<R<X,Y >*> (x.operator -> ()); } \ template<XX,YY> inline nat hard_hash (const T<X,Y >& x) { \ return as_hash (x.operator -> ()); } \ template<XX,YY> inline bool hard_eq (const T<X,Y >& x, const T<X,Y >& y) { \ return (x.operator -> ()) == (y.operator -> ()); } \ template<XX,YY> inline bool hard_neq (const T<X,Y >& x, const T<X,Y >& y) { \ return (x.operator -> ()) != (y.operator -> ()); }
#define INDIRECT_IMPL_3 | ( | T, | |||
R, | |||||
XX, | |||||
X, | |||||
YY, | |||||
Y, | |||||
ZZ, | |||||
Z | ) |
template<XX,YY,ZZ> inline T<X,Y,Z >::T (R<X,Y,Z >* rep2): \ rep(rep2) {} \ template<XX,YY,ZZ> inline \ T<X,Y,Z >::T (const R<X,Y,Z >* rep2, bool inc): \ rep((R<X,Y,Z >*) (void*) rep2) { (void) inc; INC_COUNT (rep); } \ template<XX,YY,ZZ> inline T<X,Y,Z >::T (const T<X,Y,Z >& x): \ rep(x.rep) { INC_COUNT (rep); } \ template<XX,YY,ZZ> inline T<X,Y,Z >::~T () { DEC_COUNT (rep); } \ template<XX,YY,ZZ> inline const R<X,Y,Z >* \ T<X,Y,Z >::operator -> () const { \ return rep; } \ template<XX,YY,ZZ> inline T<X,Y,Z >& \ T<X,Y,Z >::operator = (const T<X,Y,Z >& x) { \ INC_COUNT (x.rep); DEC_COUNT (rep); \ rep=x.rep; return *this; } \ template<XX,YY,ZZ> inline void T<X,Y,Z >::secure () { \ if (rep->ref_count>1) *this= copy (*this); } \ template<XX,YY,ZZ> R<X,Y,Z >* inside (const T<X,Y,Z >& x) { \ return const_cast<R<X,Y,Z >*> (x.operator -> ()); } \ template<XX,YY,ZZ> inline nat hard_hash (const T<X,Y,Z>& x) { \ return as_hash (x.operator -> ()); } \ template<XX,YY,ZZ> inline bool \ hard_eq (const T<X,Y,Z >& x, const T<X,Y,Z >& y) { \ return (x.operator -> ()) == (y.operator -> ()); } \ template<XX,YY,ZZ> inline bool \ hard_neq (const T<X,Y,Z >& x, const T<X,Y,Z >& y) { \ return (x.operator -> ()) != (y.operator -> ()); }
#define INDIRECT_IMPL_4 | ( | T, | |||
R, | |||||
WW, | |||||
W, | |||||
XX, | |||||
X, | |||||
YY, | |||||
Y, | |||||
ZZ, | |||||
Z | ) |
template<WW,XX,YY,ZZ> inline T<W,X,Y,Z >::T (R<W,X,Y,Z >* rep2): \ rep(rep2) {} \ template<WW,XX,YY,ZZ> inline \ T<W,X,Y,Z >::T (const R<W,X,Y,Z >* rep2, bool inc): \ rep((R<W,X,Y,Z >*) (void*) rep2) { (void) inc; INC_COUNT (rep); } \ template<WW,XX,YY,ZZ> inline T<W,X,Y,Z >::T (const T<W,X,Y,Z >& x): \ rep(x.rep) { INC_COUNT (rep); } \ template<WW,XX,YY,ZZ> inline T<W,X,Y,Z >::~T () { DEC_COUNT (rep); } \ template<WW,XX,YY,ZZ> inline const R<W,X,Y,Z >* \ T<W,X,Y,Z >::operator -> () const { \ return rep; } \ template<WW,XX,YY,ZZ> inline T<W,X,Y,Z >& \ T<W,X,Y,Z >::operator = (const T<W,X,Y,Z >& x) { \ INC_COUNT (x.rep); DEC_COUNT (rep); \ rep=x.rep; return *this; } \ template<WW,XX,YY,ZZ> inline void T<W,X,Y,Z >::secure () { \ if (rep->ref_count>1) *this= copy (*this); } \ template<WW,XX,YY,ZZ> R<W,X,Y,Z >* inside (const T<W,X,Y,Z >& x) { \ return const_cast<R<W,X,Y,Z >*> (x.operator -> ()); } \ template<WW,XX,YY,ZZ> inline nat hard_hash (const T<W,X,Y,Z>& x) { \ return as_hash (x.operator -> ()); } \ template<WW,XX,YY,ZZ> inline bool \ hard_eq (const T<W,X,Y,Z >& x, const T<W,X,Y,Z >& y) { \ return (x.operator -> ()) == (y.operator -> ()); } \ template<WW,XX,YY,ZZ> inline bool \ hard_neq (const T<W,X,Y,Z >& x, const T<W,X,Y,Z >& y) { \ return (x.operator -> ()) != (y.operator -> ()); }
#define INDIRECT_NULL_IMPL | ( | T, | |||
R | ) |
inline T::T (R* rep2): rep(rep2) {} \ inline T::T (const R* rep2, bool with_inc): \ rep((R*) (void*) rep2) { (void) with_inc; INC_NULL_COUNT (rep); } \ inline T::T (const T& x): rep(x.rep) { INC_NULL_COUNT (rep); } \ inline T::~T () { DEC_NULL_COUNT (rep); } \ inline const R* T::operator -> () const { return rep; } \ inline T& T::operator = (const T& x) { \ INC_NULL_COUNT (x.rep); DEC_NULL_COUNT (rep); \ rep=x.rep; return *this; } \ inline void T::secure () { \ if (rep->ref_count>1) *this= copy (*this); } \ inline R* inside (const T& x) { \ return const_cast<R*> (x.operator -> ()); } \ STMPL inline nat hard_hash (const T& x) { \ return as_hash (x.operator -> ()); } \ STMPL inline bool hard_eq (const T& x, const T& y) { \ return (x.operator -> ()) == (y.operator -> ()); } \ STMPL inline bool hard_neq (const T& x, const T& y) { \ return (x.operator -> ()) != (y.operator -> ()); }
#define INDIRECT_NULL_IMPL_1 | ( | T, | |||
R, | |||||
XX, | |||||
X | ) |
template<XX> inline T<X >::T (R<X >* rep2): rep(rep2) {} \ template<XX> inline T<X >::T (const R<X >* rep2, bool with_inc): \ rep((R<X >*) (void*) rep2) { (void) with_inc; INC_NULL_COUNT (rep); } \ template<XX> inline T<X >::T (const T<X >& x): rep(x.rep) { \ INC_NULL_COUNT (rep); } \ template<XX> inline T<X >::~T () { DEC_NULL_COUNT (rep); } \ template<XX> inline const R<X >* T<X >::operator -> () const { \ return rep; } \ template<XX> inline R<X >* T<X >::operator -> () { \ return rep; } \ template<XX> inline T<X >& \ T<X >::operator = (const T<X >& x) { \ INC_NULL_COUNT (x.rep); DEC_NULL_COUNT (rep); \ rep=x.rep; return *this; } \ template<XX> inline void T<X >::secure () { \ if (rep->ref_count>1) *this= copy (*this); } \ template<XX> R<X >* inside (const T<X >& x) { \ return const_cast<R<X >*> (x.operator -> ()); } \ template<XX> inline nat hard_hash (const T<X >& x) { \ return as_hash (x.operator -> ()); } \ template<XX> inline bool hard_eq (const T<X >& x, const T<X >& y) { \ return (x.operator -> ()) == (y.operator -> ()); } \ template<XX> inline bool hard_neq (const T<X >& x, const T<X >& y) { \ return (x.operator -> ()) != (y.operator -> ()); }
#define INDIRECT_PROTO | ( | T, | |||
R | ) |
MMX_ALLOCATORS \ protected: \ R* rep; \ public: \ inline T (R* rep2); \ inline T (const R* rep2, bool with_inc); \ inline T (const T& x); \ inline ~T (); \ inline T& operator= (const T& x); \ inline const R* operator-> () const; \ inline void secure ();
Prototype of the target class T with representation R.
#define INDIRECT_PROTO_1 | ( | T, | |||
R, | |||||
X | ) |
MMX_ALLOCATORS \ protected: \ R<X >* rep; \ public: \ inline T (R<X >* rep2); \ inline T (const R<X >* rep2, bool with_inc); \ inline T (const T& x); \ inline ~T (); \ inline T& operator= (const T& x); \ inline const R<X >* operator-> () const; \ inline R<X >* operator-> (); \ inline void secure (); \ typedef X value_type;
Prototype of the target class T<X> with representation R<X>.
#define INDIRECT_PROTO_2 | ( | T, | |||
R, | |||||
X, | |||||
Y | ) |
MMX_ALLOCATORS \ protected: \ R<X,Y >* rep; \ public: \ inline T (R<X,Y >* rep2); \ inline T (const R<X,Y >* rep2, bool inc); \ inline T (const T& x); \ inline ~T (); \ inline T& operator= (const T& x); \ inline const R<X,Y >* operator-> () const; \ inline void secure ();
Prototype of the target class T<X,Y> with representation R<X,Y>.
#define INDIRECT_PROTO_3 | ( | T, | |||
R, | |||||
X, | |||||
Y, | |||||
Z | ) |
MMX_ALLOCATORS \ protected: \ R<X,Y,Z >* rep; \ public: \ inline T (R<X,Y,Z >* rep2); \ inline T (const R<X,Y,Z >* rep2, bool inc); \ inline T (const T& x); \ inline ~T (); \ inline T& operator= (const T& x); \ inline const R<X,Y,Z >* operator-> () const; \ inline void secure ();
Prototype of the target class T<X,Y,Z> with representation R<X,Y,Z>.
#define INDIRECT_PROTO_4 | ( | T, | |||
R, | |||||
W, | |||||
X, | |||||
Y, | |||||
Z | ) |
MMX_ALLOCATORS \ protected: \ R<W,X,Y,Z >* rep; \ public: \ inline T (R<W,X,Y,Z >* rep2); \ inline T (const R<W,X,Y,Z >* rep2, bool inc); \ inline T (const T& x); \ inline ~T (); \ inline T& operator= (const T& x); \ inline const R<W,X,Y,Z >* operator-> () const;\ inline void secure ();
Prototype of the target class T<W,X,Y,Z> with representation R<W,X,Y,Z>.
#define REP_STRUCT_1 | ( | X | ) | :public rep_struct, public format<X > |
#define REP_STRUCT_2 | ( | X, | |||
Y | ) | :public rep_struct, public encapsulate1<format<X > >, public encapsulate2<format<Y> > |
#define Threshold | ( | C, | |||
Th | ) | threshold_helper<C,Th >::impl::val |
#define Threshold_1 | ( | C, | |||
Th, | |||||
d | ) | threshold_helper_1<C,Th>::val(d) |
double hypot | ( | double | , | |
double | ||||
) | const |