SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex Class Reference

#include <SimplicialComplex.h>

Inheritance diagram for SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex:

hudson::SmallMemoryItem< Simplex > List of all members.

Public Types

typedef ISimplex::vertex_iterator vertex_iterator
typedef vertex_iterator const_iterator
typedef vertex_iterator iterator

Public Member Functions

 Simplex (const Simplex &other)
 Simplex (ISimplex *s)
size_t hash () const
std::string toString () const
vertex_iterator begin () const
vertex_iterator end () const
Vertexoperator[] (unsigned i) const
Vertexget (unsigned i) const
unsigned indexOf (const Vertex *v) const
bool has (const Vertex *v) const
template<class BinaryPredicate>
bool has (const Vertex *v, const BinaryPredicate &pred) const
bool operator== (const Simplex &other) const
bool operator!= (const Simplex &other) const

Static Public Member Functions

static unsigned dim ()

Static Public Attributes

static const unsigned dimension = d

Friends

class SimplicialComplex
class OSimplex
struct Flipper
class Star
struct OptSimplex

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
class SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex


Member Typedef Documentation

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
typedef vertex_iterator SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::const_iterator
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
typedef vertex_iterator SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::iterator
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
typedef ISimplex::vertex_iterator SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::vertex_iterator
 


Constructor & Destructor Documentation

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::Simplex const Simplex other  )  [inline]
 

Simplices can only be copied, not created (except by the complex).

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::Simplex ISimplex *  s  )  [inline]
 

Avoid this constructor. This constructor is only public for people who want to define their own stack in the traversal routines.


Member Function Documentation

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
vertex_iterator SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::begin  )  const [inline]
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
static unsigned SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::dim  )  [inline, static]
 

Dimension of the simplex.

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
vertex_iterator SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::end  )  const [inline]
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
template<class BinaryPredicate>
bool SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::has const Vertex v,
const BinaryPredicate &  pred
const [inline]
 

Check whether the simplex holds any vertex u on which pred(v, u) is true.

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
size_t SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::hash  )  const [inline]
 

A good hash function for use in any hash table, no need to mod a prime.

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
bool SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::operator!= const Simplex other  )  const [inline]
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
bool SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::operator== const Simplex other  )  const [inline]
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
std::string SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::toString  )  const [inline]
 

For debugging, generate a string that with some effort may be used to identify this simplex.


Friends And Related Function Documentation

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
friend struct Flipper [friend]
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
friend struct OptSimplex [friend]
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
friend class OSimplex [friend]
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
friend class SimplicialComplex [friend]
 

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
friend class Star [friend]
 


Member Data Documentation

template<unsigned d, class Vertex_, class SimplexData_ = void, class VertexPrinter_ = typename Vertex_::Printer>
const unsigned SimplicialComplex< d, Vertex_, SimplexData_, VertexPrinter_ >::Simplex::dimension = d [static]
 

Dimension of the simplex.


The documentation for this class was generated from the following file:
Generated on Thu Mar 27 19:04:15 2008 by  doxygen 1.4.6