-/* This file is part of
- * ======================================================
+/**
+ * \file counters.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * LyX, The Document Processor
+ * \author Lars Gullik Bjønnes
+ * \author Martin Vermeer
*
- * Copyright 1995 Matthias Ettrich
- * Copyright 1995-2001 The LyX Team.
- *
- *
- * ====================================================== */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
+ * Full author contact details are available in file CREDITS.
+ */
#include <config.h>
#include "counters.h"
+
#include "debug.h"
#include "support/lstrings.h"
-#include "support/LAssert.h"
+
+#include <boost/assert.hpp>
+
+#include "support/std_sstream.h"
using std::endl;
-using std::vector;
+
+using std::ostringstream;
Counter::Counter()
void Counters::reset(string const & match)
{
- lyx::Assert(!match.empty());
+ BOOST_ASSERT(!match.empty());
CounterList::iterator it = counterList.begin();
CounterList::iterator end = counterList.end();
CounterList::iterator it = counterList.find(ctr);
if (it == counterList.end()) {
lyxerr << "Counter does not exist." << endl;
- return "";
+ return string();
}
if (!first) {
- s << "." << value(ctr);
+ s << '.' << value(ctr);
} else {
if (numbertype == "sectioning" || numbertype == "appendix") {
if (numbertype == "appendix") {
}
s << o.str();
}
- return s.str();
+
+ return STRCONV(s.str());
}
string const & langtype,
int head)
{
- ostringstream s, o;
+ ostringstream s;
+
if (numbertype == "sectioning" || numbertype == "appendix") {
if (ctr == "chapter" && head == 0) {
s << labelItem("chapter", numbertype, langtype, true);
s << eiv.str();
}
}
- return s.str();
+
+ return STRCONV(s.str());
}