refptr.h File Reference
`#include <gwenhywfar/types.h>`
`#include <gwenhywfar/gwenhywfarapi.h>`

Go to the source code of this file.

## Macros

#define | GWEN_REFPTR_FLAGS_AUTODELETE 0x00000001

## Typedefs

typedef struct GWEN_REFPTR | GWEN_REFPTR
typedef struct GWEN_REFPTR_INFO | GWEN_REFPTR_INFO
Prototypes for Virtual Functions
typedef void *(* | GWEN_REFPTR_INFO_DUP_FN) (void *dp)
typedef void(* | GWEN_REFPTR_INFO_FREE_FN) (void *dp)

## Functions

Constructor, Destructor, Copy, Duplicate functions
GWENHYWFAR_API GWEN_REFPTR * | GWEN_RefPtr_copy (const GWEN_REFPTR *rp)
GWENHYWFAR_API GWEN_REFPTR * | GWEN_RefPtr_dup (const GWEN_REFPTR *rp)
GWENHYWFAR_API void | GWEN_RefPtr_free (GWEN_REFPTR *rp)
GWENHYWFAR_API GWEN_REFPTR * | GWEN_RefPtr_new (void *dp, GWEN_REFPTR_INFO *rpi)
GWENHYWFAR_API void | GWEN_RefPtrInfo_Attach (GWEN_REFPTR_INFO *rpi)
GWENHYWFAR_API void | GWEN_RefPtrInfo_free (GWEN_REFPTR_INFO *rpi)
GWENHYWFAR_API GWEN_REFPTR_INFO * | GWEN_RefPtrInfo_new (void)
Data Functions
GWENHYWFAR_API void * | GWEN_RefPtr_GetData (const GWEN_REFPTR *rp)
GWENHYWFAR_API void | GWEN_RefPtr_SetData (GWEN_REFPTR *rp, void *dp, GWEN_REFPTR_INFO *rpi)
Getting and Setting Flags
These flags are used for newly created GWEN_REFPTR to provide a default value. Please see GWEN_REFPTR_FLAGS_AUTODELETE and following.
GWENHYWFAR_API void | GWEN_RefPtr_AddFlags (GWEN_REFPTR *rp, uint32_t fl)
GWENHYWFAR_API void | GWEN_RefPtr_DelFlags (GWEN_REFPTR *rp, uint32_t fl)
GWENHYWFAR_API uint32_t | GWEN_RefPtr_GetFlags (const GWEN_REFPTR *rp)
GWENHYWFAR_API void | GWEN_RefPtr_SetFlags (GWEN_REFPTR *rp, uint32_t fl)
GWENHYWFAR_API void | GWEN_RefPtrInfo_AddFlags (GWEN_REFPTR_INFO *rpi, uint32_t fl)
GWENHYWFAR_API void | GWEN_RefPtrInfo_DelFlags (GWEN_REFPTR_INFO *rpi, uint32_t fl)
GWENHYWFAR_API uint32_t | GWEN_RefPtrInfo_GetFlags (const GWEN_REFPTR_INFO *rpi)
GWENHYWFAR_API void | GWEN_RefPtrInfo_SetFlags (GWEN_REFPTR_INFO *rpi, uint32_t fl)
Setters for Virtual Functions
GWENHYWFAR_API void | GWEN_RefPtrInfo_SetDupFn (GWEN_REFPTR_INFO *rpi, GWEN_REFPTR_INFO_DUP_FN f)
GWENHYWFAR_API void | GWEN_RefPtrInfo_SetFreeFn (GWEN_REFPTR_INFO *rpi, GWEN_REFPTR_INFO_FREE_FN f)

## Macro Definition Documentation

## GWEN_REFPTR_FLAGS_AUTODELETE

#define GWEN_REFPTR_FLAGS_AUTODELETE 0x00000001

Definition at line 37 of file refptr.h.

## Typedef Documentation

## GWEN_REFPTR

typedef struct GWEN_REFPTR GWEN_REFPTR

Definition at line 45 of file refptr.h.

## GWEN_REFPTR_INFO

typedef struct GWEN_REFPTR_INFO GWEN_REFPTR_INFO

Definition at line 44 of file refptr.h.

## GWEN_REFPTR_INFO_DUP_FN

typedef void *(* GWEN_REFPTR_INFO_DUP_FN) (void *dp)

Definition at line 152 of file refptr.h.

## GWEN_REFPTR_INFO_FREE_FN

typedef void(* GWEN_REFPTR_INFO_FREE_FN) (void *dp)

Definition at line 151 of file refptr.h.

