encoder operator<<(encoder e, const value& v) { data edata = e.data(); if (edata == v.data_) throw conversion_error("cannot insert into self"); data vdata = v.decode().data(); check(edata.append(vdata), e.pn_object()); return e; }