RFA: Field-Related Pooma Code Changes

Jeffrey Oldham oldham at codesourcery.com
Wed Mar 28 02:48:35 UTC 2001


The majority of these changes consist of:
o Reorder constructor's initializers to reflect class declaration order.
o Add an initializer for the base class.
o Add `typename's.
o Change preprocessor line from `if' to `ifdef'.

Are these changes OK to commit?

2001-03-27  Jeffrey D. Oldham  <oldham at codesourcery.com>

	* Array/PrintArray.h (PrintArray::PrintArray): Reorder
	constructor's initializers to reflect class declaration order.
	* BConds/BCondList.h (BCondListData::BCondListData): Add an
	initializer for the base class.
	(BCondListData::~BCondListData): Change loop counter's type.
	(BCondListData): Add typedef for vector iteration.
	* BConds/LinExtrapFaceBC.h
	(LinearExtrapolateFaceBC::LinearExtrapolateFaceBC): Add a base
	class initializer.
	* BConds/NegReflectFaceBC.h
	(NegReflectFaceBC::NegReflectFaceBC): Likewise.
	* BConds/PeriodicFaceBC.h (PeriodicFaceBC::PeriodicFaceBC):
	Likewise.
	* BConds/PosReflectFaceBC.h (PosReflectFaceBC::PosReflectFaceBC):
	Likewise.
	* BConds/ZeroFaceBC.h (ZeroFaceBC::ZeroFaceBC):
	Likewise.
	* Domain/DomainRemoveOverlap.h (DomainRemoveOverlap): Add `typename's.
	* Domain/DomainTraits.Grid.h (DomainTraits::setDomain): Rewrite to
	ensure that comparisons occur between the same types.
	* Domain/DomainTraits.Interval.h (DomainTraits::setDomain): Likewise.
	* Domain/DomainTraits.Range.h (DomainTraits::setDomain): Likewise.
	* Domain/Grid.h (Grid::Grid): Add a base class initializer.
	* Engine/IndexFunctionEngine.h (Engine): Reorder constructor's
	initializers to reflect class declaration order.
	* Engine/RemoteEngine.h (GatherContextsData::GatherContextsData):
	Add a base class initializer.
	(Evaluator::evaluate): Add `typename's.
	* Evaluator/Evaluator.h (Evaluate::evaluate): Likewise.
	* Evaluator/ExpressionKernel.h
	(ExpressionKernel::ExpressionKernel): Change preprocessor line to
	`ifdef'.
	* Evaluator/MultiArgEvaluator.h (MultiArgEvaluator::evaluate): Add
	`typename's.
	* Evaluator/Reduction.h (Reduction::evaluate): Likewise.
	* Field/Field.cpp (assign): Likewise.
	* Field/Field.h (Field::array): Reorder template and `inline'.
	(Field::arrayAll): Likewise.
	* Field/PrintField.h (PrintField::PrintField): Reorder
	constructor's initializers to reflect class declaration order.
	* Layout/DynamicEvents.h (CreateEvent::CreateEvent): Likewise.
	(DestroyEvent::DestroyEvent): Likewise.
	(CopyEvent::CopyEvent): Likewise.
	(CopyPatchEvent::CopyPatchEvent): Likewise.
	* Layout/GlobalIDDataBase.h (Pack::Pack): Likewise.
	* Layout/GridLayout.cpp (GridLayoutData<Dim>::initialize): Add
	`typename's.
	* Layout/SparseTileLayout.cpp
	(SparseTileLayoutData<Dim>::~SparseTileLayoutData): Likewise.
	(SparseTileLayoutData<Dim>::calcMaps): Likewise.
	(SparseTileLayoutData<Dim>::calcAllocMaps): Likewise.
	(SparseTileLayoutData<Dim>::calcGCFillList): Likewise.
	(SparseTileLayoutData<Dim>::touches): Likewise.
	(SparseTileLayoutData<Dim>::touchesAlloc): Likewise.
	(SparseTileLayoutData<Dim>::print): Likewise.
	* Layout/UniformGridLayout.cpp
	(UniformGridLayoutData<Dim>::partition): Likewise.
	(UniformGridLayoutData<Dim>::initialize): Likewise.
	* Partition/BisectionMapper.h (BisectionMapper::map): Likewise.
	* Partition/UniformMapper.h (UniformMapper::~UniformMapper): New
	empty function.
	* Pooma/Pooma.h (poll): Change preprocessor line to `ifdef'.
	* Pooma/PoomaOperatorTags.h (FnMin::operator()): Likewise.
	(FnMax::operator()): Likewise.
	(FnMinAssign::operator()): Likewise.
	(FnMaxAssign::operator()): Likewise.
	* Threads/PoomaCSem.h: Likewise.
	* Threads/Scheduler.h: Likewise.
	* Utilities/Observer.h (SingleObserver::~SingleObserver): Make
	virtual.
	* Utilities/RefCountedBlockPtr.h
	(RefBlockController::RefBlockController): Reorder constructor's
	initializers to reflect class declaration order.
	(RefCountedBlockPtr): Change preprocessor line.
	(RefCountedBlockPtr::RefCountedBlockPtr): Reorder constructor's
	initializers to reflect class declaration order.
	* Utilities/algorithms.h (copy_special): Change preprocessor line
	to `ifdef'.
	(delete_backfill): Likewise.

Tested on	sequential Linux by compiling Pooma library using g++ mainline
Reviewed by	????you????

****************

These errors were revealed by compiling this program:

#include <iostream>
#include <stdlib.h>
#include "Pooma/Fields.h"

int main(int argc, char *argv[])
{
  // Set up the Pooma library.
  Pooma::initialize(argc,argv);

  Pooma::finalize();
  return EXIT_SUCCESS;
}

Thanks,
Jeffrey D. Oldham
oldham at codesourcery.com
-------------- next part --------------
Index: Array/PrintArray.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Array/PrintArray.h,v
retrieving revision 1.20
diff -c -p -r1.20 PrintArray.h
*** Array/PrintArray.h	2000/07/20 15:36:24	1.20
--- Array/PrintArray.h	2001/03/28 01:59:29
*************** public:
*** 202,208 ****
  	     bool scientific = false, int spacing = 1)
      : domainwidth_m(domainWidth), datawidth_m(dataWidth), 
        dataprecision_m(dataPrecision), carreturn_m(carReturn),
!       scientific_m(scientific), spacing_m(spacing)
      {
        PAssert(domainwidth_m > 0);
        PAssert(datawidth_m > 0);
--- 202,208 ----
  	     bool scientific = false, int spacing = 1)
      : domainwidth_m(domainWidth), datawidth_m(dataWidth), 
        dataprecision_m(dataPrecision), carreturn_m(carReturn),
!       spacing_m(spacing), scientific_m(scientific)
      {
        PAssert(domainwidth_m > 0);
        PAssert(datawidth_m > 0);
Index: BConds/BCondList.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/BConds/BCondList.h,v
retrieving revision 1.13
diff -c -p -r1.13 BCondList.h
*** BConds/BCondList.h	2000/04/27 22:33:53	1.13
--- BConds/BCondList.h	2001/03/28 01:59:29
*************** public:
*** 62,68 ****
    // Copy constructor.
  
    BCondListData(const BCondListData &model)
!   : data_m(model.data_m) { }
    
    //---------------------------------------------------------------------------
    // Copy assignment operator.
--- 62,68 ----
    // Copy constructor.
  
    BCondListData(const BCondListData &model)
!   : RefCounted (), data_m(model.data_m) { }
    
    //---------------------------------------------------------------------------
    // Copy assignment operator.
*************** public:
*** 79,85 ****
  
    ~BCondListData() 
    {
!     for (int i = 0; i < data_m.size(); i++)
        delete data_m[i]; 
    }
  
--- 79,85 ----
  
    ~BCondListData() 
    {
!     for (size_type i = 0; i < data_m.size(); i++)
        delete data_m[i]; 
    }
  
*************** public:
*** 115,120 ****
--- 115,121 ----
  private:
  
    std::vector<BCondItem *> data_m;
+   typedef std::vector<BCondItem *>::size_type size_type;
  };
  
  
