## Memory managment Memory managment — hooks for defining your own memory managment functions |

## Synopsis

    void*               (*IptcMemAllocFunc)                 (IptcLong );
    void*               (*IptcMemReallocFunc)               (void *,
                                                             IptcLong );
    void                (*IptcMemFreeFunc)                  (void *);
                        IptcMem;
    IptcMem*            iptc_mem_new                        (IptcMemAllocFunc ,
                                                             IptcMemReallocFunc ,
                                                             IptcMemFreeFunc );
    void                iptc_mem_ref                        (IptcMem *);
    void                iptc_mem_unref                      (IptcMem *);
    void*               iptc_mem_alloc                      (IptcMem *,
                                                             IptcLong );
    void*               iptc_mem_realloc                    (IptcMem *,
                                                             void *,
                                                             IptcLong );
    void                iptc_mem_free                       (IptcMem *,
                                                             void *);
    IptcMem*            iptc_mem_new_default                (void);

## Description

## Details

### IptcMemAllocFunc ()

    void*               (*IptcMemAllocFunc)                 (IptcLong );

`Param1` : |
Returns : |

### IptcMemReallocFunc ()

    void*               (*IptcMemReallocFunc)               (void *,
                                                             IptcLong );

`Param1` : |
`Param2` : |
Returns : |

### IptcMemFreeFunc ()

    void                (*IptcMemFreeFunc)                  (void *);

`Param1` : |

### IptcMem

    typedef struct _IptcMem IptcMem;

### iptc_mem_new ()

    IptcMem*            iptc_mem_new                        (IptcMemAllocFunc ,
                                                             IptcMemReallocFunc ,
                                                             IptcMemFreeFunc );

`Param1` : |
`Param2` : |
`Param3` : |
Returns : |

### iptc_mem_ref ()

    void                iptc_mem_ref                        (IptcMem *);

`Param1` : |

### iptc_mem_unref ()

    void                iptc_mem_unref                      (IptcMem *);

`Param1` : |

### iptc_mem_alloc ()

    void*               iptc_mem_alloc                      (IptcMem *,
                                                             IptcLong );

`Param1` : |
`Param2` : |
Returns : |

### iptc_mem_realloc ()

    void*               iptc_mem_realloc                    (IptcMem *,
                                                             void *,
                                                             IptcLong );

`Param1` : |
`Param2` : |
`Param3` : |
Returns : |

### iptc_mem_free ()

    void                iptc_mem_free                       (IptcMem *,
                                                             void *);

`Param1` : |
`Param2` : |

### iptc_mem_new_default ()

    IptcMem*            iptc_mem_new_default                (void);

Returns : |