Hi, This is just to propagate the announcement that the next version of the C++ language standard, C++0x, has now been ratified.
Links: General announcements: http://herbsutter.wordpress.com/2008/10/28/september-2008-iso-c-standards-meeting-the-draft-has-landed-and-a-new-convener/ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2784.html The working draft itself: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2798.pdf GNU C++0x status here: http://gcc.gnu.org/projects/cxx0x.html The Wikipedia article is a useful summary which fluctuates: http://en.wikipedia.org/wiki/C%2B%2B0x What this means for XORP: There are a number of places in the XORP code base which could benefit from using some of the idioms introduced within the new C++0x specification. Some of these are derived from the Boost++ project. * std::shared_ptr is a possible fit for the OLSR and OSPF message handling code. Note that it's really easy to introduce memory leaks using ref_ptr; every time one is passed to a new scope, the refcount is bumped, even if it's "Just passing through". Boost++'s weak_ptr exists to allow refcounted pointers to be passed between subsystems WITHOUT losing their refcounted nature, and WITHOUT bumping the refcount until the ref is actually ACQUIRED. * Concept checks are being formalized as part of the language, these are very useful for metaprogramming, i.e. building your own extensions to the STL containers. * Variadic macros are now part of the standard. XORP uses these in a number of places. Microsoft's native toolchains for example, did not support them until Visual Studio 2005 was released, and even then as a non-standard extension to the C99 preprocessor. * Tuple is syntactic sugar, but welcome nonetheless, we use struct types in a number of places and tuples would no doubt make things more readable. thanks BMS _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
