ibex::BacktrackableMap Class Reference
[Paver]

Backtrackable factory map. More...

#include <IbexCell.h>

Inherits hash_map.

List of all members.

Public Member Functions

 BacktrackableMap ()
 ~BacktrackableMap ()
 BacktrackableMap (const BacktrackableMap &m1, const BacktrackableMap &m2)
void import (const BacktrackableMap &m)
template<typename DATA>
void add ()
void add (const char *id, BacktrackableFactory *fac)
void create (Cell &c) const
void create_child (Cell &c, Cell &father, bool side) const

Friends

std::ostream & operator<< (std::ostream &os, const BacktrackableMap &m)


Detailed Description

Backtrackable factory map.

This class allows to record all backtrackable data factories, indexed by the class ID of the data.

Author:
Gilles Chabert
Date:
October 2007

Constructor & Destructor Documentation

ibex::BacktrackableMap::BacktrackableMap (  )  [inline]

Create an empty map.

ibex::BacktrackableMap::~BacktrackableMap (  )  [inline]

Delete this instance.

ibex::BacktrackableMap::BacktrackableMap ( const BacktrackableMap m1,
const BacktrackableMap m2 
) [inline]

Merge two maps.


Member Function Documentation

void ibex::BacktrackableMap::import ( const BacktrackableMap m  )  [inline]

Merge m with this map

template<typename DATA>
void ibex::BacktrackableMap::add (  )  [inline]

Add a new entry (template variant)

Precondition:
The DATA typename must inherits from ibex::Backtrackable (implements this interface).

void ibex::BacktrackableMap::add ( const char *  id,
BacktrackableFactory fac 
) [inline]

Add a new entry (non-template variant)

Parameters:
id - the name of the class (as returned by typeid).
fac - the factory to be inserted. A copy of this factory is made.

void ibex::BacktrackableMap::create ( Cell c  )  const [inline]

Create the backtrackable data of the root cell.

void ibex::BacktrackableMap::create_child ( Cell c,
Cell father,
bool  side 
) const [inline]

Create the backtrackable data of a child cell.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const BacktrackableMap m 
) [friend]

Stream out internal structures (for debug purpose).


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

Generated on Sun Jun 27 15:52:00 2010 for IBEX by  doxygen 1.5.5