Commit before merging in Python branch:
* converted more examples: poincare, rips, some fitness
* two generators for Rips complexes
* ChainWrapper uses stl algorithms for everything,
added CountingBackInserter and switched SizeStorage to use operators
* retabbing files along the way
* added #957a (namespace dionysus)
#ifndef __CYCLES_H__
#define __CYCLES_H__
#include "chain.h"
#include <vector>
#include "utilities/circular_list.h"
template<class OrderIndex_ = int>
struct VectorChains
{
typedef OrderIndex_ OrderIndex;
typedef ChainWrapper<std::vector<OrderIndex> > Chain;
typedef Chain Cycle;
Cycle cycle;
VectorChains() {}
VectorChains(Cycle z): cycle(z) {}
bool sign() const { return cycle.empty(); }
template<class U> struct rebind
{ typedef VectorChains<U> other; };
};
template<class OrderIndex_ = int>
struct ListChains
{
typedef OrderIndex_ OrderIndex;
typedef ChainWrapper<List<OrderIndex> > Chain;
typedef Chain Cycle;
Cycle cycle;
ListChains() {}
ListChains(Cycle z): cycle(z) {}
bool sign() const { return cycle.empty(); }
template<class U> struct rebind
{ typedef ListChains<U> other; };
};
#endif // __CYCLES_H__