Index: BConds/LinExtrapFaceBC.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/BConds/LinExtrapFaceBC.h,v
retrieving revision 1.9
diff -c -p -r1.9 LinExtrapFaceBC.h
*** BConds/LinExtrapFaceBC.h	2000/03/07 13:16:12	1.9
--- BConds/LinExtrapFaceBC.h	2001/03/28 01:59:30
*************** public:
*** 85,90 ****
--- 85,91 ----
    LinearExtrapolateFaceBC(int face) : 
      face_m(face) { }
    LinearExtrapolateFaceBC(const LinearExtrapolateFaceBC &model) : 
+     BCondCategory<LinearExtrapolateFaceBC>(),
      face_m(model.face()) { }
  
    //---------------------------------------------------------------------------
Index: BConds/NegReflectFaceBC.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/BConds/NegReflectFaceBC.h,v
retrieving revision 1.9
diff -c -p -r1.9 NegReflectFaceBC.h
*** BConds/NegReflectFaceBC.h	2000/03/07 13:16:12	1.9
--- BConds/NegReflectFaceBC.h	2001/03/28 01:59:30
*************** public:
*** 82,87 ****
--- 82,88 ----
    NegReflectFaceBC(int face, bool enforceZeroBoundary = false) : 
      face_m(face), enforceZeroBoundary_m(enforceZeroBoundary) { }
    NegReflectFaceBC(const NegReflectFaceBC &model) : 
+     BCondCategory<NegReflectFaceBC>(),
      face_m(model.face()), enforceZeroBoundary_m(model.enforceZeroBoundary())
    { }
  
Index: BConds/PeriodicFaceBC.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/BConds/PeriodicFaceBC.h,v
retrieving revision 1.8
diff -c -p -r1.8 PeriodicFaceBC.h
*** BConds/PeriodicFaceBC.h	2000/03/07 13:16:13	1.8
--- BConds/PeriodicFaceBC.h	2001/03/28 01:59:30
*************** public:
*** 79,84 ****
--- 79,85 ----
    PeriodicFaceBC(int face) : 
      face_m(face) { }
    PeriodicFaceBC(const PeriodicFaceBC &model) : 
+     BCondCategory<PeriodicFaceBC>(),
      face_m(model.face())
    { }
  
Index: BConds/PosReflectFaceBC.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/BConds/PosReflectFaceBC.h,v
retrieving revision 1.10
diff -c -p -r1.10 PosReflectFaceBC.h
*** BConds/PosReflectFaceBC.h	2000/03/07 13:16:13	1.10
--- BConds/PosReflectFaceBC.h	2001/03/28 01:59:30
*************** public:
*** 82,87 ****
--- 82,88 ----
    PosReflectFaceBC(int face, bool enforceZeroBoundary = false) : 
      face_m(face), enforceZeroBoundary_m(enforceZeroBoundary) { }
    PosReflectFaceBC(const PosReflectFaceBC &model) : 
+     BCondCategory<PosReflectFaceBC>(),
      face_m(model.face()), enforceZeroBoundary_m(model.enforceZeroBoundary())
    { }
  
Index: BConds/ZeroFaceBC.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/BConds/ZeroFaceBC.h,v
retrieving revision 1.12
diff -c -p -r1.12 ZeroFaceBC.h
*** BConds/ZeroFaceBC.h	2000/03/07 13:16:13	1.12
--- BConds/ZeroFaceBC.h	2001/03/28 01:59:30
*************** public:
*** 78,83 ****
--- 78,84 ----
    ZeroFaceBC(int face, bool enforceZeroBoundary = false) : 
      face_m(face), enforceZeroBoundary_m(enforceZeroBoundary) { }
    ZeroFaceBC(const ZeroFaceBC &model) : 
+     BCondCategory<ZeroFaceBC>(),
      face_m(model.face()), enforceZeroBoundary_m(model.enforceZeroBoundary())
    { }
  
