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

A simplex class with arbitrary vertices. More...

#include <istream>
#include <ostream>
#include <algorithm>
#include <vector>
#include "chomp/system/config.h"
#include "chaincon/emptycell.h"

Go to the source code of this file.

Classes

class  tSimplex< VertexT, EmptyT >
 A simplex with vertices of arbitrary type. More...
 

Functions

template<class VertexT , class EmptyT >
int_t hashkey1 (const tSimplex< VertexT, EmptyT > &s)
 Generates a hashing key no. More...
 
template<class VertexT , class EmptyT >
int_t hashkey2 (const tSimplex< VertexT, EmptyT > &s)
 Generates a hashing key no. More...
 
template<class VertexT , class EmptyT >
std::ostream & operator<< (std::ostream &out, const tSimplex< VertexT, EmptyT > &s)
 Writes a simplex in the text mode to an output stream. More...
 
template<class VertexT , class EmptyT >
std::istream & operator>> (std::istream &in, tSimplex< VertexT, EmptyT > &s)
 Reads a simplex from the input stream in the text format. More...
 

Detailed Description

A simplex class with arbitrary vertices.

Definition in file simplex.h.

Function Documentation

◆ hashkey1()

template<class VertexT , class EmptyT >
int_t hashkey1 ( const tSimplex< VertexT, EmptyT > &  s)
inline

Generates a hashing key no.

1 for a simplex, composed of hashing keys for the vertices. This key is to be used in a hashed set.

Definition at line 281 of file simplex.h.

References tSimplex< VertexT, EmptyT >::dim().

◆ hashkey2()

template<class VertexT , class EmptyT >
int_t hashkey2 ( const tSimplex< VertexT, EmptyT > &  s)
inline

Generates a hashing key no.

2 for a simplex, composed of hashing keys for the vertices. This key is to be used in a hashed set.

Definition at line 307 of file simplex.h.

References tSimplex< VertexT, EmptyT >::dim().

◆ operator<<()

template<class VertexT , class EmptyT >
std::ostream& operator<< ( std::ostream &  out,
const tSimplex< VertexT, EmptyT > &  s 
)

Writes a simplex in the text mode to an output stream.

All the vertices are written using their operator <<, and are enclosed in parentheses in a comma-separated list.

Definition at line 335 of file simplex.h.

References tSimplex< VertexT, EmptyT >::dim().

◆ operator>>()

template<class VertexT , class EmptyT >
std::istream& operator>> ( std::istream &  in,
tSimplex< VertexT, EmptyT > &  s 
)

Reads a simplex 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 vertices of the simplex using their operator >> as a comma-separated list. The closing parenthesis indicates the end of the simplex definition. If the closing parenthesis is not found then an exception is thrown. If no simplex is found in the input then the simplex is not modified.

Definition at line 357 of file simplex.h.

References tSimplex< VertexT, EmptyT >::vertices.