Util--  1.1
Public Types | Public Member Functions | List of all members
utilmm::smart::ref_count::simple_memory< Ty > Struct Template Reference

simple memory manager for utilmm::smart::ref_count::manager More...

#include <utilmm/smart/bits/simple_memory.hh>

Public Types

typedef Ty base_type
 Real type for memory cells. More...
 
typedef std::pair< base_type, size_t > cell_type
 memory cell type More...
 
typedef cell_typemem_cell
 public memory cell type More...
 

Public Member Functions

mem_cell null_cell ()
 null cell creation More...
 
mem_cell create (base_type *ptr)
 Attachment of a new pointer. More...
 
void destroy (mem_cell c)
 Destroy a memory cell. More...
 

Detailed Description

template<typename Ty>
struct utilmm::smart::ref_count::simple_memory< Ty >

simple memory manager for utilmm::smart::ref_count::manager

This class implements the simplest memory manager we can use for utilmm::smart::ref_count::manager class. This manager will just delete the pointed cell when the manager request for it.

Parameters
TyThe type of managed cells
Note
This manager may be buggy as it could create two counter for one pointed cell then it will surely delete twice the pointed cell.
Author
Frédéric Py fpy@l.nosp@m.aas..nosp@m.fr

Member Typedef Documentation

◆ base_type

template<typename Ty >
typedef Ty utilmm::smart::ref_count::simple_memory< Ty >::base_type

Real type for memory cells.

◆ cell_type

template<typename Ty >
typedef std::pair<base_type, size_t> utilmm::smart::ref_count::simple_memory< Ty >::cell_type

memory cell type

◆ mem_cell

template<typename Ty >
typedef cell_type* utilmm::smart::ref_count::simple_memory< Ty >::mem_cell

public memory cell type

Member Function Documentation

◆ create()

template<typename Ty >
mem_cell utilmm::smart::ref_count::simple_memory< Ty >::create ( base_type ptr)
inline

Attachment of a new pointer.

This function adds a new pointer to the memory management.

Parameters
ptrThe pointer to manage
Returns
The cell associated to ptr
Bug:
If the same pointer is passed more than one time to this function there's no control to return a mem_cell with the good reference counter.

◆ destroy()

template<typename Ty >
void utilmm::smart::ref_count::simple_memory< Ty >::destroy ( mem_cell  c)
inline

Destroy a memory cell.

This function Will detroy a memory cell and the real pointed value

Parameters
cThe cell to destroy

◆ null_cell()

template<typename Ty >
mem_cell utilmm::smart::ref_count::simple_memory< Ty >::null_cell ( )
inline

null cell creation

This function create the cell corresponding to null

Returns
the null cell

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

Generated on Mon Oct 22 2018 18:39:28 for Util-- by doxygen 1.8.13
SourceForge.net Project Page