Index: Domain/DomainRemoveOverlap.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Domain/DomainRemoveOverlap.h,v
retrieving revision 1.6
diff -c -p -r1.6 DomainRemoveOverlap.h
*** Domain/DomainRemoveOverlap.h	2000/03/07 13:16:35	1.6
--- Domain/DomainRemoveOverlap.h	2001/03/28 01:59:30
*************** DomainRemoveOverlap(const Interval<Dim> 
*** 47,54 ****
  
    for (int i=0;i<Dim;++i)
      {
!       DomainList_t::iterator start = result.begin();
!       DomainList_t::iterator end = result.end();
        for ( ; start!=end; ++start)
  	{ 
  	  if (touches( (*start)[i], Loc<1>(r[i].min())))
--- 47,54 ----
  
    for (int i=0;i<Dim;++i)
      {
!       typename DomainList_t::iterator start = result.begin();
!       typename DomainList_t::iterator end = result.end();
        for ( ; start!=end; ++start)
  	{ 
  	  if (touches( (*start)[i], Loc<1>(r[i].min())))
*************** DomainRemoveOverlap(const Interval<Dim> 
*** 90,97 ****
        temp.clear();
      }
    
!   DomainList_t::iterator start = result.begin();
!   DomainList_t::iterator end = result.end();
    for ( ; start!=end ; ++start)
      {
        if (!touches(*start,r ) ) 
--- 90,97 ----
        temp.clear();
      }
    
!   typename DomainList_t::iterator start = result.begin();
!   typename DomainList_t::iterator end = result.end();
    for ( ; start!=end ; ++start)
      {
        if (!touches(*start,r ) ) 
Index: Domain/DomainTraits.Grid.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Domain/DomainTraits.Grid.h,v
retrieving revision 1.8
diff -c -p -r1.8 DomainTraits.Grid.h
*** Domain/DomainTraits.Grid.h	2000/04/28 16:29:38	1.8
--- Domain/DomainTraits.Grid.h	2001/03/28 01:59:31
*************** struct DomainTraits< Grid<1> >
*** 257,264 ****
      CTAssert(DomainTraits<T2>::dimensions == 1);
      CTAssert(DomainTraits<T1>::singleValued == 1);
      CTAssert(DomainTraits<T2>::singleValued == 1);
!     Element_t strideval = (endval < begval ? -1 : 1);
!     dom = Storage_t(begval, strideval, (endval - begval)/strideval + 1);
    }
  
    // a specialized version of setDomain which accepts begin & end values and
--- 257,265 ----
      CTAssert(DomainTraits<T2>::dimensions == 1);
      CTAssert(DomainTraits<T1>::singleValued == 1);
      CTAssert(DomainTraits<T2>::singleValued == 1);
!     const T2 bgval = static_cast<T2>(begval);
!     Element_t strideval = (endval < bgval ? -1 : 1);
!     dom = Storage_t(begval, strideval, (endval - bgval)/strideval + 1);
    }
  
    // a specialized version of setDomain which accepts begin & end values and
Index: Domain/DomainTraits.Interval.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Domain/DomainTraits.Interval.h,v
retrieving revision 1.24
diff -c -p -r1.24 DomainTraits.Interval.h
*** Domain/DomainTraits.Interval.h	2001/03/20 23:42:47	1.24
--- Domain/DomainTraits.Interval.h	2001/03/28 01:59:31
*************** struct DomainTraits< Interval<1> >
*** 263,269 ****
      CTAssert(DomainTraits<T2>::singleValued == 1);
      dom[0] = begval;
      dom[1] = static_cast<Element_t>(endval - begval + 1);
!     PAssert(begval <= endval || dom[1] == 0);
    }
  
    // change the loop variable for this object.  For Interval, this is a no-op.
--- 263,269 ----
      CTAssert(DomainTraits<T2>::singleValued == 1);
      dom[0] = begval;
      dom[1] = static_cast<Element_t>(endval - begval + 1);
!     PAssert(static_cast<T2>(begval) <= endval || dom[1] == 0);
    }
  
    // change the loop variable for this object.  For Interval, this is a no-op.
Index: Domain/DomainTraits.Range.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Domain/DomainTraits.Range.h,v
retrieving revision 1.21
diff -c -p -r1.21 DomainTraits.Range.h
*** Domain/DomainTraits.Range.h	2000/03/07 13:16:35	1.21
--- Domain/DomainTraits.Range.h	2001/03/28 01:59:31
*************** struct DomainTraits< Range<1> >
*** 238,244 ****
      CTAssert(DomainTraits<T2>::dimensions == 1);
      CTAssert(DomainTraits<T1>::singleValued == 1);
      CTAssert(DomainTraits<T2>::singleValued == 1);
!     Element_t strideval = (endval < begval ? -1 : 1);
      dom[0] = begval;
      dom[1] = (endval - begval)/strideval + 1;
      dom[2] = strideval;
--- 238,244 ----
      CTAssert(DomainTraits<T2>::dimensions == 1);
      CTAssert(DomainTraits<T1>::singleValued == 1);
      CTAssert(DomainTraits<T2>::singleValued == 1);
!     Element_t strideval = (endval < static_cast<T2>(begval) ? -1 : 1);
      dom[0] = begval;
      dom[1] = (endval - begval)/strideval + 1;
      dom[2] = strideval;
Index: Domain/Grid.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Domain/Grid.h,v
retrieving revision 1.10
diff -c -p -r1.10 Grid.h
*** Domain/Grid.h	2000/06/27 01:58:27	1.10
--- Domain/Grid.h	2001/03/28 01:59:32
*************** public:
*** 352,358 ****
    Grid() { }
  
    // copy constructor
!   Grid(const Grid<1> &a) {
      NewDomain1<Grid<1> >::fill(*this, a);
    }
  
--- 352,360 ----
    Grid() { }
  
    // copy constructor
!   Grid(const Grid<1> &a)
!     : Base_t ()
!   {
      NewDomain1<Grid<1> >::fill(*this, a);
    }
  
Index: Engine/IndexFunctionEngine.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Engine/IndexFunctionEngine.h,v
retrieving revision 1.19
diff -c -p -r1.19 IndexFunctionEngine.h
*** Engine/IndexFunctionEngine.h	2000/09/26 21:04:29	1.19
--- Engine/IndexFunctionEngine.h	2001/03/28 01:59:32
*************** public:
*** 122,128 ****
    // Construct from a domain object and an optional Functor object.
  
    Engine(const Domain_t &domain, const Functor &f = Functor())
!   : domain_m(domain), funct_m(f) 
    { 
      for (int d = 0; d < Dim; ++d)
        firsts_m[d] = domain[d].first();
--- 122,128 ----
    // Construct from a domain object and an optional Functor object.
  
    Engine(const Domain_t &domain, const Functor &f = Functor())
!   : funct_m(f), domain_m(domain)
    { 
      for (int d = 0; d < Dim; ++d)
        firsts_m[d] = domain[d].first();
*************** public:
*** 139,145 ****
    // Construct from another index-function-engine.
  
    Engine(const This_t &model)
!   : domain_m(model.domain()), funct_m(model.functor()) 
    { 
      for (int d = 0; d < Dim; ++d)
        firsts_m[d] = model.firsts_m[d];
--- 139,145 ----
    // Construct from another index-function-engine.
  
    Engine(const This_t &model)
!   : funct_m(model.functor()), domain_m(model.domain())
    { 
      for (int d = 0; d < Dim; ++d)
        firsts_m[d] = model.firsts_m[d];
Index: Engine/RemoteEngine.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Engine/RemoteEngine.h,v
retrieving revision 1.30
diff -c -p -r1.30 RemoteEngine.h
*** Engine/RemoteEngine.h	2000/09/20 16:22:07	1.30
--- Engine/RemoteEngine.h	2001/03/28 01:59:33
*************** private:
*** 1671,1677 ****
      
      inline GatherContextsData() {}
      inline GatherContextsData(const GatherContextsData &model)
!     : contexts_m(model.contexts_m) {}
      inline ~GatherContextsData() {}
  
      //-------------------------------------------------------------------------
--- 1671,1677 ----
      
      inline GatherContextsData() {}
      inline GatherContextsData(const GatherContextsData &model)
!     : RefCounted (), contexts_m(model.contexts_m) {}
      inline ~GatherContextsData() {}
  
      //-------------------------------------------------------------------------
*************** struct Evaluator<RemoteMultiPatchEvaluat
*** 1890,1896 ****
      expressionApply(lhs, IntersectorTag<Inter_t>(inter));
      expressionApply(rhs, IntersectorTag<Inter_t>(inter));
    
!     Inter_t::const_iterator i = inter.begin();
      while (i != inter.end())
        {
          Evaluator<RemoteSinglePatchEvaluatorTag>().
--- 1890,1896 ----
      expressionApply(lhs, IntersectorTag<Inter_t>(inter));
      expressionApply(rhs, IntersectorTag<Inter_t>(inter));
    
!     typename Inter_t::const_iterator i = inter.begin();
      while (i != inter.end())
        {
          Evaluator<RemoteSinglePatchEvaluatorTag>().
*************** struct Reduction<RemoteMultiPatchEvaluat
*** 2017,2023 ****
  
      std::vector<bool> present(inter.size());
      std::vector<int> computationalContext(inter.size());
!     Inter_t::const_iterator i = inter.begin();
      int j, k, n = 0;
      for (j = 0; j < inter.size(); j++)
        {
--- 2017,2023 ----
  
      std::vector<bool> present(inter.size());
      std::vector<int> computationalContext(inter.size());
!     typename Inter_t::const_iterator i = inter.begin();
      int j, k, n = 0;
      for (j = 0; j < inter.size(); j++)
        {
Index: Evaluator/Evaluator.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Evaluator/Evaluator.h,v
retrieving revision 1.56
diff -c -p -r1.56 Evaluator.h
*** Evaluator/Evaluator.h	2000/09/20 16:22:10	1.56
--- Evaluator/Evaluator.h	2001/03/28 01:59:33
*************** struct Evaluator<MultiPatchEvaluatorTag>
*** 201,207 ****
      expressionApply(lhs, IntersectorTag<Inter_t>(inter));
      expressionApply(rhs, IntersectorTag<Inter_t>(inter));
    
!     Inter_t::const_iterator i = inter.begin();
      while (i != inter.end())
      {
        Evaluator<SinglePatchEvaluatorTag>().evaluate(lhs(*i), op, rhs(*i));
--- 201,207 ----
      expressionApply(lhs, IntersectorTag<Inter_t>(inter));
      expressionApply(rhs, IntersectorTag<Inter_t>(inter));
    
!     typename Inter_t::const_iterator i = inter.begin();
      while (i != inter.end())
      {
        Evaluator<SinglePatchEvaluatorTag>().evaluate(lhs(*i), op, rhs(*i));
Index: Evaluator/ExpressionKernel.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Evaluator/ExpressionKernel.h,v
retrieving revision 1.44
diff -c -p -r1.44 ExpressionKernel.h
*** Evaluator/ExpressionKernel.h	2000/05/31 02:40:03	1.44
--- Evaluator/ExpressionKernel.h	2001/03/28 01:59:33
*************** private:
*** 128,134 ****
  template<class LHS,class Op,class RHS,class EvalTag>
  ExpressionKernel<LHS,Op,RHS,EvalTag>::
  ExpressionKernel(const LHS& lhs,const Op& op,const RHS& rhs)
! #if POOMA_SMARTS_1_0
    : Pooma::Iterate_t(Pooma::scheduler(),
  		     engineFunctor(lhs, DataObjectRequest<CountBlocks>()) +
  		     engineFunctor(rhs, DataObjectRequest<CountBlocks>()),
--- 128,134 ----
  template<class LHS,class Op,class RHS,class EvalTag>
  ExpressionKernel<LHS,Op,RHS,EvalTag>::
  ExpressionKernel(const LHS& lhs,const Op& op,const RHS& rhs)
! #ifdef POOMA_SMARTS_1_0
    : Pooma::Iterate_t(Pooma::scheduler(),
  		     engineFunctor(lhs, DataObjectRequest<CountBlocks>()) +
  		     engineFunctor(rhs, DataObjectRequest<CountBlocks>()),
Index: Evaluator/MultiArgEvaluator.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Evaluator/MultiArgEvaluator.h,v
retrieving revision 1.5
diff -c -p -r1.5 MultiArgEvaluator.h
*** Evaluator/MultiArgEvaluator.h	2001/03/04 06:46:48	1.5
--- Evaluator/MultiArgEvaluator.h	2001/03/28 01:59:33
*************** public:
*** 248,254 ****
  
      applyMultiArg(multiArg, inter, info.writers());
   
!     Inter_t::const_iterator i = inter.begin();
      while (i != inter.end())
      {
        INode<Dim> inode = info.extendDomain(*i);
--- 248,254 ----
  
      applyMultiArg(multiArg, inter, info.writers());
   
!     typename Inter_t::const_iterator i = inter.begin();
      while (i != inter.end())
      {
        INode<Dim> inode = info.extendDomain(*i);
*************** struct MultiArgEvaluator<RemoteMultiPatc
*** 349,355 ****
  
      applyMultiArg(multiArg, inter, info.writers());
   
!     Inter_t::const_iterator i = inter.begin();
      while (i != inter.end())
      {
        MultiArgEvaluator<RemoteSinglePatchEvaluatorTag>().
--- 349,355 ----
  
      applyMultiArg(multiArg, inter, info.writers());
   
!     typename Inter_t::const_iterator i = inter.begin();
      while (i != inter.end())
      {
        MultiArgEvaluator<RemoteSinglePatchEvaluatorTag>().
Index: Evaluator/Reduction.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Evaluator/Reduction.h,v
retrieving revision 1.9
diff -c -p -r1.9 Reduction.h
*** Evaluator/Reduction.h	2000/09/20 16:22:10	1.9
--- Evaluator/Reduction.h	2001/03/28 01:59:33
*************** struct Reduction<MultiPatchEvaluatorTag>
*** 222,228 ****
  
      Pooma::scheduler().beginGeneration();
      
!     Inter_t::const_iterator i = inter.begin();
      int j = 0;
      while (j < n)
        {
--- 222,228 ----
  
      Pooma::scheduler().beginGeneration();
      
!     typename Inter_t::const_iterator i = inter.begin();
      int j = 0;
      while (j < n)
        {
Index: Field/Field.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/src/Field/Field.cpp,v
retrieving revision 1.8
diff -c -p -r1.8 Field.cpp
*** Field/Field.cpp	2000/07/20 15:39:27	1.8
--- Field/Field.cpp	2001/03/28 01:59:34
*************** assign(const Field<Geom, T, EngineTag> &
*** 114,120 ****
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
--- 114,120 ----
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   typename CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
*************** assign(const Field<Geom, T, EngineTag> &
*** 175,181 ****
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
--- 175,181 ----
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   typename CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
*************** assign(const Field<Geom, T, EngineTag> &
*** 240,246 ****
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
--- 240,246 ----
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   typename CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
*************** assign(const Array<Dim, T, EngineTag> &l
*** 309,315 ****
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
--- 309,315 ----
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   typename CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
*************** assign(const Array<Dim, T, EngineTag> &l
*** 366,372 ****
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
--- 366,372 ----
    // if the rhs is an expression.
    // This will allow subsequent functors to actually reach the leaves.
  
!   typename CreateLeaf<ViewedRHS_t>::Leaf_t rhsExpr = 
      CreateLeaf<ViewedRHS_t>::make(vrhs);
  
    // Optionally, check conformance.
Index: Field/Field.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Field/Field.h,v
retrieving revision 1.68
diff -c -p -r1.68 Field.h
*** Field/Field.h	2000/09/20 16:22:13	1.68
--- Field/Field.h	2001/03/28 01:59:34
*************** public:
*** 1074,1089 ****
    
    //---------------------------------------------------------------------------
    // View-creation operations yielding Arrays.
!    
    typename ArrayView<This_t, Domain_t>::Type_t
!   inline array() const
    {
      typedef ArrayView<This_t, Domain_t> Ret_t;
      return Ret_t::make(*this, physicalDomain());
    };
     
    typename ArrayView<This_t, Domain_t>::Type_t
!   inline arrayAll() const
    {
      typedef ArrayView<This_t, Domain_t> Ret_t;
      return Ret_t::make(*this, totalDomain());
--- 1074,1091 ----
    
    //---------------------------------------------------------------------------
    // View-creation operations yielding Arrays.
! 
!   inline
    typename ArrayView<This_t, Domain_t>::Type_t
!   array() const
    {
      typedef ArrayView<This_t, Domain_t> Ret_t;
      return Ret_t::make(*this, physicalDomain());
    };
     
+   inline
    typename ArrayView<This_t, Domain_t>::Type_t
!   arrayAll() const
    {
      typedef ArrayView<This_t, Domain_t> Ret_t;
      return Ret_t::make(*this, totalDomain());
Index: Field/PrintField.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Field/PrintField.h,v
retrieving revision 1.2
diff -c -p -r1.2 PrintField.h
*** Field/PrintField.h	2000/03/07 13:17:08	1.2
--- Field/PrintField.h	2001/03/28 01:59:35
*************** public:
*** 188,194 ****
  	     bool scientific = false, int spacing = 1)
      : domainwidth_m(domainWidth), datawidth_m(dataWidth), 
        dataprecision_m(dataPrecision), carreturn_m(carReturn),
!       scientific_m(scientific), spacing_m(spacing)
      {
        PAssert(domainwidth_m > 0);
        PAssert(datawidth_m > 0);
--- 188,194 ----
  	     bool scientific = false, int spacing = 1)
      : domainwidth_m(domainWidth), datawidth_m(dataWidth), 
        dataprecision_m(dataPrecision), carreturn_m(carReturn),
!       spacing_m(spacing), scientific_m(scientific)
      {
        PAssert(domainwidth_m > 0);
        PAssert(datawidth_m > 0);
Index: Layout/DynamicEvents.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Layout/DynamicEvents.h,v
retrieving revision 1.11
diff -c -p -r1.11 DynamicEvents.h
*** Layout/DynamicEvents.h	2000/03/07 13:17:34	1.11
--- Layout/DynamicEvents.h	2001/03/28 01:59:35
*************** public:
*** 249,256 ****
    // is < 0, the create should be done in the last local patch.
  
    CreateEvent(CreateSize_t num, PatchID_t p)
!     : amount_m(num), patch_m(p),
!       ObserverEvent(DynamicEvents::create)
      {
      }
  
--- 249,256 ----
    // is < 0, the create should be done in the last local patch.
  
    CreateEvent(CreateSize_t num, PatchID_t p)
!     : ObserverEvent(DynamicEvents::create),
!       amount_m(num), patch_m(p)
      {
      }
  
*************** public:
*** 330,337 ****
  
    template<class D>
    DestroyEvent(const D &d, PatchID_t p, int method)
!     : domain_m(d), patch_m(p), method_m(method),
!       ObserverEvent(DynamicEventType<Dom>::destroyCode)
      {
        CTAssert(DynamicEventType<Dom>::dimensions == 1);
      }
--- 330,337 ----
  
    template<class D>
    DestroyEvent(const D &d, PatchID_t p, int method)
!     : ObserverEvent(DynamicEventType<Dom>::destroyCode),
!       domain_m(d), patch_m(p), method_m(method)
      {
        CTAssert(DynamicEventType<Dom>::dimensions == 1);
      }
*************** public:
*** 421,436 ****
    // copy to.
  
    CopyEvent(const Dom &d, PatchID_t fromp, PatchID_t top)
!     : domain_m(d), from_m(fromp), to_m(top),
!       ObserverEvent(DynamicEventType<Dom>::copyCode)
      {
        CTAssert(DynamicEventType<Dom>::dimensions == 1);
      }
  
    template<class D>
    CopyEvent(const D &d, PatchID_t fromp, PatchID_t top)
!     : domain_m(d), from_m(fromp), to_m(top),
!       ObserverEvent(DynamicEventType<Dom>::copyCode)
      {
        CTAssert(DynamicEventType<Dom>::dimensions == 1);
      }
--- 421,436 ----
    // copy to.
  
    CopyEvent(const Dom &d, PatchID_t fromp, PatchID_t top)
!     : ObserverEvent(DynamicEventType<Dom>::copyCode),
!       domain_m(d), from_m(fromp), to_m(top)
      {
        CTAssert(DynamicEventType<Dom>::dimensions == 1);
      }
  
    template<class D>
    CopyEvent(const D &d, PatchID_t fromp, PatchID_t top)
!     : ObserverEvent(DynamicEventType<Dom>::copyCode),
!       domain_m(d), from_m(fromp), to_m(top)
      {
        CTAssert(DynamicEventType<Dom>::dimensions == 1);
      }
*************** public:
*** 534,541 ****
  
    CopyPatchEvent(const Domain_t &domlists, const IDList_t &fromlist,
  		 PatchID_t top, bool create)
!     : lists_m(domlists), from_m(fromlist), to_m(top), create_m(create),
!       ObserverEvent(DynamicEvents::copyPatchList)
      {
      }
  
--- 534,541 ----
  
    CopyPatchEvent(const Domain_t &domlists, const IDList_t &fromlist,
  		 PatchID_t top, bool create)
!     : ObserverEvent(DynamicEvents::copyPatchList),
!       lists_m(domlists), from_m(fromlist), to_m(top), create_m(create)
      {
      }
  
Index: Layout/GlobalIDDataBase.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Layout/GlobalIDDataBase.h,v
retrieving revision 1.13
diff -c -p -r1.13 GlobalIDDataBase.h
*** Layout/GlobalIDDataBase.h	2000/07/12 19:17:12	1.13
--- Layout/GlobalIDDataBase.h	2001/03/28 01:59:35
*************** private:
*** 193,199 ****
    struct Pack
    {
      Pack()
!       : layoutID_m(0), globalID_m(0), context_m(0), parent_m(0)
      { }
  
      inline
--- 193,199 ----
    struct Pack
    {
      Pack()
!       : layoutID_m(0), context_m(0), globalID_m(0), parent_m(0)
      { }
  
      inline
Index: Layout/GridLayout.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/src/Layout/GridLayout.cpp,v
retrieving revision 1.82
diff -c -p -r1.82 GridLayout.cpp
*** Layout/GridLayout.cpp	2000/06/27 01:58:29	1.82
--- Layout/GridLayout.cpp	2001/03/28 01:59:35
*************** inline void GridLayoutData<Dim>::initial
*** 178,185 ****
    
    gpar.partition(innerdomain_m, all_m, cmap);
  
!   List_t::iterator start = all_m.begin();
!   List_t::iterator end   = all_m.end();
    
    for ( ; start!=end ;++start )
      {
--- 178,185 ----
    
    gpar.partition(innerdomain_m, all_m, cmap);
  
!   typename List_t::iterator start = all_m.begin();
!   typename List_t::iterator end   = all_m.end();
    
    for ( ; start!=end ;++start )
      {
*************** void GridLayoutData<Dim>::initialize(con
*** 283,290 ****
    // Iterate through the complete list of nodes provided and assign to the
    // appropriate subcategories.
  
!   List_t::iterator start = all_m.begin();
!   List_t::iterator end   = all_m.end();
    
    for ( ; start!=end ;++start )
      {
--- 283,290 ----
    // Iterate through the complete list of nodes provided and assign to the
    // appropriate subcategories.
  
!   typename List_t::iterator start = all_m.begin();
!   typename List_t::iterator end   = all_m.end();
    
    for ( ; start!=end ;++start )
      {
Index: Layout/SparseTileLayout.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/src/Layout/SparseTileLayout.cpp,v
retrieving revision 1.25
diff -c -p -r1.25 SparseTileLayout.cpp
*** Layout/SparseTileLayout.cpp	2000/10/04 04:14:26	1.25
--- Layout/SparseTileLayout.cpp	2001/03/28 01:59:36
*************** SparseTileLayoutData<Dim>::~SparseTileLa
*** 170,177 ****
  template<int Dim>
  void SparseTileLayoutData<Dim>::syncPatch()
  {
!   List_t::iterator start = all_m.begin();
!   List_t::iterator end = all_m.end();
    for ( ; start != end ; ++start)
      if ( (*start)->context() == Pooma::context()
  	 ||(*start)->context() == -1 )
--- 170,177 ----
  template<int Dim>
  void SparseTileLayoutData<Dim>::syncPatch()
  {
!   typename List_t::iterator start = all_m.begin();
!   typename List_t::iterator end = all_m.end();
    for ( ; start != end ; ++start)
      if ( (*start)->context() == Pooma::context()
  	 ||(*start)->context() == -1 )
*************** void SparseTileLayoutData<Dim>::calcMaps
*** 202,209 ****
  
    map_m.initialize(domain_m);
  
!   List_t::const_iterator start = all_m.begin();
!   List_t::const_iterator end   = all_m.end();
    int i=0;
  
    for ( ; start != end ; ++start, ++i )
--- 202,209 ----
  
    map_m.initialize(domain_m);
  
!   typename List_t::const_iterator start = all_m.begin();
!   typename List_t::const_iterator end   = all_m.end();
    int i=0;
  
    for ( ; start != end ; ++start, ++i )
*************** void SparseTileLayoutData<Dim>::calcAllo
*** 229,236 ****
  
    mapAloc_m.initialize(domain_m);
   
!   List_t::const_iterator start = all_m.begin();
!   List_t::const_iterator end   = all_m.end();
  
    int i=0;
  
--- 229,236 ----
  
    mapAloc_m.initialize(domain_m);
   
!   typename List_t::const_iterator start = all_m.begin();
!   typename List_t::const_iterator end   = all_m.end();
  
    int i=0;
  
*************** void SparseTileLayoutData<Dim>::calcGCFi
*** 421,428 ****
    TouchList_t tlist;
  
    // first we do the internal overlap regions
!   List_t::iterator start = all_m.begin();
!   List_t::iterator end = all_m.end();
  
    for ( ; start!=end; ++start)
      {
--- 421,428 ----
    TouchList_t tlist;
  
    // first we do the internal overlap regions
!   typename List_t::iterator start = all_m.begin();
!   typename List_t::iterator end = all_m.end();
  
    for ( ; start!=end; ++start)
      {
*************** void SparseTileLayoutData<Dim>::calcGCFi
*** 432,439 ****
  
        // now pack the tlist into the GCFillInfo object
        // The if test is to remove the self-touch entry
!       TouchList_t::iterator GCLstart = tlist.begin();
!       TouchList_t::iterator GCLend = tlist.end();
        
        for( ; GCLstart != GCLend ;++GCLstart)
  	{
--- 432,439 ----
  
        // now pack the tlist into the GCFillInfo object
        // The if test is to remove the self-touch entry
!       typename TouchList_t::iterator GCLstart = tlist.begin();
!       typename TouchList_t::iterator GCLend = tlist.end();
        
        for( ; GCLstart != GCLend ;++GCLstart)
  	{
*************** void SparseTileLayoutData<Dim>::calcGCFi
*** 508,514 ****
        
        for ( ; gst!=gen ; ++gst )
  	{
! 	  std::vector<Domain_t>::iterator ts = temp2.begin();
  	  for ( ; ts != temp2.end() ; ++ts )
  	    {
  	      temp3 = DomainRemoveOverlap(*ts,gst->domain_m);
--- 508,514 ----
        
        for ( ; gst!=gen ; ++gst )
  	{
! 	  typename std::vector<Domain_t>::iterator ts = temp2.begin();
  	  for ( ; ts != temp2.end() ; ++ts )
  	    {
  	      temp3 = DomainRemoveOverlap(*ts,gst->domain_m);
*************** void SparseTileLayoutData<Dim>::calcGCFi
*** 518,524 ****
  	  temp4.clear();
  	}
        
!       std::vector<Domain_t>::iterator ts = temp2.begin();
        for( ; ts != temp2.end(); ++ts)
  	temp.push_back(GCBorderFillInfo(*ts, bst->patchID() ));
      }
--- 518,524 ----
  	  temp4.clear();
  	}
        
!       typename std::vector<Domain_t>::iterator ts = temp2.begin();
        for( ; ts != temp2.end(); ++ts)
  	temp.push_back(GCBorderFillInfo(*ts, bst->patchID() ));
      }
*************** int SparseTileLayoutData<Dim>::touches(c
*** 697,704 ****
  
    typedef Node<OutDomain_t,Domain_t> OutNode_t;
    // Ack!!! OutDomain_t is a Range, but DomainMap::touches requires an Interval.
!   DomainMap<Interval<Dim>,pidx_t>::Touch_t dmti = map_m.touch(Interval<Dim>(d));
!   DomainMap<Interval<Dim>,pidx_t>::touch_iterator a;
  
    int count = 0;
  
--- 697,705 ----
  
    typedef Node<OutDomain_t,Domain_t> OutNode_t;
    // Ack!!! OutDomain_t is a Range, but DomainMap::touches requires an Interval.
!   typename DomainMap<Interval<Dim>,pidx_t>::Touch_t dmti =
!     map_m.touch(Interval<Dim>(d));
!   typename DomainMap<Interval<Dim>,pidx_t>::touch_iterator a;
  
    int count = 0;
  
*************** int SparseTileLayoutData<Dim>::touchesAl
*** 752,759 ****
  
    typedef Node<OutDomain_t,Domain_t> OutNode_t;
  
!   DomainMap<Interval<Dim>,pidx_t>::Touch_t dmti = map_m.touch(d);
!   DomainMap<Interval<Dim>,pidx_t>::touch_iterator a;
  
    int count = 0;
  
--- 753,760 ----
  
    typedef Node<OutDomain_t,Domain_t> OutNode_t;
  
!   typename DomainMap<Interval<Dim>,pidx_t>::Touch_t dmti = map_m.touch(d);
!   typename DomainMap<Interval<Dim>,pidx_t>::touch_iterator a;
  
    int count = 0;
  
*************** void SparseTileLayoutData<Dim>::print(Ou
*** 791,798 ****
    o<< " domain_m " << domain_m <<std::endl;
    o<< " innerdomain_m " << innerdomain_m <<std::endl;
    o<< " all_m : " << std::endl;
!   List_t::const_iterator start = all_m.begin();
!   List_t::const_iterator end   = all_m.end();
    for ( ; start!=end ; ++start)
      o<< (*start)->globalID()<<" "<<
        (*start)->domain()<<" "<< 
--- 792,799 ----
    o<< " domain_m " << domain_m <<std::endl;
    o<< " innerdomain_m " << innerdomain_m <<std::endl;
    o<< " all_m : " << std::endl;
!   typename List_t::const_iterator start = all_m.begin();
!   typename List_t::const_iterator end   = all_m.end();
    for ( ; start!=end ; ++start)
      o<< (*start)->globalID()<<" "<<
        (*start)->domain()<<" "<< 
Index: Layout/UniformGridLayout.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/src/Layout/UniformGridLayout.cpp,v
retrieving revision 1.34
diff -c -p -r1.34 UniformGridLayout.cpp
*** Layout/UniformGridLayout.cpp	2000/08/15 17:30:31	1.34
--- Layout/UniformGridLayout.cpp	2001/03/28 01:59:36
*************** void UniformGridLayoutData<Dim>::partiti
*** 155,162 ****
  
    // fill local and remote lists
  
!   List_t::const_iterator start = all_m.begin();
!   List_t::const_iterator end   = all_m.end();
    
    for ( ; start!=end ; ++start)
      {
--- 155,162 ----
  
    // fill local and remote lists
  
!   typename List_t::const_iterator start = all_m.begin();
!   typename List_t::const_iterator end   = all_m.end();
    
    for ( ; start!=end ; ++start)
      {
*************** void UniformGridLayoutData<Dim>::initial
*** 258,265 ****
    // Iterate through the complete list of nodes provided and assign to the
    // appropriate subcategories.
  
!   List_t::iterator start = all_m.begin();
!   List_t::iterator end   = all_m.end();
    
    for ( ; start!=end ;++start )
      {
--- 258,265 ----
    // Iterate through the complete list of nodes provided and assign to the
    // appropriate subcategories.
  
!   typename List_t::iterator start = all_m.begin();
!   typename List_t::iterator end   = all_m.end();
    
    for ( ; start!=end ;++start )
      {
Index: Partition/BisectionMapper.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Partition/BisectionMapper.h,v
retrieving revision 1.3
diff -c -p -r1.3 BisectionMapper.h
*** Partition/BisectionMapper.h	2000/06/08 23:07:59	1.3
--- Partition/BisectionMapper.h	2001/03/28 01:59:36
*************** public:
*** 86,94 ****
      while ( bvec.size() < ncontexts )
        {
  	int s = 0;
! 	std::list<Domain_t>::iterator bstart = bvec.begin();
! 	std::list<Domain_t>::iterator bend = bvec.end();
! 	std::list<Domain_t>::iterator bpatch;
  	// find the largest patch.
  	for ( ; bstart != bend ; ++bstart)
  	  {
--- 86,94 ----
      while ( bvec.size() < ncontexts )
        {
  	int s = 0;
! 	typename std::list<Domain_t>::iterator bstart = bvec.begin();
! 	typename std::list<Domain_t>::iterator bend = bvec.end();
! 	typename std::list<Domain_t>::iterator bpatch;
  	// find the largest patch.
  	for ( ; bstart != bend ; ++bstart)
  	  {
*************** public:
*** 133,140 ****
      for ( int i=1; i<Dim; ++i)
        strides[i] = strides[i-1]*blocks_m[i-1].first();
  
!     std::list<Domain_t>::iterator start = bvec.begin();
!     std::list<Domain_t>::iterator end = bvec.end();
      int pcontext = 0;
      for ( ; start != end ; ++start)
        {
--- 133,140 ----
      for ( int i=1; i<Dim; ++i)
        strides[i] = strides[i-1]*blocks_m[i-1].first();
  
!     typename std::list<Domain_t>::iterator start = bvec.begin();
!     typename std::list<Domain_t>::iterator end = bvec.end();
      int pcontext = 0;
      for ( ; start != end ; ++start)
        {
Index: Partition/UniformMapper.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Partition/UniformMapper.h,v
retrieving revision 1.3
diff -c -p -r1.3 UniformMapper.h
*** Partition/UniformMapper.h	2000/06/07 23:36:46	1.3
--- Partition/UniformMapper.h	2001/03/28 01:59:36
*************** public:
*** 86,91 ****
--- 86,93 ----
  
    void map(const List_t&) const;
  
+   virtual ~UniformMapper () {}
+ 
    // member data
  private:
  
Index: Pooma/Pooma.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Pooma/Pooma.h,v
retrieving revision 1.30
diff -c -p -r1.30 Pooma.h
*** Pooma/Pooma.h	2000/06/08 22:16:34	1.30
--- Pooma/Pooma.h	2001/03/28 01:59:36
*************** inline void poll()
*** 528,534 ****
  #if POOMA_CHEETAH
    controller()->poll();
  #endif
! #if POOMA_SMARTS_SCHEDULER_SERIALASYNC
    Smarts::SystemContext::runSomething();
  #endif
  
--- 528,534 ----
  #if POOMA_CHEETAH
    controller()->poll();
  #endif
! #ifdef POOMA_SMARTS_SCHEDULER_SERIALASYNC
    Smarts::SystemContext::runSomething();
  #endif
  
Index: Pooma/PoomaOperatorTags.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Pooma/PoomaOperatorTags.h,v
retrieving revision 1.16
diff -c -p -r1.16 PoomaOperatorTags.h
*** Pooma/PoomaOperatorTags.h	2000/08/08 17:32:59	1.16
--- Pooma/PoomaOperatorTags.h	2001/03/28 01:59:37
*************** struct FnMin
*** 241,247 ****
    operator()(const T1 &a, const T2 &b) const
    {
      return 
! #if POOMA_BRAIN_DAMAGED_MICROSOFT_LIB
          (a<b?a:b)
  #else
          std::min(a, b)
--- 241,247 ----
    operator()(const T1 &a, const T2 &b) const
    {
      return 
! #ifdef POOMA_BRAIN_DAMAGED_MICROSOFT_LIB
          (a<b?a:b)
  #else
          std::min(a, b)
*************** struct FnMax
*** 258,264 ****
    operator()(const T1 &a, const T2 &b) const
    {
      return 
! #if POOMA_BRAIN_DAMAGED_MICROSOFT_LIB
          (a>b?a:b)
  #else
          std::max(a, b)
--- 258,264 ----
    operator()(const T1 &a, const T2 &b) const
    {
      return 
! #ifdef POOMA_BRAIN_DAMAGED_MICROSOFT_LIB
          (a>b?a:b)
  #else
          std::max(a, b)
*************** struct FnMinAssign
*** 371,377 ****
    operator()(const T1 &a, const T2 &b) const
    {
      
! #if POOMA_BRAIN_DAMAGED_MICROSOFT_LIB
          const_cast<T1 &>(a) = (a<b?a:b)
  #else
          const_cast<T1 &>(a) = std::min(a, b)
--- 371,377 ----
    operator()(const T1 &a, const T2 &b) const
    {
      
! #ifdef POOMA_BRAIN_DAMAGED_MICROSOFT_LIB
          const_cast<T1 &>(a) = (a<b?a:b)
  #else
          const_cast<T1 &>(a) = std::min(a, b)
*************** struct FnMaxAssign
*** 394,400 ****
    operator()(const T1 &a, const T2 &b) const
    {
      
! #if POOMA_BRAIN_DAMAGED_MICROSOFT_LIB
          const_cast<T1 &>(a) = (a>b?a:b)
  #else
          const_cast<T1 &>(a) = std::max(a, b)
--- 394,400 ----
    operator()(const T1 &a, const T2 &b) const
    {
      
! #ifdef POOMA_BRAIN_DAMAGED_MICROSOFT_LIB
          const_cast<T1 &>(a) = (a>b?a:b)
  #else
          const_cast<T1 &>(a) = std::max(a, b)
Index: Threads/PoomaCSem.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Threads/PoomaCSem.h,v
retrieving revision 1.8
diff -c -p -r1.8 PoomaCSem.h
*** Threads/PoomaCSem.h	2000/06/08 22:16:42	1.8
--- Threads/PoomaCSem.h	2001/03/28 01:59:37
*************** private:
*** 181,187 ****
  
  }
  
! #elif POOMA_SMARTS_SCHEDULER_SERIALASYNC
  
  #include "Threads/IterateSchedulers/SerialAsync.h"
  
--- 181,187 ----
  
  }
  
! #elif defined(POOMA_SMARTS_SCHEDULER_SERIALASYNC)
  
  #include "Threads/IterateSchedulers/SerialAsync.h"
  
Index: Threads/Scheduler.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Threads/Scheduler.h,v
retrieving revision 1.7
diff -c -p -r1.7 Scheduler.h
*** Threads/Scheduler.h	2000/05/05 07:44:53	1.7
--- Threads/Scheduler.h	2001/03/28 01:59:37
*************** CTAssert(YOU_HAVE_NOT_SELECTED_A_SCHEDUL
*** 89,95 ****
  
  #else
  
! # if POOMA_SMARTS_SCHEDULER_SERIALASYNC
  
  #  include "Threads/IterateSchedulers/SerialAsync.h"
  
--- 89,95 ----
  
  #else
  
! # ifdef POOMA_SMARTS_SCHEDULER_SERIALASYNC
  
  #  include "Threads/IterateSchedulers/SerialAsync.h"
  
Index: Utilities/Observer.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Utilities/Observer.h,v
retrieving revision 1.10
diff -c -p -r1.10 Observer.h
*** Utilities/Observer.h	2000/03/07 13:18:25	1.10
--- Utilities/Observer.h	2001/03/28 01:59:37
*************** public:
*** 182,188 ****
  
    // The destructor is not made virtual, since we should not ever need
    // to delete an object via its SingleObserver base class.
!   ~SingleObserver() { }
  
  
    //============================================================
--- 182,188 ----
  
    // The destructor is not made virtual, since we should not ever need
    // to delete an object via its SingleObserver base class.
!   virtual ~SingleObserver() { }
  
  
    //============================================================
Index: Utilities/RefCountedBlockPtr.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Utilities/RefCountedBlockPtr.h,v
retrieving revision 1.57
diff -c -p -r1.57 RefCountedBlockPtr.h
*** Utilities/RefCountedBlockPtr.h	2001/03/21 00:56:09	1.57
--- Utilities/RefCountedBlockPtr.h	2001/03/28 01:59:37
*************** public: 
*** 128,134 ****
  
    explicit 
    RefBlockController(size_t size)
!     : dealloc_m(false), pBegin_m(0), pEnd_m(0), pEndOfStorage_m(0)
    {
      // Allocate memory, and set pointers to beginning and ending.  This
      // also sets the dealloc_m flag to true.
--- 128,134 ----
  
    explicit 
    RefBlockController(size_t size)
!     : pBegin_m(0), pEnd_m(0), pEndOfStorage_m(0), dealloc_m(false)
    {
      // Allocate memory, and set pointers to beginning and ending.  This
      // also sets the dealloc_m flag to true.
*************** public:
*** 534,540 ****
  
    typedef std::random_access_iterator_tag  iterator_category;
    typedef T           value_type;
! #if POOMA_NONSTANDARD_ITERATOR
    typedef ptrdiff_t   distance_type;
  #else
    typedef ptrdiff_t   difference_type;
--- 534,540 ----
  
    typedef std::random_access_iterator_tag  iterator_category;
    typedef T           value_type;
! #if defined (POOMA_NONSTANDARD_ITERATOR) && POOMA_NONSTANDARD_ITERATOR
    typedef ptrdiff_t   distance_type;
  #else
    typedef ptrdiff_t   difference_type;
*************** public:
*** 583,590 ****
    // Initialize a block of a given size, optionally with a model.
  
    inline explicit RefCountedBlockPtr(size_t size)
!     : blockControllerPtr_m(new Controller(size)),
!       offset_m(0)
    { }
  
    inline RefCountedBlockPtr(size_t size, const T & model)
--- 583,590 ----
    // Initialize a block of a given size, optionally with a model.
  
    inline explicit RefCountedBlockPtr(size_t size)
!     : offset_m(0),
!       blockControllerPtr_m(new Controller(size))
    { }
  
    inline RefCountedBlockPtr(size_t size, const T & model)
*************** public:
*** 620,627 ****
    // Copy constructor
  
    inline RefCountedBlockPtr(const This_t & model)
!     : blockControllerPtr_m(model.blockControllerPtr_m),
!       offset_m(model.offset_m)
    { }
  
    // Copy constructor from a RefCountedBlockPtr of the opposite bounds
--- 620,627 ----
    // Copy constructor
  
    inline RefCountedBlockPtr(const This_t & model)
!     : offset_m(model.offset_m),
!       blockControllerPtr_m(model.blockControllerPtr_m)
    { }
  
    // Copy constructor from a RefCountedBlockPtr of the opposite bounds
Index: Utilities/algorithms.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Utilities/algorithms.h,v
retrieving revision 1.10
diff -c -p -r1.10 algorithms.h
*** Utilities/algorithms.h	2000/07/14 17:46:37	1.10
--- Utilities/algorithms.h	2001/03/28 01:59:38
*************** template <class It, class It2>
*** 138,144 ****
  inline It2 copy_special(It begin, It end, It2 dest, IsConcrete<true>)
  {
    typedef std::iterator_traits<It>                DataTraits_t;
! #if POOMA_NONSTANDARD_ITERATOR
    typedef typename DataTraits_t::distance_type    Diff_t;
  #else
    typedef typename DataTraits_t::difference_type  Diff_t;
--- 138,144 ----
  inline It2 copy_special(It begin, It end, It2 dest, IsConcrete<true>)
  {
    typedef std::iterator_traits<It>                DataTraits_t;
! #ifdef POOMA_NONSTANDARD_ITERATOR
    typedef typename DataTraits_t::distance_type    Diff_t;
  #else
    typedef typename DataTraits_t::difference_type  Diff_t;
*************** inline It2 copy_special(It begin, It end
*** 205,218 ****
  
  template <class DataIterator, class KillIterator>
  inline
! #if POOMA_NONSTANDARD_ITERATOR
  typename std::iterator_traits<DataIterator>::distance_type
  #else
  typename std::iterator_traits<DataIterator>::difference_type
  #endif
  delete_backfill(DataIterator data_begin, DataIterator data_end, 
    const KillIterator kill_begin, const KillIterator kill_end,
! #if POOMA_NONSTANDARD_ITERATOR
    typename std::iterator_traits<DataIterator>::distance_type offset = 0)
  #else
    typename std::iterator_traits<DataIterator>::difference_type offset = 0)
--- 205,218 ----
  
  template <class DataIterator, class KillIterator>
  inline
! #ifdef POOMA_NONSTANDARD_ITERATOR
  typename std::iterator_traits<DataIterator>::distance_type
  #else
  typename std::iterator_traits<DataIterator>::difference_type
  #endif
  delete_backfill(DataIterator data_begin, DataIterator data_end, 
    const KillIterator kill_begin, const KillIterator kill_end,
! #ifdef POOMA_NONSTANDARD_ITERATOR
    typename std::iterator_traits<DataIterator>::distance_type offset = 0)
  #else
    typename std::iterator_traits<DataIterator>::difference_type offset = 0)
*************** delete_backfill(DataIterator data_begin,
*** 224,230 ****
    // No data has to be moved if we're destroying values that are at
    // the end of the sequence. Thus we look for these first.
  
! #if POOMA_NONSTANDARD_ITERATOR
    std::reverse_iterator<KillIterator, const int> rk_pos(kill_end);
    std::reverse_iterator<KillIterator, const int> rk_end(kill_begin);
  #else
--- 224,230 ----
    // No data has to be moved if we're destroying values that are at
    // the end of the sequence. Thus we look for these first.
  
! #ifdef POOMA_NONSTANDARD_ITERATOR
    std::reverse_iterator<KillIterator, const int> rk_pos(kill_end);
    std::reverse_iterator<KillIterator, const int> rk_end(kill_begin);
  #else
*************** delete_backfill(DataIterator data_begin,
*** 233,239 ****
  #endif
    
    typedef std::iterator_traits<DataIterator>     DataTraits_t;
! #if POOMA_NONSTANDARD_ITERATOR
    typedef typename DataTraits_t::distance_type   Diff_t;
  #else
    typedef typename DataTraits_t::difference_type Diff_t;
--- 233,239 ----
  #endif
    
    typedef std::iterator_traits<DataIterator>     DataTraits_t;
! #ifdef POOMA_NONSTANDARD_ITERATOR
    typedef typename DataTraits_t::distance_type   Diff_t;
  #else
    typedef typename DataTraits_t::difference_type Diff_t;
*************** delete_backfill(DataIterator data_begin,
*** 295,308 ****
  
  template <class DataIterator, class KillIterator>
  inline
! #if POOMA_NONSTANDARD_ITERATOR
  typename std::iterator_traits<DataIterator>::distance_type
  #else
  typename std::iterator_traits<DataIterator>::difference_type
  #endif
  delete_shiftup(DataIterator data_begin, DataIterator data_end,
    KillIterator kill_begin, KillIterator kill_end,
! #if POOMA_NONSTANDARD_ITERATOR
    typename std::iterator_traits<DataIterator>::distance_type offset = 0)
  #else
    typename std::iterator_traits<DataIterator>::difference_type offset = 0)
--- 295,308 ----
  
  template <class DataIterator, class KillIterator>
  inline
! #ifdef POOMA_NONSTANDARD_ITERATOR
  typename std::iterator_traits<DataIterator>::distance_type
  #else
  typename std::iterator_traits<DataIterator>::difference_type
  #endif
  delete_shiftup(DataIterator data_begin, DataIterator data_end,
    KillIterator kill_begin, KillIterator kill_end,
! #ifdef POOMA_NONSTANDARD_ITERATOR
    typename std::iterator_traits<DataIterator>::distance_type offset = 0)
  #else
    typename std::iterator_traits<DataIterator>::difference_type offset = 0)
*************** delete_shiftup(DataIterator data_begin, 
*** 313,319 ****
    
    typedef std::iterator_traits<DataIterator>          DataTraits_t;
    typedef typename DataTraits_t::value_type           Value_t;
! #if POOMA_NONSTANDARD_ITERATOR
    typedef typename DataTraits_t::distance_type        Diff_t;
  #else
    typedef typename DataTraits_t::difference_type      Diff_t;
--- 313,319 ----
    
    typedef std::iterator_traits<DataIterator>          DataTraits_t;
    typedef typename DataTraits_t::value_type           Value_t;
! #ifdef POOMA_NONSTANDARD_ITERATOR
    typedef typename DataTraits_t::distance_type        Diff_t;
  #else
    typedef typename DataTraits_t::difference_type      Diff_t;


More information about the pooma-dev mailing list