Esempio n. 1
0
encoder operator<<(encoder e, const start& s) {
    switch (s.type) {
      case ARRAY: pn_data_put_array(e.pn_object(), s.is_described, pn_type_t(s.element)); break;
      case MAP: pn_data_put_map(e.pn_object()); break;
      case LIST: pn_data_put_list(e.pn_object()); break;
      case DESCRIBED: pn_data_put_described(e.pn_object()); break;
      default:
        throw conversion_error(MSG("" << s.type << " is not a container type"));
    }
    pn_data_enter(e.pn_object());
    return e;
}
Esempio n. 2
0
encoder& operator<<(encoder& e, const start& s) {
    switch (s.type) {
    case ARRAY:
        pn_data_put_array(pn_cast(&e), s.is_described, pn_type_t(s.element));
        break;
    case MAP:
        pn_data_put_map(pn_cast(&e));
        break;
    case LIST:
        pn_data_put_list(pn_cast(&e));
        break;
    case DESCRIBED:
        pn_data_put_described(pn_cast(&e));
        break;
    default:
        throw encode_error(MSG("" << s.type << " is not a container type"));
    }
    pn_data_enter(pn_cast(&e));
    return e;
}