COMPS_Object header file.  
More...
Go to the source code of this 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_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 
 | 
|  | 
COMPS_Object header file. 
◆ COMPS_OBJECT_CREATE
      
        
          | #define COMPS_OBJECT_CREATE | ( |  | objtype, | 
        
          |  |  |  | args ) | 
      
 
Value:
COMPS_Object * comps_object_create(COMPS_ObjectInfo *obj_info, COMPS_Object **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 
- See also
- COMPS_Object_TAIL 
 
 
◆ COMPS_Object_HEAD
      
        
          | #define COMPS_Object_HEAD | 
      
 
Value:
Definition comps_obj.h:102
 ensure that COMPS_Object derivate has need struct members for properly behaviour 
 
 
◆ COMPS_Object_TAIL
      
        
          | #define COMPS_Object_TAIL | ( |  | obj | ) |  | 
      
 
Value:
insert "extern COMPS_ObjectInfo <obj>_ObjInfo" statement. Use this macro in combination with COMPS_OBJECT_CREATE 
- See also
- COMPS_OBJECT_CREATE 
 
 
◆ comps_num()
Directly construct COMPS_Num derivate from passed argument 
- Parameters
- 
  
  
 
 
◆ comps_object_cmp()
Compare two COMPS_Object derivates and return non-zero value if equals
- Warning
- Function doen't check equality of derivate types (COMPS_ObjectInfo)!!
- Parameters
- 
  
    | obj1 | first derivate |  | obj2 | second derivate |  
 
- Returns
- non-zero value if equals, zero otherwise 
 
 
◆ comps_object_copy()
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 
- Parameters
- 
  
    | comps_obj | derivate object want to be copied |  
 
- Returns
- new copy of derivate object 
- See also
- COMPS_ObjectInfo 
 
 
◆ comps_object_create()
Create COMPS_Object derivate and pass args arguments to its constructor 
- Parameters
- 
  
    | 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 |  
 
- Returns
- COMPS_Object derivate typecasted as general COMPS_Object 
 
 
◆ comps_object_destroy()
Destroy passed COMPS_Object derivate if its reference counter is zero if not, only decrement reference counter 
 
 
◆ comps_object_incref()
◆ comps_object_tostr()
Return string representation of COMPS_Object derivate
- Warning
- Returned string is new allocation which needs to be freed manualy
- Parameters
- 
  
  
- Returns
- new alllocation of string representation of concrete object 
 
 
◆ comps_str()
Directly construct COMPS_Str derivate from passed argument
passed argument is copied as new allocation 
- Parameters
- 
  
    | s | string value of derivate |  
 
 
 
◆ comps_str_fnmatch()
      
        
          | signed char comps_str_fnmatch | ( | COMPS_Str * | str, | 
        
          |  |  | char * | pattern, | 
        
          |  |  | int | flags ) | 
      
 
Return non-zero if str match the pattern by fnmatch
- Parameters
- 
  
    | str | source string. COMPS_Str object |  | pattern | match pattern |  
 
 
 
◆ comps_str_fnmatch_o()
Return non-zero if str match the pattern by fnmatch
- Parameters
- 
  
  
 
 
◆ comps_str_set()
      
        
          | void comps_str_set | ( | COMPS_Str * | str, | 
        
          |  |  | char * | s ) | 
      
 
Set memory copy of passed argument as COMPS_Str value
- Parameters
- 
  
  
 
 
◆ comps_str_x()
Directly construct COMPS_Str derivate from passed argument
- Warning
- passed argument is not copied. COMPS_Str derivate use same memory place as s argument and during destruction of derivate this memory place is freed 
- Parameters
- 
  
    | s | string value of derivate |