Re: Non copyable curves.

Posted by Simon Ibbotson - Straumur on
URL: http://quantlib.414.s1.nabble.com/Non-copyable-curves-tp12013p12016.html

This change has occurred on \trunk, the library still compiles and it doesn’t break any of the test-suite, so it meets all requirements that I would have for a multi-developer library.

If you need a frozen user interface – use a published release instead.

 

My concern is that – as someone trying to contribute to the library – a rather restrictive ban on copying curves has been introduced. Some of the code I’ve submitted (prior to this change) relies upon being able to copy curves. If I can’t resolve conflicts between changes made by another developer and my code (because I don’t know why this ban was introduced – the descriptive message was very brief) then I have to diverge from the QuantLib code base and it becomes very difficult for me to contribute any code…

 

Hope you understand my meaning.

 

If someone can let me know why this was introduced, I can resolve the conflicts I’ve observed – and contribute these resolutions + other code that I’m working on.

 

All the best,

 

Simon

 

 


From: op [mailto:[hidden email]]
Sent: 17 April 2008 17:59
To: Simon Ibbotson - Straumur
Cc: <[hidden email]>
Subject: Re: [Quantlib-dev] Non copyable curves.

 

whether copying is right or wrong, it seems to me that you can't just go in and implement that kind of breaking behavior. I find that quite shocking. 

 

aren't there any guidelines as to freeZing user interfaces once they are published - as one would expect of any reasonably designed multi-user software?

this messags was sent from a mobile device


On Apr 17, 2008, at 3:48 AM, "Simon Ibbotson" <[hidden email]> wrote:

Hi guys,

 

Why have all curves recently been derived from boost::noncopyable?

 

I’ve been copying yieldcurves (in external code) – and it has been working perfectly if you implement a copy constructor for the PiecewiseYieldcurve class that initializes the bootstrapper for the current curve (in the code I submitted – shown below). Surely this makes more sense than completely disabling copying?

 

 

 

//copy constructor

        PiecewiseYieldCurve(const this_curve& o)

            : base_curve(o), instruments_(o.instruments_), turnOfYearEffect_(o.turnOfYearEffect_),

            accuracy_(o.accuracy_), latestReference_(o.latestReference_), turnOfYear_(o.turnOfYear_),

            bootstrap_(o.bootstrap_) {

                setTurnOfYear();

                registerWith(turnOfYearEffect_);

                bootstrap_.setup(this);

        }

 

Simon Ibbotson

Quantitative Analytics

Capital Markets

Straumur

 

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev

 


Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev