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

A cubical cell. More...

#include "chomp/system/config.h"
#include "chomp/struct/hashsets.h"
#include "chomp/cubes/pointbas.h"
#include "chomp/system/textfile.h"
#include <istream>
#include <ostream>
#include <algorithm>
#include <vector>

Go to the source code of this file.

Classes

class  tCubCell< CoordT, WrapT, EmptyT >
 An elementary cubical cell with vertex coordinates of integer type. More...
 

Functions

template<class CoordT , class WrapT , class EmptyT >
int_t hashkey1 (const tCubCell< CoordT, WrapT, EmptyT > &c)
 Generates a hashing key no. More...
 
template<class CoordT , class WrapT , class EmptyT >
int_t hashkey2 (const tCubCell< CoordT, WrapT, EmptyT > &c)
 Generates a hashing key no. More...
 
template<class CoordT , class WrapT , class EmptyT >
std::ostream & operator<< (std::ostream &out, const tCubCell< CoordT, WrapT, EmptyT > &c)
 Writes an elementary cube in the text mode to an output stream as the cartesian product of elementary intervals. More...
 
template<class CoordT , class WrapT , class EmptyT >
std::istream & operator>> (std::istream &in, tCubCell< CoordT, WrapT, EmptyT > &c)
 Reads an elementary cube from the input stream in the text format. More...
 

Variables

static int diagVersion = 0
 The version of the AW diagonal. For testing only. More...
 

Detailed Description

A cubical cell.

Definition in file cubcell.h.

Function Documentation

◆ hashkey1()

template<class CoordT , class WrapT , class EmptyT >
int_t hashkey1 ( const tCubCell< CoordT, WrapT, EmptyT > &  c)
inline

Generates a hashing key no.

1 for a cubical cell, composed of hashing keys for the coordinates. This key is to be used in a hashed set.

Definition at line 573 of file cubcell.h.

References tCubCell< CoordT, WrapT, EmptyT >::hashkey1().

◆ hashkey2()

template<class CoordT , class WrapT , class EmptyT >
int_t hashkey2 ( const tCubCell< CoordT, WrapT, EmptyT > &  c)
inline

Generates a hashing key no.

2 for a cubical cell, composed of hashing keys for the coordinates. This key is to be used in a hashed set.

Definition at line 609 of file cubcell.h.

References tCubCell< CoordT, WrapT, EmptyT >::hashkey2().

◆ operator<<()

template<class CoordT , class WrapT , class EmptyT >
std::ostream& operator<< ( std::ostream &  out,
const tCubCell< CoordT, WrapT, EmptyT > &  c 
)

Writes an elementary cube in the text mode to an output stream as the cartesian product of elementary intervals.

Definition at line 646 of file cubcell.h.

References tCubCell< CoordT, WrapT, EmptyT >::dim(), tCubCell< CoordT, WrapT, EmptyT >::left(), tCubCell< CoordT, WrapT, EmptyT >::right(), and tCubCell< CoordT, WrapT, EmptyT >::spaceDim().

◆ operator>>()

template<class CoordT , class WrapT , class EmptyT >
std::istream& operator>> ( std::istream &  in,
tCubCell< CoordT, WrapT, EmptyT > &  c 
)

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

Skips all the comments and spaces in the input stream before checking for an opening parenthesis or bracket. 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 672 of file cubcell.h.

References tCubCell< CoordT, WrapT, EmptyT >::left(), tCubCell< CoordT, WrapT, EmptyT >::right(), and tCubCell< CoordT, WrapT, EmptyT >::spaceDim().

Variable Documentation

◆ diagVersion

int diagVersion = 0
static

The version of the AW diagonal. For testing only.

Definition at line 312 of file cubcell.h.