## Function Documentation

## GWEN_RefPtr_AddFlags()

GWENHYWFAR_API void GWEN_RefPtr_AddFlags | ( | GWEN_REFPTR * | rp,
|  | uint32_t | fl )

References GWENHYWFAR_API.

## GWEN_RefPtr_copy()

GWENHYWFAR_API GWEN_REFPTR * GWEN_RefPtr_copy | ( | const GWEN_REFPTR * | rp | ) |

References GWENHYWFAR_API.

## GWEN_RefPtr_DelFlags()

GWENHYWFAR_API void GWEN_RefPtr_DelFlags | ( | GWEN_REFPTR * | rp,
|  | uint32_t | fl )

References GWENHYWFAR_API.

## GWEN_RefPtr_dup()

GWENHYWFAR_API GWEN_REFPTR * GWEN_RefPtr_dup | ( | const GWEN_REFPTR * | rp | ) |

References GWENHYWFAR_API.

## GWEN_RefPtr_free()

GWENHYWFAR_API void GWEN_RefPtr_free | ( | GWEN_REFPTR * | rp | ) |

References GWENHYWFAR_API.

## GWEN_RefPtr_GetData()

GWENHYWFAR_API void * GWEN_RefPtr_GetData | ( | const GWEN_REFPTR * | rp | ) |

References GWENHYWFAR_API.

## GWEN_RefPtr_GetFlags()

GWENHYWFAR_API uint32_t GWEN_RefPtr_GetFlags | ( | const GWEN_REFPTR * | rp | ) |

References GWENHYWFAR_API.

## GWEN_RefPtr_new()

GWENHYWFAR_API GWEN_REFPTR * GWEN_RefPtr_new | ( | void * | dp,
|  | GWEN_REFPTR_INFO * | rpi )

References GWENHYWFAR_API.

## GWEN_RefPtr_SetData()

GWENHYWFAR_API void GWEN_RefPtr_SetData | ( | GWEN_REFPTR * | rp,
|  | void * | dp,
|  | GWEN_REFPTR_INFO * | rpi )

References GWENHYWFAR_API.

## GWEN_RefPtr_SetFlags()

GWENHYWFAR_API void GWEN_RefPtr_SetFlags | ( | GWEN_REFPTR * | rp,
|  | uint32_t | fl )

References GWENHYWFAR_API.

## GWEN_RefPtrInfo_AddFlags()

GWENHYWFAR_API void GWEN_RefPtrInfo_AddFlags | ( | GWEN_REFPTR_INFO * | rpi,
|  | uint32_t | fl )

References GWENHYWFAR_API.

## GWEN_RefPtrInfo_Attach()

GWENHYWFAR_API void GWEN_RefPtrInfo_Attach | ( | GWEN_REFPTR_INFO * | rpi | ) |

References GWENHYWFAR_API.

## GWEN_RefPtrInfo_DelFlags()

GWENHYWFAR_API void GWEN_RefPtrInfo_DelFlags | ( | GWEN_REFPTR_INFO * | rpi,
|  | uint32_t | fl )

## GWEN_RefPtrInfo_free()

GWENHYWFAR_API void GWEN_RefPtrInfo_free | ( | GWEN_REFPTR_INFO * | rpi | ) |

References GWENHYWFAR_API.

## GWEN_RefPtrInfo_GetFlags()

GWENHYWFAR_API uint32_t GWEN_RefPtrInfo_GetFlags | ( | const GWEN_REFPTR_INFO * | rpi | ) |

References GWENHYWFAR_API.

## GWEN_RefPtrInfo_new()

GWENHYWFAR_API GWEN_REFPTR_INFO * GWEN_RefPtrInfo_new | ( | void |  | ) |

References GWENHYWFAR_API.

## GWEN_RefPtrInfo_SetDupFn()

GWENHYWFAR_API void GWEN_RefPtrInfo_SetDupFn | ( | GWEN_REFPTR_INFO * | rpi,
|  | GWEN_REFPTR_INFO_DUP_FN | f )

## GWEN_RefPtrInfo_SetFlags()

GWENHYWFAR_API void GWEN_RefPtrInfo_SetFlags | ( | GWEN_REFPTR_INFO * | rpi,
|  | uint32_t | fl )

References GWENHYWFAR_API.

## GWEN_RefPtrInfo_SetFreeFn()

GWENHYWFAR_API void GWEN_RefPtrInfo_SetFreeFn | ( | GWEN_REFPTR_INFO * | rpi,
|  | GWEN_REFPTR_INFO_FREE_FN | f )

References GWENHYWFAR_API.