Boost logo

Boost :

Subject: [boost] Intrusive list/ilist and rbtree marshalling support
From: Brian Wood (woodbrian77_at_[hidden])
Date: 2009-04-06 21:43:06


I'm happy to announce that version 1.8 of the C++ Middleware
Writer is available on line --
http://webEbenezer.net/cgi-bin/samb.cgi>.

This version adds support for the following:

* Exclusive marshalling support of boost::intrusive::list and
  boost::intrusive::rbtree. Neither Boost Intrusive nor Boost
  Serialization offer serialization support of the Intrusive
  containers. Rather than having two types called 'list,' we
  refer to boost::intrusive::list as an ilist. An example of this
  support is here --
  
http://webEbenezer.net/rbtree_marshalling.html>.

* Several new options on the user interface including:

+ An "Error Handling" option that indicates whether the code should
  be written using return codes or exceptions. The exception
  support is new in this release. This option affects the signatures
  of the generated marshalling functions.

+ A "Code Structure" option that indicates whether the code should
  be written in header-only format or separated interface and
  implementation files. The separated interface and implementation
  support is new in this release. This option also affects the
  signatures of the generated marshalling functions.

+ A choice between unsigned short or unsigned int as the type for
   constants written by the C++ Middleware Writer. Constants that
   identify messages and user defined types are written by the
   software. Previously the constants were always unsigned ints.

* A mechanism to turn off automatic code generation for a type.
  Adding a // comment within a class declaration with
  "hand_written_marshalling_code" in the text of the comment will
  disable default code generation for that type. For example,

class bag
{
  // hand_written_marshalling_code
  ...
};

As the comment indicates, you will provide the implementation
of the marshalling functions for this class. This option is
not available with /* */ comments.

Additionally, I would like to say that I find the Intrusive library to be
sound and am using it internally in the C++ Middleware Writer. Thanks to
the authors: Olaf Krzikalla and Ion Gaztañaga.

Brian Wood
Ebenezer Enterprises
www.webEbenezer.net <
http://www.webebenezer.net/>

"Then Samuel took a rock and set it up between Mizpah and Shen.
He named it Ebenezer [Rock of Help] and said, 'Until now the L-RD
has helped us.'"


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk