include/topology/conesimplex.hpp
author Dmitriy Morozov <dmitriy@mrzv.org>
Thu, 25 Dec 2008 13:08:41 -0800
branchdev
changeset 103 2ac129839e02
parent 22 c42734397d62
permissions -rw-r--r--
Empty is now a template, replaced RecursiveIterator with boost::counting_iterator

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;
}