File indexing completed on 2024-03-24 17:26:36
0001 /* 0002 This file is part of the Okteta Core library, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2009 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "bookmarklistconstiteratoradapter.hpp" 0010 0011 // lib 0012 #include "bookmarklist.hpp" 0013 0014 namespace Okteta { 0015 0016 BookmarkListConstIteratorAdapter::BookmarkListConstIteratorAdapter(const BookmarkList& list) 0017 : mIterator(list) 0018 { 0019 } 0020 0021 BookmarkListConstIteratorAdapter::~BookmarkListConstIteratorAdapter() = default; 0022 0023 bool BookmarkListConstIteratorAdapter::hasNext() const { return mIterator.hasNext(); } 0024 bool BookmarkListConstIteratorAdapter::hasPrevious() const { return mIterator.hasPrevious(); } 0025 const Bookmark& BookmarkListConstIteratorAdapter::peekNext() const { return mIterator.peekNext(); } 0026 const Bookmark& BookmarkListConstIteratorAdapter::peekPrevious() const { return mIterator.peekPrevious(); } 0027 0028 bool BookmarkListConstIteratorAdapter::findNext(const Bookmark& bookmark) { return mIterator.findNext(bookmark); } 0029 bool BookmarkListConstIteratorAdapter::findPrevious(const Bookmark& bookmark) { return mIterator.findPrevious(bookmark); } 0030 0031 bool BookmarkListConstIteratorAdapter::findNextFrom(Address offset) 0032 { 0033 bool result = false; 0034 0035 mIterator.toFront(); 0036 while (mIterator.hasNext()) { 0037 if (offset <= mIterator.peekNext().offset()) { 0038 result = true; 0039 break; 0040 } 0041 next(); 0042 } 0043 0044 return result; 0045 } 0046 0047 bool BookmarkListConstIteratorAdapter::findPreviousFrom(Address offset) 0048 { 0049 bool result = false; 0050 0051 mIterator.toBack(); 0052 while (mIterator.hasPrevious()) { 0053 if (mIterator.peekPrevious().offset() <= offset) { 0054 result = true; 0055 break; 0056 } 0057 previous(); 0058 } 0059 0060 return result; 0061 } 0062 0063 const Bookmark& BookmarkListConstIteratorAdapter::next() { return mIterator.next(); } 0064 const Bookmark& BookmarkListConstIteratorAdapter::previous() { return mIterator.previous(); } 0065 0066 void BookmarkListConstIteratorAdapter::toBack() { mIterator.toBack(); } 0067 void BookmarkListConstIteratorAdapter::toFront() { mIterator.toFront(); } 0068 0069 }