8#ifndef elementformulaRCP_hh
9#define elementformulaRCP_hh
16#define ElemFormRCPClone_D 0
17#define ElemFormRCPValue_D 0
18#define FormRCPClone_D 0
19#define FormRCPValue_D 0
26 template<
class F,
typename G>
28 :
public boost::shared_ptr<const ElementFormula<F,G> >
38 explicit RCP(
const F x)
48 template<
class OldF,
class OldG>
77 RCP(
const boost::shared_ptr<H>& x)
81 template<
class H,
class I>
100 DEBUGL(ElemFormRCPClone_D,
"Cloned " << **
this <<
" = *" << *
this);
112 operator=(
const RCP<H>& x)
118#if ElemFormRCPValue_D
120 const ElementFormula<F,G>& operator* () const
123 return boost::shared_ptr<const ElementFormula<F,G> >(*this).operator*();
132 class RCP<const
Formula<F> > :
public boost::shared_ptr<const Formula<F> >
161 : boost::shared_ptr<const
Formula<F> >(x) {}
164 : boost::shared_ptr<const
Formula<F> >(x) {}
167 RCP(
const boost::shared_ptr<H>& x)
168 : boost::shared_ptr<const Formula<F> >(x) {}
171 template<
class H,
class I>
188 DEBUGL(FormRCPClone_D,
"Cloned " << **
this <<
" = *" << *
this);
200 operator=(
const RCP<H>& x)
211 return boost::shared_ptr<const Formula<F> >(*this).operator*();
RCP()
Default constructor.
#define DEBUGL(doit, msg)
Set< F > makeSet(uint n, const F &first,...)