/* Copyright (c) 1997-2004 Ewgenij Gawrilow, Michael Joswig (Technische Universitaet Berlin, Germany) http://www.math.tu-berlin.de/polymake, mailto:polymake@math.tu-berlin.de This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version: http://www.gnu.org/licenses/gpl.txt. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. */ #ifndef _POLYMAKE_LABELS_H #define _POLYMAKE_LABELS_H "$Project: polymake $$Id: labels.h 4714 2004-06-22 16:23:15Z gawrilow $" #include #include #include namespace polymake { namespace polytope { template Iterator read_labels(Cursor src, Iterator dst) { for (; !src.at_end(); ++dst) src >> *dst; return dst; } template void read_labels(Poly& p, const char *label_section, Iterator dst, int n_labels) { if (p.exists(label_section)) { read_labels(p.give(label_section).begin_list((std::vector*)0), dst); } else { std::ostringstream label; for (int i=0; i