Happy New Year!
Finalize 1.8.2 release. Oh, and Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year! Update copyright statements.
Use C++11 'auto' and range-based for loops where possible.
Happy New Year!
Merge some cosmetic patches. This is a collection of some minor optimizations and indentation fixes.
Improve method of setting status_flags::dynallocated. There seems to be no way to obsolete the need to mark an object derived from basic and handled by ex as being 'on the heap', at least none that doesn't have significant performance impact. Having said that, this patch aims at making this process simpler and more intuitive. Where, before, one would return from a function returning an ex with return (new mul(a, b))->setflag(status_flags::dynallocated); this patch lets us return with return dynallocate<mul>(a, b); which should be much clearer. In any case, it involves less typing. The two points where the status_flags::dynallocated are set are now * the dynallocate<B>(args...) template function and * the virtual duplicate() member functions. This patch rolls out the new functionality throughout the library.
Remove 'discardable' option from ctors of container and derived classes. The whole idea of this was to allow the ctor to pilfer the data from the constructed-from object, which is precisely the move semantics which C++11 supports with rvalue references.
Use C++11 range-based foor loops and auto, where possible.
Remove dependence on depreacted std::auto_ptr<T>. Most of the auto_ptr were introduced to avoid copying. C++11 supports move semantics for this. Some other can be replaced by std::unique_ptr<T>.
Fix some apparent typos and misindentations.
Happy new year!
Update copyright statements.
Extend copyright to 2011.
Update copyright notice.
Prettified source code. - Added copyright and GPL licencing to new files. - Increased year to 2009. - Changed guarding macros in header to uniform pattern without leading or trailing __ (double underscores). - Put includes of system wide header consistently below own includes (help a tiny bit to clarify dependencies).