RFA: Permit NoGeometry Fields to Instantiate
Jeffrey Oldham
oldham at codesourcery.com
Mon May 14 19:42:49 UTC 2001
OK to commit?
These changes with my two previous proposed patches permit compiling
this program:
#include "Pooma/NewFields.h"
#define T1 NoGeometry<(int)3>
#define T2 int
#define T3 CompressibleBrick
#define T4 Interval<(int)3>
template class Field<T1,T2,T3>;
template class View1<Field<T1,T2,T3>,T4>;
This program adds the "class Field" line to what Dave Nystrom
originally requested. This reflects circular references in the
definition of View1.
Please carefully check the patch to see if its semantics match those
you believe they should.
2001-05-14 Jeffrey D. Oldham <oldham at codesourcery.com>
* NewField/FieldEngine/FieldEngine.NoGeometry.h
(FieldEngine<NoGeometry<Dim>, T, EngineTag>): Add a default
constructor.
(FieldEngine<NoGeometry<Dim>, T, EngineTag>)::physicalDomain): New
function.
(FieldEngine<NoGeometry<Dim>, T, EngineTag>)::totalDomain):
Likewise.
Tested on sequential Linux gcc 3.0 by compiling Pooma library
Approved by ???you???
Thanks,
Jeffrey D. Oldham
oldham at codesourcery.com
-------------- next part --------------
Index: NewField/FieldEngine/FieldEngine.NoGeometry.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/NewField/FieldEngine/FieldEngine.NoGeometry.h,v
retrieving revision 1.4
diff -c -p -r1.4 FieldEngine.NoGeometry.h
*** NewField/FieldEngine/FieldEngine.NoGeometry.h 2001/04/10 23:13:25 1.4
--- NewField/FieldEngine/FieldEngine.NoGeometry.h 2001/05/14 19:23:56
*************** public:
*** 129,134 ****
--- 129,141 ----
// There is no sub-field constructor because this field-engine can't have
// subfields.
+ // Default constructor.
+ FieldEngine()
+ : engine_m(Pooma::NoInit()),
+ guards_m(0),
+ updaters_m()
+ { }
+
// Copy constructor.
FieldEngine(const This_t &model)
*************** public:
*** 274,280 ****
return engine_m.domain();
}
!
//---------------------------------------------------------------------------
// Make a distinct copy of this fieldEngineBase.
--- 281,299 ----
return engine_m.domain();
}
! Domain_t physicalDomain(int iSubField) const
! {
! // This field engine cannot have subfields.
! return physicalDomain();
! }
!
! Domain_t totalDomain(int iSubField) const
! {
! // This field engine cannot have subfields.
! return engine_m.domain();
! }
!
!
//---------------------------------------------------------------------------
// Make a distinct copy of this fieldEngineBase.
More information about the pooma-dev
mailing list