cis_config
AsciiTableSerialize.h
1 #include <../tools.h>
2 #include <SerializeBase.h>
3 #include <../dataio/AsciiTable.h>
4 
5 #ifndef CISASCIITABLESERIALIZE_H_
6 #define CISASCIITABLESERIALIZE_H_
7 
8 
19 static inline
20 int serialize_ascii_table(const seri_t s, char *buf, const size_t buf_siz,
21  int *args_used, va_list ap) {
22  asciiTable_t *table = (asciiTable_t*)s.info;
23  args_used[0] = table->ncols;
24  int ret = at_vrow_to_bytes(*table, buf, buf_siz, ap);
25  return ret;
26 };
27 
36 static inline
37 int deserialize_ascii_table(const seri_t s, const char *buf, const size_t buf_siz,
38  va_list ap) {
39  // Prevent C4100 warning on windows by referencing param
40 #ifdef _WIN32
41  buf_siz;
42 #endif
43  asciiTable_t *table = (asciiTable_t*)s.info;
44  int ret = at_vbytes_to_row(*table, buf, ap);
45  return ret;
46 };
47 
60 static inline
61 int serialize_ascii_table_array(const seri_t s, char *buf, const size_t buf_siz,
62  int *args_used, va_list ap) {
63  asciiTable_t *table = (asciiTable_t*)s.info;
64  args_used[0] = table->ncols + 1;
65  int ret = at_varray_to_bytes(*table, buf, buf_siz, ap);
66  return ret;
67 };
68 
78 static inline
79 int deserialize_ascii_table_array(const seri_t s, const char *buf,
80  const size_t buf_siz, va_list ap) {
81  asciiTable_t *table = (asciiTable_t*)s.info;
82  int ret = at_vbytes_to_array(*table, buf, buf_siz, ap);
83  return ret;
84 };
85 
86 
87 #endif /*CISASCIITABLESERIALIZE_H_*/
Serializer structure.
Definition: SerializeBase.h:15
int ncols
Number of columns in the table.
Definition: AsciiTable.h:80
Structure containing information about an ASCII table.
Definition: AsciiTable.h:76