void encode(const Variant::List& list, uint32_t len, qpid::framing::Buffer& buffer) { uint32_t s = buffer.getPosition(); buffer.putLong(len - 4);//exclusive of the size field itself buffer.putLong(list.size()); for (Variant::List::const_iterator i = list.begin(); i != list.end(); ++i) { encode(*i, buffer); } (void) s; assert(s + len == buffer.getPosition()); }