-/* This file is part of
- * ======================================================
+/**
+ * \file lyxtextclass.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 Jean-Marc Lasgouttes
+ * \author Angus Leeming
+ * \author John Levon
+ * \author André Pönitz
*
- * Copyright 1995 Matthias Ettrich
- * Copyright 1995-2001 The LyX Team.
- *
- * ======================================================
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "debug.h"
#include "lyxlex.h"
#include "counters.h"
+#include "Floating.h"
#include "FloatList.h"
#include "support/lstrings.h"
#include <algorithm>
+using namespace lyx::support;
+
using std::endl;
using std::find_if;
using std::remove_if;
-LyXLayout_ptr const & LyXTextClass::operator[](string const & n) const
+LyXLayout_ptr const & LyXTextClass::operator[](string const & name) const
{
- lyx::Assert(!n.empty());
-
- if (n.empty())
- lyxerr << "LyXTextClass::operator[] called with empty n" << endl;
-
- string const name = (n.empty() ? defaultLayoutName() : n);
-
- static string lastLayoutName;
- static LayoutList::difference_type lastLayoutIndex;
-
- if (name == lastLayoutName)
- return layoutlist_[lastLayoutIndex];
+ Assert(!name.empty());
LayoutList::const_iterator cit =
find_if(layoutlist_.begin(),
lyxerr << " " << it->get()->name() << endl;
// we require the name to exist
- lyx::Assert(false);
+ Assert(false);
}
- lastLayoutName = name;
- lastLayoutIndex = std::distance(layoutlist_.begin(), cit);
-
return (*cit);
}