Ebenezer Enterprises

We host a code generator called the the C++ Middleware Writer (CMW). The CMW writes portable binary serialization code.

Using the C++ Middleware Writer
Comparing the serialization library in Boost to our approach
Send Sample   Receive Sample
Rbtree Sample

Supported Types and Platforms
Provide Feedback
Company Overview/Want help with your project?

Recent Developments

August, 2014

Version 1.13 of the CMW is on line. This version takes advantage of move semantics. Here's an example of some generated code:

template <class R>
void Give (::cmw::ReceiveBuffer<R>& buf
       ,std::vector<std::deque<std::string> >& az1){
  int32_t count[2];
  count[0]=buf.template Give<uint32_t>();
    std::deque<std::string> rep2;
    count[1]=buf.template Give<uint32_t>();
December, 2013

Version 1.12 of the CMW released.

April, 2012

Version 1.11 of the CMW released.

November, 2010

Version 1.10 of the CMW released.

July, 2009

Exclusive support for boost::intrusive::list and boost::intrusive::rbtree is available. No other serialization library offers support for these containers.

March, 2008

Support for "unordered" containers is available. This includes unordered_set, unordered_multiset, unordered_map and unordered_multimap.

Support for the Boost Range library's sub_range<> is available. Support for this type is unusual in that it is possible to marshal data based on a sub_range but not receive data into one. All messages that use sub_range need to use the @out option; not doing so will cause the code generation to fail.