Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
utilmm::smart::ref_count::manager< Memory > Class Template Reference

Reference counting management. More...

#include <ref_count_manager.hh>

List of all members.

Public Types

typedef Memory::base_type base_type
 public type of pointed cells
typedef Memory::mem_cell mem_cell
 real type of pointed cells

Public Member Functions

mem_cell assign (mem_cell c)
 Assignment of a cell.
base_typeget_ptr (mem_cell c)
 real pointer value.
mem_cell manage (base_type *ptr)
 Add new pointer in management.
bool null (mem_cell c)
 Check if null.
void release (mem_cell c)
 Unassignement of a cell.

Private Member Functions

 manager ()
 ~manager ()

Private Attributes

Memory mem

Friends

class singleton::wrapper

Detailed Description

template<class Memory>
class utilmm::smart::ref_count::manager< Memory >

Reference counting management.

Parameters:
Memorya model for the memory

This class is a manager for smart::pointer that control the life time policy of memory cells managed by Memory

Note:
utilmm::smart::simple_memory is a quite simple and illustrative model for Memory
Author:
Frédéric Py <fpy@laas.fr>

Definition at line 35 of file ref_count_manager.hh.


Member Typedef Documentation

template<class Memory >
typedef Memory::base_type utilmm::smart::ref_count::manager< Memory >::base_type

public type of pointed cells

Definition at line 38 of file ref_count_manager.hh.

template<class Memory >
typedef Memory::mem_cell utilmm::smart::ref_count::manager< Memory >::mem_cell

real type of pointed cells

This type will store all the information of the reference counter it may be compatible with the std::pair<base_type,size_t>* type.

Definition at line 45 of file ref_count_manager.hh.


Constructor & Destructor Documentation

template<class Memory >
utilmm::smart::ref_count::manager< Memory >::manager ( ) [inline, private]

Definition at line 108 of file ref_count_manager.hh.

template<class Memory >
utilmm::smart::ref_count::manager< Memory >::~manager ( ) [inline, private]

Definition at line 110 of file ref_count_manager.hh.


Member Function Documentation

template<class Memory >
mem_cell utilmm::smart::ref_count::manager< Memory >::assign ( mem_cell  c)

Assignment of a cell.

This function is called by utilmm::smart::pointer to indicate to the manager that a given cell is assigned to a new pointer.

Parameters:
cThe cell assigned
Postcondition:
reference counter of c is incremented by 1
Returns:
c ater the operation
template<class Memory >
base_type* utilmm::smart::ref_count::manager< Memory >::get_ptr ( mem_cell  c) [inline]

real pointer value.

This function give an access to the real pointer value of a given cell.

Parameters:
cThe cell
Returns:
the pointer value of the cell

Definition at line 103 of file ref_count_manager.hh.

template<class Memory >
mem_cell utilmm::smart::ref_count::manager< Memory >::manage ( base_type ptr)

Add new pointer in management.

Parameters:
ptrThe pointer to manage

This function is called by smart::pointer when this one wants to add a new pointer to the manager management.

Returns:
The cell corresponding to this pointer.
template<class Memory >
bool utilmm::smart::ref_count::manager< Memory >::null ( mem_cell  c) [inline]

Check if null.

Check if a given cell points to nothing

Parameters:
cThe cell to check
Return values:
trueif c is null
falseelse

Definition at line 90 of file ref_count_manager.hh.

template<class Memory >
void utilmm::smart::ref_count::manager< Memory >::release ( mem_cell  c)

Unassignement of a cell.

This function is called by utilmm::smart::pointer to indicate that a pointer has stopped to used a given cell.

Parameters:
cThe cell released
Postcondition:
The counter for c is decrmented by 1 and, if this counter has reached the 0 value the cell is detroyed.

Friends And Related Function Documentation

template<class Memory >
friend class singleton::wrapper [friend]

Definition at line 115 of file ref_count_manager.hh.


Member Data Documentation

template<class Memory >
Memory utilmm::smart::ref_count::manager< Memory >::mem [private]

Definition at line 112 of file ref_count_manager.hh.


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


utilmm
Author(s): Sylvain Joyeux/sylvain.joyeux@m4x.org
autogenerated on Wed Sep 16 2015 07:05:43