Util--  1.1
Public Types | Public Member Functions | List of all members
utilmm::smart::ref_count::uniq_memory< Ty, Hash, Equal > Class Template Reference

Unique instance memory manager. More...

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

Public Types

typedef Ty const base_type
 Real pointed type. More...
 
typedef mem_type::iterator mem_cell
 type of managed mem cells 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, class Hash, class Equal>
class utilmm::smart::ref_count::uniq_memory< Ty, Hash, Equal >

Unique instance memory manager.

Parameters
TyThe type of managed cells
HashA hash functor for Ty
EqualAn equality functor for Ty

This class is a memory manager for the utilmm::smart::ref_count::manager class. It implements a memory where there's one and only one element with a given value.

In this memory we have the guarantee that there's no mem_cell pair with pointed values that return true when passed as argument to Equal

Author
Frédéric Py fpy@l.nosp@m.aas..nosp@m.fr

Member Typedef Documentation

template<typename Ty , class Hash , class Equal >
typedef Ty const utilmm::smart::ref_count::uniq_memory< Ty, Hash, Equal >::base_type

Real pointed type.

template<typename Ty , class Hash , class Equal >
typedef mem_type::iterator utilmm::smart::ref_count::uniq_memory< Ty, Hash, Equal >::mem_cell

type of managed mem cells

Member Function Documentation

template<typename Ty , class Hash , class Equal >
mem_cell utilmm::smart::ref_count::uniq_memory< Ty, Hash, Equal >::create ( base_type ptr)

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
Note
if memory has allready a mem_cell equivalent to ptr then ptr is deleted
template<typename Ty , class Hash , class Equal >
void utilmm::smart::ref_count::uniq_memory< Ty, Hash, Equal >::destroy ( mem_cell  c)

Destroy a memory cell.

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

Parameters
cThe cell to destroy
template<typename Ty , class Hash , class Equal >
mem_cell utilmm::smart::ref_count::uniq_memory< Ty, Hash, Equal >::null_cell ( )
inline

null cell creation

This function create the cell corresponding to null

Returns
the null cell

References utilmm::hash_map< Key, Data, Hash, Equal >::end().


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

Generated on Tue Oct 9 2018 10:12:46 for Util-- by doxygen 1.8.6
SourceForge.net Project Page