November 28th, 2011, 8:06 pm
QuoteOriginally posted by: rmaxI have seen various elements of code being posted to the forum which is good. Are we in a position to formulate the first kernel and begin to look at how it interacts?The CGM and Cholesky subroutines based on uBLAS are ready for testing and feedback (Numerical Algebra Foundation Library).As is the Propagator pattern based in std::function and boost::signals which should replace GOF Observer. Code already posted. This could be in Architecture.Working on FDM docs.Here are the claims and feedback welcome* Features of this solution vs GOF Observer1. Non-intrusive and no inheritance needed2. Observers implement a signature, not rigid Update()3. No virtual functions4. Observers can be 'any' function (global, member, lambda, function object); it is possible to reuse existing GOF Observer code by boost::bind5. Objects be both observables and observers(this is thus the Propagator pattern)6. No multiple inheritance needed7. Use of "template template parameter" mechanism to use a different container from list<T>8. Return type is generic and not just void (but we might need 2 versions..)9. Arbitary data types supported (e.g. matrices, algorithmsa, other embedded patterns)10. Other signatures possible (generic)11. Dynamic registration/unregistration of observers12. Boost libraries and C++ 1113. Loose coupling between components; configuable; add and delete observers at run-time.*/
Last edited by
Cuchulainn on November 27th, 2011, 11:00 pm, edited 1 time in total.