]> git.lyx.org Git - lyx.git/blobdiff - src/ParIterator.cpp
Fix compilation with msvc 2019
[lyx.git] / src / ParIterator.cpp
index aee7022b82fd2c84c8abc4d50f6795a267ef85fa..10de5f312dcea89b7beb6c6eb371e62e153f4120 100644 (file)
@@ -3,7 +3,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author unknown
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  *
  * Full author contact details are available in file CREDITS.
  */
 
 #include "ParIterator.h"
 
-#include "Paragraph.h"
-#include "LyXText.h"
+#include "CursorSlice.h"
+#include "Text.h"
 
 #include "insets/Inset.h"
 
 
 namespace lyx {
 
-///
-/// ParIterator
-///
+//////////////////////////////////////////////////////////////////////////
+//
+// ParIterator
+//
+//////////////////////////////////////////////////////////////////////////
 
-ParIterator::ParIterator(DocIterator const & cur) : DocIterator(cur)
-{}
 
-
-ParIterator par_iterator_begin(InsetBase & inset)
+ParIterator par_iterator_begin(Inset & inset)
 {
-       return ParIterator(doc_iterator_begin(inset));
+       return ParIterator(doc_iterator_begin(&inset.buffer(), &inset));
 }
 
 
-ParIterator par_iterator_end(InsetBase & 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();
@@ -66,9 +60,7 @@ ParIterator ParIterator::operator++(int)
 // should not be compiled/used. (Lgb)
 ParIterator & ParIterator::operator--()
 {
-#ifdef WITH_WARNINGS
-#warning look here
-#endif
+       // FIXME: look here
 //     DocIterator::backwardPar();
        return *this;
 }
@@ -77,7 +69,7 @@ ParIterator & ParIterator::operator--()
 
 Paragraph & ParIterator::operator*() const
 {
-       return const_cast<Paragraph&>(text()->getPar(pit()));
+       return text()->getPar(pit());
 }
 
 
@@ -89,7 +81,7 @@ pit_type ParIterator::pit() const
 
 Paragraph * ParIterator::operator->() const
 {
-       return const_cast<Paragraph*>(&text()->getPar(pit()));
+       return &text()->getPar(pit());
 }
 
 
@@ -101,46 +93,23 @@ pit_type ParIterator::outerPar() const
 
 ParagraphList & ParIterator::plist() const
 {
-       return const_cast<ParagraphList&>(text()->paragraphs());
-}
-
-
-bool operator==(ParIterator const & iter1, ParIterator const & iter2)
-{
-       return DocIterator(iter1) == DocIterator(iter2);
+       return text()->paragraphs();
 }
 
 
-bool operator!=(ParIterator const & iter1, ParIterator const & iter2)
-{
-       return !(iter1 == iter2);
-}
+//////////////////////////////////////////////////////////////////////////
+//
+// ParConstIterator
+//
+//////////////////////////////////////////////////////////////////////////
 
 
-DocIterator makeDocIterator(ParIterator const & par, pos_type pos)
+void ParConstIterator::push_back(Inset const & inset)
 {
-       DocIterator dit(par);
-       dit.pos() = pos;
-       return dit;
+       DocIterator::push_back(CursorSlice(const_cast<Inset &>(inset)));
 }
 
 
-
-///
-/// ParConstIterator
-///
-
-
-ParConstIterator::ParConstIterator(DocIterator const & dit)
-       : DocIterator(dit)
-{}
-
-
-ParConstIterator::ParConstIterator(ParConstIterator const & pi)
-       : DocIterator(DocIterator(pi))
-{}
-
-
 ParConstIterator & ParConstIterator::operator++()
 {
        DocIterator::forwardPar();
@@ -165,10 +134,10 @@ ParagraphList const & ParConstIterator::plist() const
        return text()->paragraphs();
 }
 
-
+#if 0
 bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2)
 {
-       return DocIterator(iter1) == DocIterator(iter2);
+       return static_cast<DocIterator const &>(iter1) == static_cast<DocIterator const &>(iter2);
 }
 
 
@@ -176,22 +145,7 @@ bool operator!=(ParConstIterator const & iter1, ParConstIterator const & iter2)
 {
        return !(iter1 == iter2);
 }
-
-
-#ifdef WITH_WARNINGS
-#warning const correctness!
 #endif
 
-ParConstIterator par_const_iterator_begin(InsetBase const & inset)
-{
-       return ParConstIterator(doc_iterator_begin(const_cast<InsetBase &>(inset)));
-}
-
-
-ParConstIterator par_const_iterator_end(InsetBase const & inset)
-{
-       return ParConstIterator(doc_iterator_end(const_cast<InsetBase &>(inset)));
-}
-
 
 } // namespace lyx