#include <locale>
#endif
-#include <boost/tuple/tuple.hpp>
-
#ifdef __GNUG__
#pragma implementation
#endif
#include "converter.h"
#include "BufferView.h"
#include "ParagraphParameters.h"
+#include "iterators.h"
using std::ostream;
using std::ofstream;
}
-void Buffer::docBookHandleCaption(ostream & os, string & inner_tag,
+void Buffer::docbookHandleCaption(ostream & os, string & inner_tag,
Paragraph::depth_type depth, int desc_on,
Paragraph * & par)
{
if (c == Paragraph::META_INSET) {
Inset * inset = par->getInset(i);
ostringstream ost;
- inset->docBook(this, ost);
+ inset->docbook(this, ost);
string tmp_out = ost.str().c_str();
//
{
Lists l;
Paragraph * par = paragraph;
+
+#if 1
+ std::pair<bool, LyXTextClassList::size_type> const tmp =
+ textclasslist.NumberOfLayout(params.textclass, "Caption");
+ bool const found = tmp.first;
+ LyXTextClassList::size_type const cap = tmp.second;
+
+#else
+ // This is the prefered way to to this, but boost::tie can break
+ // some compilers
bool found;
LyXTextClassList::size_type cap;
boost::tie(found, cap) = textclasslist
.NumberOfLayout(params.textclass, "Caption");
+#endif
while (par) {
char const labeltype =
void Buffer::changeLanguage(Language const * from, Language const * to)
{
- Paragraph * par = paragraph;
- while (par) {
- par->changeLanguage(params, from, to);
- par = par->next();
- }
+ ParIterator end = par_iterator_end();
+ for (ParIterator it = par_iterator_begin(); it != end; ++it)
+ (*it)->changeLanguage(params, from, to);
}
bool Buffer::isMultiLingual()
{
- Paragraph * par = paragraph;
- while (par) {
- if (par->isMultiLingual(params))
+ ParIterator end = par_iterator_end();
+ for (ParIterator it = par_iterator_begin(); it != end; ++it)
+ if ((*it)->isMultiLingual(params))
return true;
- par = par->next();
- }
+
return false;
}
}
return 0;
}
+
+
+ParIterator Buffer::par_iterator_begin()
+{
+ return ParIterator(paragraph);
+}
+
+
+ParIterator Buffer::par_iterator_end()
+{
+ return ParIterator();
+}