basix_doc 0.1
|
Go to the source code of this file.
Definition in file basix.hpp.
#define DEC_COUNT | ( | x | ) | { if (0==--((x)->ref_count)) delete (x); } |
#define DEC_NULL_COUNT | ( | x | ) |
{ \ if ((x)!=NULL && 0==--((x)->ref_count)) delete (x); }
Definition at line 149 of file basix.hpp.
Referenced by 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< D, S1 >::operator=(), function_0< D >::operator=(), function_0< D >::~function_0(), function_1< D, S1 >::~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(), and function_8< D, S1, S2, S3, S4, S5, S6, S7, S8 >::~function_8().
#define DEFINE_VARIANT | ( | L, | |
R | |||
) |
#define DEFINE_VARIANT_1 | ( | XX, | |
X, | |||
L, | |||
R | |||
) |
#define INC_NULL_COUNT | ( | x | ) | { if ((x)!=NULL) (x)->ref_count++; } |
Definition at line 148 of file basix.hpp.
Referenced by function_0< D >::function_0(), function_1< D, S1 >::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(), 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< D, S1 >::operator=(), and function_0< D >::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 LESSGTR <> |
Definition at line 34 of file basix.hpp.
Referenced by mmx::REP_STRUCT_1(), and mmx::REP_STRUCT_2().
#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) |
#define uintptr_t unsigned long int |
Definition at line 23 of file basix.hpp.
Referenced by mmx::as_hash().
double hypot | ( | double | , |
double | |||
) | const |