The ChainCon Software (Release 0.03)
Classes | Functions
algcell.h File Reference

An abstract algebraic cell. More...

#include <istream>
#include <ostream>
#include <algorithm>
#include "chomp/system/config.h"
#include "chomp/struct/multitab.h"
#include "chaincon/chain.h"

Go to the source code of this file.

Classes

class  tAlgCell< IdT, DimT, CoefT >
 An abstract algebraic cell, characterized by a unique identifier, dimension, and a formula for its boundary. More...
 

Functions

template<class IdT , class DimT , class CoefT >
int_t hashkey1 (const tAlgCell< IdT, DimT, CoefT > &c)
 Generates a hashing key no. More...
 
template<class IdT , class DimT , class CoefT >
int_t hashkey2 (const tAlgCell< IdT, DimT, CoefT > &c)
 Generates a hashing key no. More...
 
template<class IdT , class DimT , class CoefT >
std::ostream & operator<< (std::ostream &out, const tAlgCell< IdT, DimT, CoefT > &c)
 Writes an abstract algebraic cell in the text mode to an output stream. More...
 
template<class IdT , class DimT , class CoefT >
std::istream & operator>> (std::istream &in, tAlgCell< IdT, DimT, CoefT > &c)
 Reads an elementary cube from the input stream in the text format. More...
 

Detailed Description

An abstract algebraic cell.

Definition in file algcell.h.

Function Documentation

◆ hashkey1()

template<class IdT , class DimT , class CoefT >
int_t hashkey1 ( const tAlgCell< IdT, DimT, CoefT > &  c)
inline

Generates a hashing key no.

1 for an abstract algebraic cell. This key is to be used in a hashed set.

Definition at line 293 of file algcell.h.

References tAlgCell< IdT, DimT, CoefT >::getId().

◆ hashkey2()

template<class IdT , class DimT , class CoefT >
int_t hashkey2 ( const tAlgCell< IdT, DimT, CoefT > &  c)
inline

Generates a hashing key no.

1 for an abstract algebraic cell. This key is to be used in a hashed set.

Definition at line 301 of file algcell.h.

References tAlgCell< IdT, DimT, CoefT >::getId().

◆ operator<<()

template<class IdT , class DimT , class CoefT >
std::ostream& operator<< ( std::ostream &  out,
const tAlgCell< IdT, DimT, CoefT > &  c 
)

Writes an abstract algebraic cell in the text mode to an output stream.

Definition at line 310 of file algcell.h.

References tAlgCell< IdT, DimT, CoefT >::getId().

◆ operator>>()

template<class IdT , class DimT , class CoefT >
std::istream& operator>> ( std::istream &  in,
tAlgCell< IdT, DimT, CoefT > &  c 
)

Reads an elementary cube from the input stream in the text format.

Skips all the characters in the input stream until an opening parenthesis is found. Then reads the cartesian product that defines the cube. If no elementary cube is found in the input then the cube is not modified.

Definition at line 325 of file algcell.h.

References tAlgCell< IdT, DimT, CoefT >::dim(), tAlgCell< IdT, DimT, CoefT >::id, and tAlgCell< IdT, DimT, CoefT >::setDimension().