design_pattern_for_c  V 1.00
prototype_factory_method_t Struct Reference

PrototypeFactory methods interface definition, to set prototype_register. More...

#include <prototype.h>

Data Fields

void *(* clone )(void *base, size_t base_length)
 clone api of a base data, to do deep copy More...
 
void(* free )(void *cloned_data)
 free api of a clone data, to do deep copy More...
 
void(* free_base )(void *base_data)
 free api of a base data, please free deep data More...
 

Detailed Description

PrototypeFactory methods interface definition, to set prototype_register.

Definition at line 28 of file prototype.h.

Field Documentation

◆ clone

void*(* clone) (void *base, size_t base_length)

clone api of a base data, to do deep copy

Parameters
[in]basebase data pointer
[in]base_lengthbase data length
Returns
new cloned pointer
Note
default: memcopy, this is sharrow copy

Definition at line 36 of file prototype.h.

◆ free

void(* free) (void *cloned_data)

free api of a clone data, to do deep copy

Parameters
[in]cloned_datacloned data by using clone function pointer in this prototype_factory_method_t structure
[in]base_lengthbase data length
Returns
none
Note
default: free

Definition at line 44 of file prototype.h.

◆ free_base

void(* free_base) (void *base_data)

free api of a base data, please free deep data

Parameters
[in]base_database data registered by prototype_register
Returns
none
Note
default: free

Definition at line 51 of file prototype.h.


The documentation for this struct was generated from the following file: