Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

dbm::dbmlist_t Class Reference

Simple list of DBMs for light-weight computations. More...

#include <inline_fed.h>

Inheritance diagram for dbm::dbmlist_t:

dbm::ifed_t List of all members.

Public Member Functions

 dbmlist_t ()
 dbmlist_t (size_t size, fdbm_t *flist)
 dbmlist_t (const raw_t *arg, cindex_t dim)
 dbmlist_t (const dbm_t &arg)
dbmlist_t & append (dbmlist_t &arg)
 Append a list of fdbm_t.
dbmlist_t & append (fdbm_t *arg)
 Append just one fdbm_t, not the whole list!
raw_t * append (const raw_t *arg, cindex_t dim)
 Append a copy of arg,.
void removeIncluded (dbmlist_t &arg)
 Remove DBMs of 'this' that are included in arg and DBMs of arg that are included in 'this'.
dbmlist_t & unionWith (dbmlist_t &arg)
 Union of arg with this dbmlist_t, does inclusion checking.
void reduce (cindex_t dim)
 Simple reduction by inclusion check of DBMs.
void mergeReduce (cindex_t dim, size_t jumpj=0)
 Reduction by inclusion check + merge (by pairs) of DBMs.
size_t size () const
const fdbm_t * const_head () const
 Head of the list.
fdbm_t * head ()
fdbm_t ** atHead ()
void incSize (size_t n=1)
 Update the federation size.
void decSize (size_t n=1)
void reset (fdbm_t *dbms=NULL, size_t size=0)
 Brutal re-set of the list.
void reset (dbmlist_t &l)
dbmlist_t & intersection (const raw_t *arg, cindex_t dim)
dbmlist_t & intersection (const dbm_t &arg, cindex_t dim)
dbmlist_t copyList () const
void steal (fdbm_t **dbm, dbmlist_t &owner)
 Steal one DBM of a dbmlist_t.
fdbm_t ** steal (fdbm_t **head, fdbm_t **dbm, dbmlist_t &owner)
void stealFromToEnd (fdbm_t **next, dbmlist_t &dbmList)
 Steal a list and append it at the end.
void swap (dbmlist_t &arg)
 Swap DBM lists.
void copyRef (dbmlist_t &arg)
 Copy ref.
void removeHead ()
 Remove head of list.
void print (std::ostream &os=std::cerr) const
 Print for debugging only, use operator << on fed_t instead.
void err () const
void out () const

Protected Attributes

size_t fedSize
fdbm_t * fhead

Detailed Description

Simple list of DBMs for light-weight computations.


Constructor & Destructor Documentation

dbm::dbmlist_t::dbmlist_t (   )  [inline]
 

dbm::dbmlist_t::dbmlist_t (  size_t  size,
fdbm_t *  flist
)  [inline]
 

dbm::dbmlist_t::dbmlist_t (  const raw_t *  arg,
cindex_t  dim
)  [inline]
 

dbm::dbmlist_t::dbmlist_t (  const dbm_t &  arg  )  [inline]
 


Member Function Documentation

raw_t* dbm::dbmlist_t::append (  const raw_t *  arg,
cindex_t  dim
)  [inline]
 

Append a copy of arg,.

Precondition:
dimension is the same as the other DBMs.

dbmlist_t& dbm::dbmlist_t::append (  fdbm_t *  arg  )  [inline]
 

Append just one fdbm_t, not the whole list!

dbmlist_t& dbm::dbmlist_t::append (  dbmlist_t &  arg  )  [inline]
 

Append a list of fdbm_t.

fdbm_t** dbm::dbmlist_t::atHead (   )  [inline]
 

const fdbm_t* dbm::dbmlist_t::const_head (   )  const [inline]
 

Head of the list.

dbmlist_t dbm::dbmlist_t::copyList (   )  const [inline]
 

Returns:
a simple copy of this list of DBMs.

void dbm::dbmlist_t::copyRef (  dbmlist_t &  arg  )  [inline]
 

Copy ref.

void dbm::dbmlist_t::decSize (  size_t  n = 1  )  [inline]
 

void dbm::dbmlist_t::err (   )  const
 

fdbm_t* dbm::dbmlist_t::head (   )  [inline]
 

void dbm::dbmlist_t::incSize (  size_t  n = 1  )  [inline]
 

Update the federation size.

dbmlist_t & dbm::dbmlist_t::intersection (  const dbm_t &  arg,
cindex_t  dim
) 
 

dbmlist_t & dbm::dbmlist_t::intersection (  const raw_t *  arg,
cindex_t  dim
) 
 

Returns:
'this' intersected with arg.
Precondition:
same dimension.

void dbm::dbmlist_t::mergeReduce (  cindex_t  dim,
size_t  jumpj = 0
) 
 

Reduction by inclusion check + merge (by pairs) of DBMs.

void dbm::dbmlist_t::out (   )  const
 

void dbm::dbmlist_t::print (  std::ostream &  os = std::cerr  )  const
 

Print for debugging only, use operator << on fed_t instead.

void dbm::dbmlist_t::reduce (  cindex_t  dim  ) 
 

Simple reduction by inclusion check of DBMs.

void dbm::dbmlist_t::removeHead (   )  [inline]
 

Remove head of list.

Precondition:
size() > 0.

void dbm::dbmlist_t::removeIncluded (  dbmlist_t &  arg  ) 
 

Remove DBMs of 'this' that are included in arg and DBMs of arg that are included in 'this'.

void dbm::dbmlist_t::reset (  dbmlist_t &  l  )  [inline]
 

void dbm::dbmlist_t::reset (  fdbm_t *  dbms = NULL,
size_t  size = 0
)  [inline]
 

Brutal re-set of the list.

size_t dbm::dbmlist_t::size (   )  const [inline]
 

Returns:
the federation size.

fdbm_t** dbm::dbmlist_t::steal (  fdbm_t **  head,
fdbm_t **  dbm,
dbmlist_t &  owner
)  [inline]
 

Precondition:
head is somewhere in this list of DBMs

void dbm::dbmlist_t::steal (  fdbm_t **  dbm,
dbmlist_t &  owner
)  [inline]
 

Steal one DBM of a dbmlist_t.

void dbm::dbmlist_t::stealFromToEnd (  fdbm_t **  next,
dbmlist_t &  dbmList
)  [inline]
 

Steal a list and append it at the end.

void dbm::dbmlist_t::swap (  dbmlist_t &  arg  )  [inline]
 

Swap DBM lists.

dbmlist_t& dbm::dbmlist_t::unionWith (  dbmlist_t &  arg  )  [inline]
 

Union of arg with this dbmlist_t, does inclusion checking.

Postcondition:
dbmlist_t arg is invalid.


Member Data Documentation

size_t dbm::dbmlist_t::fedSize [protected]
 

fdbm_t* dbm::dbmlist_t::fhead [protected]
 


The documentation for this class was generated from the following files:
Generated on Fri Jun 30 00:02:47 2006 for Module dbm by  doxygen 1.4.2