|
libcomps ..
|
COMPS_Object header file. More...
#include "comps_mm.h"Go to the source code of this file.
Data Structures | |
| struct | COMPS_ObjectInfo |
| struct | COMPS_Object |
| struct | COMPS_Num |
| struct | COMPS_Str |
Macros | |
| #define | COMPS_OBJECT_CREATE(objtype, args) |
| macro for create object by choosen type without explicit needs of typecast. Macro returns concrete type of object not COMPS_Object type. If you want use this macro, you have to declare COMPS_ObjectInfo object exactly as <YourObject>_ObjInfo | |
| #define | COMPS_OBJECT_CMP(obj1, obj2) |
| macro for compare two COMPS_Object derivates without typecasting to COMPS_Object pointer | |
| #define | COMPS_OBJECT_DESTROY(obj1) |
| macro for call comps_object_destroy without typecasting to COMPS_Object pointer | |
| #define | COMPS_OBJECT_COPY(obj) |
| macro for call comps_object_copy without typecasting to COMPS_Object pointer | |
| #define | COMPS_Object_HEAD |
| #define | COMPS_Object_TAIL(obj) |
| insert "extern COMPS_ObjectInfo <obj>_ObjInfo" statement. Use this macro in combination with COMPS_OBJECT_CREATE | |
Functions | |
| COMPS_Object * | comps_object_create (COMPS_ObjectInfo *obj_info, COMPS_Object **args) |
| void | comps_object_destroy (COMPS_Object *comps_obj) |
| COMPS_Object * | comps_object_copy (COMPS_Object *comps_obj) |
| signed char | comps_object_cmp (COMPS_Object *obj1, COMPS_Object *obj2) |
| char * | comps_object_tostr (COMPS_Object *obj1) |
| COMPS_Object * | comps_object_incref (COMPS_Object *obj) |
| COMPS_Num * | comps_num (int n) |
| COMPS_Str * | comps_str (const char *s) |
| COMPS_Str * | comps_str_x (char *s) |
| void | comps_str_set (COMPS_Str *str, char *s) |
| signed char | comps_str_fnmatch (COMPS_Str *str, char *pattern, int flags) |
| signed char | comps_str_fnmatch_o (COMPS_Str *str, COMPS_Str *pattern, int flags) |
COMPS_Object header file.
| #define COMPS_OBJECT_CREATE | ( | objtype, | |
| args ) |
macro for create object by choosen type without explicit needs of typecast. Macro returns concrete type of object not COMPS_Object type. If you want use this macro, you have to declare COMPS_ObjectInfo object exactly as <YourObject>_ObjInfo
| #define COMPS_Object_HEAD |
ensure that COMPS_Object derivate has need struct members for properly behaviour
| #define COMPS_Object_TAIL | ( | obj | ) |
insert "extern COMPS_ObjectInfo <obj>_ObjInfo" statement. Use this macro in combination with COMPS_OBJECT_CREATE
| COMPS_Num * comps_num | ( | int | n | ) |
| signed char comps_object_cmp | ( | COMPS_Object * | obj1, |
| COMPS_Object * | obj2 ) |
Compare two COMPS_Object derivates and return non-zero value if equals
| obj1 | first derivate |
| obj2 | second derivate |
| COMPS_Object * comps_object_copy | ( | COMPS_Object * | comps_obj | ) |
Return whole new copy of COMPS_Object derivate.
Function create new allocation of derivate and call obj_copy callback with old instance and new instance of derivate. Copying inner structure members are in programmers care
| comps_obj | derivate object want to be copied |
| COMPS_Object * comps_object_create | ( | COMPS_ObjectInfo * | obj_info, |
| COMPS_Object ** | args ) |
Create COMPS_Object derivate and pass args arguments to its constructor
| obj_info | pointer to COMPS_ObjectInfo structure |
| args | array of arguments passed to derivate constructor. Array doesn't have to end with NULL sentinel. Processing args attribute passed to contructor is completely in programmer's care |
| void comps_object_destroy | ( | COMPS_Object * | comps_obj | ) |
Destroy passed COMPS_Object derivate if its reference counter is zero if not, only decrement reference counter
| COMPS_Object * comps_object_incref | ( | COMPS_Object * | obj | ) |
Increment COMPS_Object derivate reference counter
| char * comps_object_tostr | ( | COMPS_Object * | obj1 | ) |
Return string representation of COMPS_Object derivate
| obj1 | COMPS_Object derivate |
| COMPS_Str * comps_str | ( | const char * | s | ) |
Directly construct COMPS_Str derivate from passed argument
passed argument is copied as new allocation
| s | string value of derivate |
| signed char comps_str_fnmatch | ( | COMPS_Str * | str, |
| char * | pattern, | ||
| int | flags ) |
Return non-zero if str match the pattern by fnmatch
| str | source string. COMPS_Str object |
| pattern | match pattern |
| void comps_str_set | ( | COMPS_Str * | str, |
| char * | s ) |