SPRAAK
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Structures | Namespaces | Macros | Typedefs | Functions | Variables
datatype.c File Reference

Basic types. More...

Data Structures

struct  SprDTCvtAux
 
struct  SprDTCvtAuxSrm
 
class  SprDT
 
class  SprDT_ET
 A base type. More...
 
class  SprDT_EnumT
 

Namespaces

 xref_spr_dt_examples
 Working with SprDT data types, some examples
 

Macros

#define spr_dt_f64
 
#define spr_dt_f32
 
#define spr_dt_i64
 
#define spr_dt_u64
 
#define spr_dt_i32
 
#define spr_dt_u32
 
#define spr_dt_i16
 
#define spr_dt_u16
 
#define spr_dt_i8
 
#define spr_dt_u8
 
#define spr_dt_char
 
#define spr_dt_alaw
 
#define spr_dt_ulaw
 
#define spr_dt_dynstr
 
#define spr_dt_int
 
#define spr_dt_uint
 
#define spr_dt_long
 
#define spr_dt_ulong
 
#define spr_dt_ssize
 
#define spr_dt_size
 
#define spr_dt_ptr
 
#define SPR_DT_ENUM_INITIALIZER(name, str_tbl)
 
#define spr_dt_bool
 
#define spr_dt_true
 
#define spr_dt_false
 
#define spr_dt_string
 

Typedefs

typedef int(* SprDT_read1 )(const SprDT *restrict dt, SprStream *restrict fd, void *restrict dst)
 
typedef int(* SprDT_write1 )(const SprDT *restrict dt, SprStream *restrict fd, const void *restrict src)
 
typedef char *(* SprDT_str_cvt )(const SprDT *restrict dt, void *restrict dst, const char *restrict str)
 
typedef void(* SprDT_free )(const SprDT *restrict dt, void *restrict ptr)
 
typedef void *(* SprDT_cpy )(const SprDT *restrict dt, void *restrict dst, const void *restrict src)
 
typedef SprDynStr(* SprDT_str )(const SprDT *restrict dt, const void *restrict src)
 
typedef ssize_t(* SprDT_print )(const SprDT *restrict dt, SprStream *restrict fd, const void *restrict src)
 
typedef SprDTCvtAux *(* _FuncPtr1_DATATYPE_ )(struct SprDTCvtAuxSrm *aux_data, const SprDT *dt_dst, const SprDT *dt_src)
 
typedef void *(* SprDTCvt1Func )(void *restrict dst, const void *restrict src, const SprDTCvtAux *restrict aux)
 
typedef void *(* SprDTCvtNFunc )(void *restrict dst, const void *restrict src, size_t Nel, const SprDTCvtAux *restrict aux)
 
typedef void *(* SprDTCvtNsiFunc )(void *restrict dst, const void *restrict src, size_t Nel, size_t offs_src_next, const SprDTCvtAux *restrict aux)
 
typedef void *(* SprDTCvtNdiFunc )(void *restrict dst, const void *restrict src, size_t Nel, size_t offs_dst_next, const SprDTCvtAux *restrict aux)
 
typedef void *(* SprDTCvtNsdiFunc )(void *restrict dst, const void *restrict src, size_t Nel, size_t offs_src_next, size_t offs_dst_next, const SprDTCvtAux *restrict aux)
 
typedef int(* SprDTRead1Func )(const SprDT *dt, SprStream *restrict fd, void *restrict dst)
 
typedef ssize_t(* SprDTReadNFunc )(const SprDT *dt, SprStream *restrict fd, void *restrict dst, size_t Nel)
 
typedef ssize_t(* SprDTReadNiFunc )(const SprDT *dt, SprStream *restrict fd, void *restrict dst, size_t Nel, size_t offs_next)
 
typedef int(* SprDTWrite1Func )(const SprDT *dt, SprStream *restrict fd, const void *restrict src)
 
typedef int(* SprDTWriteNFunc )(const SprDT *dt, SprStream *restrict fd, const void *restrict src, size_t Nel)
 
typedef int(* SprDTWriteNiFunc )(const SprDT *dt, SprStream *restrict fd, const void *restrict src, size_t Nel, size_t offs_next)
 
typedef ssize_t(* SprDTSkipNFunc )(const SprDT *dt, SprStream *restrict fd, size_t Nel)
 

Functions

double spr_strtod (const char *str, const char *str_end, char **eptr)
 
char * spr_dt_qstr_cvt_insitu (char *restrict str)
 
char * spr_dt_qstr_skip (const char *str)
 
char * spr_f64_to_str (char buf[32], double x)
 
char * spr_f32_to_str (char buf[16], float x)
 
void spr_dt_free (const SprDT *restrict dt, void *restrict ptr)
 
void spr_dt_alloc_free (const SprDT *restrict dt, void *restrict ptr)
 Free for simple allocated objects. More...
 
int spr_dt_alaw2short (int aval)
 
int spr_dt_short2alaw (int sval)
 
int spr_dt_ulaw2short (int uval)
 
int spr_dt_short2ulaw (int sval)
 
int32_t spr_atoi32 (const char *str, int *err)
 
uint32_t spr_atou32 (const char *str, int *err)
 
int64_t spr_atoi64 (const char *str, int *err)
 
uint64_t spr_atou64 (const char *str, int *err)
 
float spr_atof32 (const char *str, int *err)
 
double spr_atof64 (const char *str, int *err)
 
ssize_t spr_dt_print_vec (SprStream *fd, const SprDT *dt, const void *vec, int vlen, const char *info)
 
int spr_dt_str2vec (const char *str, const SprDT *dt, void *restrict vec, int N)
 
int spr_dt_str2vec_dyn (const char *str, const SprDT *dt, void **dst)
 
SprDynStr spr_dt_vec2str (SprDynStr dst, const SprDT *dt, const void *vec, int N)
 

Variables

SprDT spr_dt_dt [1]
 
SprDT spr_dt_custom [1]
 

Detailed Description

Basic types.

This module defines the basic and aggregate types used in SPRAAK as well as routines to handle (read, write, convert, describe, ...) data of these types.