Reduct  v4.0.5-1-g4851deb
A functional and immutable language.
Loading...
Searching...
No Matches
schema.h File Reference

Schema transformation. More...

#include <reduct/defs.h>
#include <reduct/sync.h>
#include <stdbool.h>
Include dependency graph for schema.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  reduct_schema_t
 Schema field structure. More...
 
struct  reduct_schema_internal_t
 Internal schema structure. More...
 
struct  reduct_schema_global_t
 Global schema-related state structure. More...
 

Macros

#define REDUCT_SCHEMA_INDEX_NONE   ((reduct_schema_index_t) - 1)
 Invalid schema index.
 
#define REDUCT_SCHEMA_FIELD(_key, _struct, _member, _type)
 Helper macro to define a schema field.
 
#define REDUCT_SCHEMA_FIELD_ARRAY(_key, _struct, _member, _subtype)
 Helper macro to define an array schema field.
 

Typedefs

typedef uint32_t reduct_schema_id_t
 Schema ID type.
 
typedef uint32_t reduct_schema_index_t
 Schema index type.
 

Enumerations

enum  reduct_schema_type_t {
  REDUCT_SCHEMA_TYPE_UINT , REDUCT_SCHEMA_TYPE_INT , REDUCT_SCHEMA_TYPE_FLOAT , REDUCT_SCHEMA_TYPE_BOOL ,
  REDUCT_SCHEMA_TYPE_STRING , REDUCT_SCHEMA_TYPE_HANDLE , REDUCT_SCHEMA_TYPE_ARRAY
}
 Schema type flags. More...
 

Functions

REDUCT_API void reduct_schema_global_init (reduct_schema_global_t *global)
 Initialize a global schema state.
 
REDUCT_API void reduct_schema_global_deinit (reduct_schema_global_t *global)
 Deinitialize a global schema state.
 
REDUCT_API reduct_schema_id_t reduct_schema_new (struct reduct *reduct, size_t count,...)
 Create a new schema.
 
REDUCT_API reduct_schema_id_t reduct_schema_new_fields (struct reduct *reduct, size_t count, const reduct_schema_t *fields)
 Create a new schema from an array of fields.
 
REDUCT_API void reduct_schema_apply (struct reduct *reduct, reduct_schema_id_t id, reduct_handle_t listH, void *out)
 Apply a schema to an association list and populate a C structure.
 
REDUCT_API size_t reduct_schema_get_count (struct reduct *reduct, reduct_schema_id_t id)
 Get the number of fields in a schema.
 
REDUCT_API reduct_handle_t reduct_schema_serialize (struct reduct *reduct, reduct_schema_id_t id, const void *in)
 Transform a C structure into an association list using a schema.
 

Detailed Description

Schema transformation.

Definition in file schema.h.