static void init(grib_accessor* a,const long l, grib_arguments* c)
{
  grib_accessor_octect_number* self = (grib_accessor_octect_number*)a;
  int n = 0;

  self->left    = grib_arguments_get_name(a->parent->h,c,n++);
  self->right   = grib_arguments_get_long(a->parent->h,c,n++);

  a->length=0;
}
static void init(grib_accessor* a,const long l, grib_arguments* c)
{
  grib_accessor_latitudes* self = (grib_accessor_latitudes*)a;
  int n = 0;

  self->values = grib_arguments_get_name(a->parent->h,c,n++);
  self->distinct = grib_arguments_get_long(a->parent->h,c,n++);
  self->save=0;

  a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY;

}
static void init(grib_accessor* a, const long len, grib_arguments* params)
{
    int n=0;
    grib_accessor_dictionary* self  = (grib_accessor_dictionary*)a;

    self->dictionary = grib_arguments_get_string(grib_handle_of_accessor(a),params,n++);
    self->key = grib_arguments_get_name(grib_handle_of_accessor(a),params,n++);
    self->column = grib_arguments_get_long(grib_handle_of_accessor(a),params,n++);
    self->masterDir = grib_arguments_get_name(grib_handle_of_accessor(a),params,n++);
    self->localDir = grib_arguments_get_name(grib_handle_of_accessor(a),params,n++);

    a->length = 0;
    a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY;

}
static void init(grib_accessor* a,const long l, grib_arguments* c)
{
    grib_accessor_latlon_increment* self = (grib_accessor_latlon_increment*)a;
    int n = 0;

    self->directionIncrementGiven = grib_arguments_get_name(a->parent->h,c,n++);
    self->directionIncrement    = grib_arguments_get_name(a->parent->h,c,n++);
    self->scansPositively    = grib_arguments_get_name(a->parent->h,c,n++);
    self->first = grib_arguments_get_name(a->parent->h,c,n++);
    self->last    = grib_arguments_get_name(a->parent->h,c,n++);
    self->numberOfPoints    = grib_arguments_get_name(a->parent->h,c,n++);
    self->angleMultiplier    = grib_arguments_get_name(a->parent->h,c,n++);
    self->angleDivisor   = grib_arguments_get_name(a->parent->h,c,n++);
    self->isLongitude=grib_arguments_get_long(a->parent->h, c,n++);
}
static void init(grib_accessor* a,const long l, grib_arguments* c)
{
    grib_accessor_g2_mars_labeling* self = (grib_accessor_g2_mars_labeling*)a;
    int n = 0;

    self->index = grib_arguments_get_long(a->parent->h,c,n++);
    self->the_class = grib_arguments_get_name(a->parent->h,c,n++);
    self->type = grib_arguments_get_name(a->parent->h,c,n++);
    self->stream = grib_arguments_get_name(a->parent->h,c,n++);
    self->expver = grib_arguments_get_name(a->parent->h,c,n++);
    self->typeOfProcessedData = grib_arguments_get_name(a->parent->h,c,n++);
    self->productDefinitionTemplateNumber = grib_arguments_get_name(a->parent->h,c,n++);
    self->stepType = grib_arguments_get_name(a->parent->h,c,n++);
    self->derivedForecast = grib_arguments_get_name(a->parent->h,c,n++);
    self->typeOfGeneratingProcess = grib_arguments_get_name(a->parent->h,c,n++);
}
static void init(grib_accessor* a,const long l, grib_arguments* c)
{
  grib_accessor_long_vector* self = (grib_accessor_long_vector*)a;
  grib_accessor* va=NULL;
  grib_accessor_abstract_long_vector* v =NULL;
  int n = 0;

  self->vector = grib_arguments_get_name(a->parent->h,c,n++);

  va=(grib_accessor*)grib_find_accessor(a->parent->h,self->vector);
  v=(grib_accessor_abstract_long_vector*)va;

  self->index = grib_arguments_get_long(a->parent->h,c,n++);

  /* check self->index on init and never change it */
  Assert(self->index < v->number_of_elements && self->index>=0);

  a->length=0;
}