Google-ProtocolBuffers-Dynamic

 view release on metacpan or  search on metacpan

xsp/mapper.xsp  view on Meta::CPAN

  INIT:
    gpd::MapperField *field = gpd::MapperField::find_extension(aTHX_ cv, extension);
  CODE:
    field->clear_field(self);

void
get_scalar(HV *self)
  INIT:
    dXSTARG;
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    PUSHs(field->get_scalar(self, TARG));

void
get_extension_scalar(HV *self, SV *extension)
  INIT:
    dXSTARG;
    gpd::MapperField *field = gpd::MapperField::find_scalar_extension(aTHX_ cv, extension);
  PPCODE:
    PUSHs(field->get_scalar(self, TARG));

void
set_scalar(HV *self, SV *value)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  CODE:
    field->set_scalar(self, value);

void

xsp/mapper.xsp  view on Meta::CPAN

  INIT:
    gpd::MapperField *field = gpd::MapperField::find_scalar_extension(aTHX_ cv, extension);
  CODE:
    field->set_scalar(self, value);

void
get_or_set_scalar(HV *self, SV *value = NULL)
  INIT:
    dXSTARG;
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    if (!value)
        PUSHs(field->get_scalar(self, TARG));
    else
        field->set_scalar(self, value);

void
get_or_set_extension_scalar(HV *self, SV *extension, SV *value = NULL)
  INIT:
    dXSTARG;
    gpd::MapperField *field = gpd::MapperField::find_scalar_extension(aTHX_ cv, extension);
  PPCODE:
    if (!value)
        PUSHs(field->get_scalar(self, TARG));
    else
        field->set_scalar(self, value);

void
get_list_item(HV *self, IV index)
  INIT:
    dXSTARG;
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    PUSHs(field->get_item(self, index, TARG));

void
get_extension_item(HV *self, SV *extension, IV index)
  INIT:
    dXSTARG;
    gpd::MapperField *field = gpd::MapperField::find_repeated_extension(aTHX_ cv, extension);
  PPCODE:
    PUSHs(field->get_item(self, index, TARG));

void
set_list_item(HV *self, IV index, SV *value)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  CODE:
    field->set_item(self, index, value);

void

xsp/mapper.xsp  view on Meta::CPAN

  INIT:
    gpd::MapperField *field = gpd::MapperField::find_repeated_extension(aTHX_ cv, extension);
  CODE:
    field->set_item(self, index, value);

void
get_or_set_list_item(HV *self, IV index, SV *value = NULL)
  INIT:
    dXSTARG;
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    if (!value)
        PUSHs(field->get_item(self, index, TARG));
    else
        field->set_item(self, index, value);

void
get_or_set_extension_item(HV *self, SV *extension, IV index, SV *value = NULL)
  INIT:
    dXSTARG;
    gpd::MapperField *field = gpd::MapperField::find_scalar_extension(aTHX_ cv, extension);
  PPCODE:
    if (!value)
        PUSHs(field->get_item(self, index, TARG));
    else
        field->set_item(self, index, value);

void
add_item(HV *self, SV *value)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  CODE:

xsp/mapper.xsp  view on Meta::CPAN

  INIT:
    gpd::MapperField *field = gpd::MapperField::find_repeated_extension(aTHX_ cv, extension);
  CODE:
    RETVAL = field->list_size(self);
  OUTPUT: RETVAL

void
get_list(HV *self)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    PUSHs(field->get_list(self));

void
get_extension_list(HV *self, SV *extension)
  INIT:
    gpd::MapperField *field = gpd::MapperField::find_repeated_extension(aTHX_ cv, extension);
  PPCODE:
    PUSHs(field->get_list(self));

void
set_list(HV *self, SV *ref)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  CODE:
    field->set_list(self, ref);

void
set_extension_list(HV *self, SV *extension, SV *ref)
  INIT:
    gpd::MapperField *field = gpd::MapperField::find_repeated_extension(aTHX_ cv, extension);
  CODE:
    field->set_list(self, ref);

void
get_or_set_list(HV *self, SV *ref = NULL)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    if (!ref)
        PUSHs(field->get_list(self));
    else
        field->set_list(self, ref);

void
get_or_set_extension_list(HV *self, SV *extension, SV *ref = NULL)
  INIT:
    gpd::MapperField *field = gpd::MapperField::find_scalar_extension(aTHX_ cv, extension);
  PPCODE:
    if (!ref)
        PUSHs(field->get_list(self));
    else
        field->set_list(self, ref);

void
get_map_item(HV *self, SV *key)
  INIT:
    dXSTARG;
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    PUSHs(field->get_item(self, key, TARG));

void
set_map_item(HV *self, SV *key, SV *value)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  CODE:
    field->set_item(self, key, value);

void
get_or_set_map_item(HV *self, SV *key, SV *value = NULL)
  INIT:
    dXSTARG;
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    if (!value)
        PUSHs(field->get_item(self, key, TARG));
    else
        field->set_item(self, key, value);

void
get_map(HV *self)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    PUSHs(field->get_map(self));

void
set_map(HV *self, SV *ref)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  CODE:
    field->set_map(self, ref);

void
get_or_set_map(HV *self, SV *ref = NULL)
  INIT:
    gpd::MapperField *field = (gpd::MapperField *) CvXSUBANY(cv).any_ptr;
  PPCODE:
    if (!ref)
        PUSHs(field->get_map(self));
    else
        field->set_map(self, ref);

BOOT:
    gpd::WarnContext::setup(aTHX);

    sv_setiv(get_sv("Google::ProtocolBuffers::Dynamic::Fieldtable::debug_decoder_transform", GV_ADDMULTI), PTR2IV(gpd::transform::fieldtable_debug_decoder_transform));
    sv_setiv(get_sv("Google::ProtocolBuffers::Dynamic::Fieldtable::profile_decoder_transform", GV_ADDMULTI), PTR2IV(gpd::transform::fieldtable_profile_decoder_transform));



( run in 0.906 second using v1.01-cache-2.11-cpan-5511b514fd6 )