include/topology/conesimplex.hpp
author Christos Mantoulidis <cmad@stanford.edu>
Tue, 04 Aug 2009 16:58:44 -0700
branchdev
changeset 157 700cbac5b23c
parent 22 c42734397d62
permissions -rw-r--r--
Modified cohomology code (unweighted and weighted) so that it doesn't use std::map for boundary computations, which should optimize memory usage.

template<class S>
typename ConeSimplex<S>::Cycle
ConeSimplex<S>::boundary() const
{
	Cycle bdry;
	typename Parent::Cycle pbdry = Parent::boundary();

	for (typename Parent::Cycle::const_iterator cur = pbdry.begin(); cur != pbdry.end(); ++cur)
		bdry.push_back(Self(*cur, coned_));
	
	if (coned_)
		bdry.push_back(Self(*this, false));
	
	return bdry;
}

template<class S>
std::ostream&
ConeSimplex<S>::operator<<(std::ostream& out) const
{
	Parent::operator<<(out) << ' ';
	if (coned_) out << "[coned]";
	return out;
}