38#ifndef __YTLIB_OBJECT_H
39#define __YTLIB_OBJECT_H
43typedef struct ytObject_t {
50void ytObject_deletev(
void *
this);
54int ytObject_sprint(
const ytObject *
this,
char * buff,
size_t size);
58void ytObject_dump(
const ytObject *
this, FILE * fp);
64void ytObject_MPI_Bcast(
ytObject ** pObject,
int root, MPI_Comm comm);
void ytObject_delete(ytObject *this)
Deletes the ytObject instance.
Definition: ytObject.c:63
ytObject * ytObject_parse(ytType type, const char *str)
Parses the string expression of the value as the given type.
Definition: ytObject.c:118
ytType ytObject_type(const ytObject *this)
Returns the type of this ytObject instance.
Definition: ytObject.c:86
size_t ytObject_size(const ytObject *this)
Returns the memory size required for making a deep copy of the object.
Definition: ytObject.c:207
ytObject * ytObject_clone(const ytObject *this)
Returns the copy of the given ytObject.
Definition: ytObject.c:96
ytObject * ytObject_new(ytType type)
Generates a default instance of the given type.
Definition: ytObject.c:51
ytByte * ytObject_serialize(const ytObject *this, ytByte **pptr)
Serializes the object in the memory.
Definition: ytObject.c:231
ytObject * ytObject_deserialize(ytByte **const pptr)
De-serializes the object serialized in the memory.
Definition: ytObject.c:257
void ytObject_printBuff(const ytObject *this, char **buff, size_t *size)
Prints the contents of the object in the specified buffer.
Definition: ytObject.c:169
void ytObject_print(const ytObject *this, FILE *fp)
Prints the string expression of the value.
Definition: ytObject.c:131
ytType
Types supported by ytLib.
Definition: ytType.h:41