freepooma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

shrink() and FieldEngine.NoGeometry.h Compilation


From: Jeffrey Oldham
Subject: shrink() and FieldEngine.NoGeometry.h Compilation
Date: Fri, 4 May 2001 09:05:37 -0700
User-agent: Mutt/1.2.5i

Scott,

        Thanks for the quick patch approval.  I committed the patch
excepting the changes to src/NewField/FieldEngine.NoGeometry.h.

        I do not understand how FieldEngine.NoGeometry.h's
FieldEngine<NoGeometry<Dim>, T, EngineTag> compiles.

  inline const Domain_t physicalCellDomain() const
    {
      return shrink(physicalDomain(), 1);
    }

The only shrink() definition I could find is in
src/Layout/GuardLayers.h:

  template<int Dim>
  inline Interval<Dim> 
  shrink(const Interval<Dim> &dom, const GuardLayers<Dim> &gcs)
  {
    Interval<Dim> ret(dom);
    return shrinkInPlace(ret, gcs);
  }

One can convert shrink()'s second argument `1' to a GuardLayers<Dim>,
but this cannot happen implicitly because the associated GuardLayers
constructor is marked explicit:

  template <int Dim>
  class GuardLayers
  {
  public:

    explicit GuardLayers(int gcs = 0);

Do you agree this is a problem?  Is the attached patch acceptable?  (I
am experiencing compilation problems so I have not tested the patch.)

2001-05-04  Jeffrey D. Oldham  <address@hidden>

        * FieldEngine.NoGeometry.h (FieldEngine::physicalCellDomain):
        Modify return type by removing reference.  Change second function
        call argument to match function prototype.
        (FieldEngine::totalCellDomain): Change second function call
        argument to match function prototype.

Thanks,
Jeffrey D. Oldham
address@hidden

Attachment: FieldEngine.NoGeometry.h.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]