Roy,

Long ago we (the MOOSE project) extended libMesh's Parameters class to make it 
easier for end users to interact with our Parser and to use Parameters objects 
with a richer interface for user documentation.  We added a bunch of additional 
data structures to manage the state of a parameters object and and to track 
additional attributes.  Our extended Parameters object has functions like 
"isValid", "wasSeenInInput", "getDocString", "isRequired", etc.  It appears 
however that this is another one of those libMesh classes that was not 
originally intended to be inherited from.  The data members inside it are 
private, not protected and there are no virtual function calls.  I've 
implemented a number of things to get around that so as to leave the libMesh 
class untouched but we are reaching the point where we might need to open up 
the base class a bit more to keep the state of our object sane at all times.

Any thoughts on this?  For now I could get away with just making the data 
members protected but in the long run we could avoid more user problems by 
making some of the functions virtual.  Do you think libMesh would have any use 
for some of the functions we have implemented in our version of the class?  I 
haven't seen any changes in there for the past few years so maybe not.

Cody
------------------------------------------------------------------------------
Cloud Services Checklist: Pricing and Packaging Optimization
This white paper is intended to serve as a reference, checklist and point of 
discussion for anyone considering optimizing the pricing and packaging model 
of a cloud services business. Read Now!
http://www.accelacomm.com/jaw/sfnl/114/51491232/
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to