src
Public Types | Public Member Functions | Protected Attributes | List of all members
re2c::free_list< _Ty > Class Template Reference

#include <free_list.h>

Inheritance diagram for re2c::free_list< _Ty >:
Inheritance graph
[legend]
Collaboration diagram for re2c::free_list< _Ty >:
Collaboration graph
[legend]

Public Types

typedef std::set< _Ty >::iterator iterator
 
typedef std::set< _Ty >::size_type size_type
 
typedef std::set< _Ty >::key_type key_type
 

Public Member Functions

 free_list ()
 
size_type erase (const key_type &key)
 
void clear ()
 
 ~free_list ()
 

Protected Attributes

bool in_clear
 

Detailed Description

template<class _Ty>
class re2c::free_list< _Ty >

Definition at line 10 of file free_list.h.

Member Typedef Documentation

template<class _Ty>
typedef std::set<_Ty>::iterator re2c::free_list< _Ty >::iterator

Definition at line 13 of file free_list.h.

template<class _Ty>
typedef std::set<_Ty>::key_type re2c::free_list< _Ty >::key_type

Definition at line 15 of file free_list.h.

template<class _Ty>
typedef std::set<_Ty>::size_type re2c::free_list< _Ty >::size_type

Definition at line 14 of file free_list.h.

Constructor & Destructor Documentation

template<class _Ty>
re2c::free_list< _Ty >::free_list ( )
inline

Definition at line 17 of file free_list.h.

17  : in_clear(false)
18  {
19  }
template<class _Ty>
re2c::free_list< _Ty >::~free_list ( )
inline

Definition at line 45 of file free_list.h.

46  {
47  clear();
48  }
void clear()
Definition: free_list.h:32

Member Function Documentation

template<class _Ty>
void re2c::free_list< _Ty >::clear ( )
inline

Definition at line 32 of file free_list.h.

33  {
34  in_clear = true;
35 
36  for(iterator it = this->begin(); it != this->end(); ++it)
37  {
38  delete *it;
39  }
40  std::set<_Ty>::clear();
41 
42  in_clear = false;
43  }
std::set< _Ty >::iterator iterator
Definition: free_list.h:13

Here is the caller graph for this function:

template<class _Ty>
size_type re2c::free_list< _Ty >::erase ( const key_type key)
inline

Definition at line 23 of file free_list.h.

24  {
25  if (!in_clear)
26  {
27  return std::set<_Ty>::erase(key);
28  }
29  return 0;
30  }

Here is the caller graph for this function:

Member Data Documentation

template<class _Ty>
bool re2c::free_list< _Ty >::in_clear
protected

Definition at line 51 of file free_list.h.


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