⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fincdata.h

📁 FinC编译器源代码
💻 H
字号:
#ifndef _FinC_DATA_H_#define _FinC_DATA_H_#include <tiny/global.h>#include <tiny/string.h>#include <tiny/vector.h>#include <finc/fincconfig.h>#include <finc/finctype.h>#define FinC_DATA(obj) ((FinCData*) obj)struct _FinCData{    Object 		parent;			/* base class is Object */    FinCType* 	type;			/* type of data */    Vector* 	vector_child;	/* member of children */    FinCData* 	pointer;		/* pointer */        Bool 		ref;    int 		array_stand;	/* stand offset of current array */   	ADT			raw;			/* abstract data type */};FinCData* finc_data_new (FinCType* p_type, ADT p_ref);FinCData* finc_data_new_data ( FinCType* p_type, ADT p_ref );FinCData* finc_data_new_copy (FinCData* p_data);FinCData* finc_data_new_string (unsigned char* p_str);FinCData* finc_data_new_raw_string (unsigned char* p_str);void finc_data_destroy (Object* self);void finc_data_init_data (ADT self, ADT data);String* finc_data_get_string (FinCData* self);void finc_data_set_string (FinCData* self, String* p_value);void finc_data_assign (FinCData* self, FinCData* p_src);FinCData* finc_data_get_index (FinCData* self, int p_index);ADT finc_data_get_ptr (FinCData* self);void finc_data_set_pointer (FinCData* self, FinCData* p_raw);#define finc_data_get_pointer(data) addref(FinCData, (data)->pointer)#define finc_data_get_raw_data(data) data? ((ADT)(data)->raw) : NULL/*get a Struct's field, and the field offset is p_offset.*/FinCData* finc_data_get_field (FinCData* self, int p_index);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -