Sha256: 6568793852735a57c541f95037d7bf31fed5d534fbe0aa9a5665117dd50547a3
Contents?: true
Size: 1.54 KB
Versions: 5
Compression:
Stored size: 1.54 KB
Contents
// Copyright (c) 2022, Peter Ohler, All rights reserved. #include <ruby.h> #include <stdbool.h> #include <stdint.h> struct _cache; struct _ojParser; // Used to mark the start of each Hash, Array, or Object. The members point at // positions of the start in the value stack and if not an Array into the key // stack. typedef struct _col { long vi; // value stack index long ki; // key stack index if an hash else -1 for an array } * Col; typedef union _key { struct { int16_t len; char buf[30]; }; struct { int16_t xlen; // should be the same as len char * key; }; } * Key; #define MISS_AUTO 'A' #define MISS_RAISE 'R' #define MISS_IGNORE 'I' typedef struct _usual { VALUE *vhead; VALUE *vtail; VALUE *vend; Col chead; Col ctail; Col cend; Key khead; Key ktail; Key kend; VALUE (*get_key)(ojParser p, Key kp); struct _cache *key_cache; // same as str_cache or sym_cache struct _cache *str_cache; struct _cache *sym_cache; struct _cache *class_cache; struct _cache *attr_cache; VALUE array_class; VALUE hash_class; char * create_id; uint8_t create_id_len; uint8_t cache_str; uint8_t cache_xrate; uint8_t miss_class; bool cache_keys; bool ignore_json_create; } * Usual; // Initialize the parser with the usual delegate. If the usual delegate is // wrapped then this function is called first and then the parser functions // can be replaced. extern void oj_init_usual(struct _ojParser *p, Usual d);
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
oj-3.14.2 | ext/oj/usual.h |
oj-3.14.1 | ext/oj/usual.h |
oj-3.14.0 | ext/oj/usual.h |
oj-3.13.23 | ext/oj/usual.h |
oj-3.13.22 | ext/oj/usual.h |