]> git.lyx.org Git - lyx.git/blobdiff - src/ParIterator.cpp
Less expensive OP first as this might be called often.
[lyx.git] / src / ParIterator.cpp
index 794d3ecb0023bfef735c768a93f520ebb33a6809..10de5f312dcea89b7beb6c6eb371e62e153f4120 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "ParIterator.h"
 
-#include "Paragraph.h"
+#include "CursorSlice.h"
 #include "Text.h"
 
 #include "insets/Inset.h"
 
 namespace lyx {
 
-///
-/// ParIterator
-///
-
-ParIterator::ParIterator(DocIterator const & cur)
-       : DocIterator(cur)
-{}
+//////////////////////////////////////////////////////////////////////////
+//
+// ParIterator
+//
+//////////////////////////////////////////////////////////////////////////
 
 
 ParIterator par_iterator_begin(Inset & inset)
 {
-       return ParIterator(doc_iterator_begin(inset));
+       return ParIterator(doc_iterator_begin(&inset.buffer(), &inset));
 }
 
 
 ParIterator par_iterator_end(Inset & inset)
 {
-       return ParIterator(doc_iterator_end(inset));
+       return ParIterator(doc_iterator_end(&inset.buffer(), &inset));
 }
 
 
-ParIterator::ParIterator(ParIterator const & pi)
-       : DocIterator(DocIterator(pi))
-{}
-
-
 ParIterator & ParIterator::operator++()
 {
        forwardPar();
@@ -76,7 +69,7 @@ ParIterator & ParIterator::operator--()
 
 Paragraph & ParIterator::operator*() const
 {
-       return const_cast<Paragraph&>(text()->getPar(pit()));
+       return text()->getPar(pit());
 }
 
 
@@ -88,7 +81,7 @@ pit_type ParIterator::pit() const
 
 Paragraph * ParIterator::operator->() const
 {
-       return const_cast<Paragraph*>(&text()->getPar(pit()));
+       return &text()->getPar(pit());
 }
 
 
@@ -100,23 +93,15 @@ pit_type ParIterator::outerPar() const
 
 ParagraphList & ParIterator::plist() const
 {
-       return const_cast<ParagraphList&>(text()->paragraphs());
+       return text()->paragraphs();
 }
 
 
-///
-/// ParConstIterator
-///
-
-
-ParConstIterator::ParConstIterator(DocIterator const & dit)
-       : DocIterator(dit)
-{}
-
-
-ParConstIterator::ParConstIterator(ParConstIterator const & pi)
-       : DocIterator(DocIterator(pi))
-{}
+//////////////////////////////////////////////////////////////////////////
+//
+// ParConstIterator
+//
+//////////////////////////////////////////////////////////////////////////
 
 
 void ParConstIterator::push_back(Inset const & inset)
@@ -152,8 +137,7 @@ ParagraphList const & ParConstIterator::plist() const
 #if 0
 bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2)
 {
-       // FIXME: this makes two full copies!
-       return DocIterator(iter1) == DocIterator(iter2);
+       return static_cast<DocIterator const &>(iter1) == static_cast<DocIterator const &>(iter2);
 }
 
 
@@ -164,18 +148,4 @@ bool operator!=(ParConstIterator const & iter1, ParConstIterator const & iter2)
 #endif
 
 
-// FIXME: const correctness!
-
-ParConstIterator par_const_iterator_begin(Inset const & inset)
-{
-       return ParConstIterator(doc_iterator_begin(const_cast<Inset &>(inset)));
-}
-
-
-ParConstIterator par_const_iterator_end(Inset const & inset)
-{
-       return ParConstIterator(doc_iterator_end(const_cast<Inset &>(inset)));
-}
-
-
 } // namespace lyx