Skip to content

Commit f438578

Browse files
committed
Rename IteratorImpl to IteratorBase
Now that the old IteratorBase is gone.
1 parent ac6fa74 commit f438578

File tree

20 files changed

+73
-76
lines changed

20 files changed

+73
-76
lines changed

subdoc/lib/path.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ inline clang::NamespaceDecl* find_nearest_namespace(
8383
namespace __private {
8484

8585
class RecordIter final
86-
: public sus::iter::IteratorImpl<RecordIter, std::string_view> {
86+
: public sus::iter::IteratorBase<RecordIter, std::string_view> {
8787
public:
8888
static RecordIter with(clang::RecordDecl* decl) noexcept {
8989
return RecordIter(decl);
@@ -128,7 +128,7 @@ inline auto iter_record_path(clang::RecordDecl* decl) {
128128
namespace __private {
129129

130130
class NamespaceIter final
131-
: public sus::iter::IteratorImpl<NamespaceIter, Namespace> {
131+
: public sus::iter::IteratorBase<NamespaceIter, Namespace> {
132132
public:
133133
static NamespaceIter with(clang::Decl* decl) noexcept {
134134
return NamespaceIter(decl);

subspace/containers/__private/array_iter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class Array;
3232

3333
template <::sus::mem::Move ItemT, size_t N>
3434
struct ArrayIntoIter final
35-
: public ::sus::iter::IteratorImpl<ArrayIntoIter<ItemT, N>, ItemT> {
35+
: public ::sus::iter::IteratorBase<ArrayIntoIter<ItemT, N>, ItemT> {
3636
public:
3737
using Item = ItemT;
3838

subspace/containers/__private/slice_iter.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class Slice;
3434

3535
template <class ItemT>
3636
struct [[sus_trivial_abi]] SliceIter final
37-
: public ::sus::iter::IteratorImpl<SliceIter<ItemT>, ItemT> {
37+
: public ::sus::iter::IteratorBase<SliceIter<ItemT>, ItemT> {
3838
public:
3939
using Item = ItemT;
4040

@@ -104,7 +104,7 @@ struct [[sus_trivial_abi]] SliceIter final
104104

105105
template <class ItemT>
106106
struct [[sus_trivial_abi]] SliceIterMut final
107-
: public ::sus::iter::IteratorImpl<SliceIterMut<ItemT>, ItemT> {
107+
: public ::sus::iter::IteratorBase<SliceIterMut<ItemT>, ItemT> {
108108
public:
109109
using Item = ItemT;
110110

subspace/containers/__private/vec_iter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Vec;
3131

3232
template <class ItemT>
3333
struct VecIntoIter final
34-
: public ::sus::iter::IteratorImpl<VecIntoIter<ItemT>, ItemT> {
34+
: public ::sus::iter::IteratorBase<VecIntoIter<ItemT>, ItemT> {
3535
public:
3636
using Item = ItemT;
3737

subspace/iter/__private/into_iterator_archetype.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ class Option;
2323

2424
namespace sus::iter {
2525
template <class SubclassT, class ItemT>
26-
class IteratorImpl;
26+
class IteratorBase;
2727
} // namespace sus::iter
2828

2929
namespace sus::iter::__private {
3030

3131
template <class T>
3232
struct IntoIteratorArchetype {
3333
template <class Item>
34-
struct Iter final : public IteratorImpl<Iter<Item>, Item> {
34+
struct Iter final : public IteratorBase<Iter<Item>, Item> {
3535
::sus::option::Option<Item> next() noexcept {
3636
return ::sus::option::Option<Item>::none();
3737
}

subspace/iter/boxed_iterator.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
namespace sus::iter {
2424

2525
template <class Iter, class Item>
26-
class IteratorImpl;
26+
class IteratorBase;
2727

2828
/// A BoxedIterator wraps another Iterator but pushes it onto the heap.
2929
///
@@ -35,7 +35,7 @@ class IteratorImpl;
3535
template <class ItemT, size_t SubclassSize, size_t SubclassAlign,
3636
bool DoubleEnded>
3737
class [[nodiscard]] [[sus_trivial_abi]] BoxedIterator final
38-
: public IteratorImpl<
38+
: public IteratorBase<
3939
BoxedIterator<ItemT, SubclassSize, SubclassAlign, DoubleEnded>,
4040
ItemT> {
4141
public:
@@ -44,10 +44,10 @@ class [[nodiscard]] [[sus_trivial_abi]] BoxedIterator final
4444
template <::sus::mem::Move Iter>
4545
static BoxedIterator with(Iter&& iter) noexcept
4646
requires(
47-
::sus::convert::SameOrSubclassOf<Iter*, IteratorImpl<Iter, Item>*> &&
47+
::sus::convert::SameOrSubclassOf<Iter*, IteratorBase<Iter, Item>*> &&
4848
!::sus::mem::relocate_by_memcpy<Iter>)
4949
{
50-
// IteratorImpl also checks this. It's needed for correctness of the move
50+
// IteratorBase also checks this. It's needed for correctness of the move
5151
// onto the heap.
5252
static_assert(std::is_final_v<Iter>);
5353

subspace/iter/empty.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ namespace sus::iter {
2222
/// An Iterator that never returns an `Item`.
2323
template <class ItemT>
2424
class [[nodiscard]] [[sus_trivial_abi]] Empty final
25-
: public IteratorImpl<Empty<ItemT>, ItemT> {
25+
: public IteratorBase<Empty<ItemT>, ItemT> {
2626
public:
2727
using Item = ItemT;
2828

subspace/iter/filter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ using ::sus::mem::relocate_by_memcpy;
2626

2727
template <class InnerSizedIter>
2828
class [[nodiscard]] [[sus_trivial_abi]] Filter final
29-
: public IteratorImpl<Filter<InnerSizedIter>,
29+
: public IteratorBase<Filter<InnerSizedIter>,
3030
typename InnerSizedIter::Item> {
3131
using Pred = ::sus::fn::FnMut<bool(
3232
// TODO: write a sus::const_ref<T>?

subspace/iter/iterator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include "subspace/iter/iterator_concept.h"
2121

2222
// Once is included here, because there is a cycle between:
23-
// * Option->Once->IteratorImpl->Option
23+
// * Option->Once->IteratorBase->Option
2424
// * Result->Iterator->usize->Result
2525
// So Option and Result can't include Once or Iterator directly. But as long
2626
// as the user includes "iterator.h" they should be able to use the iterators on

subspace/iter/iterator_concept.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Option;
3131
namespace sus::iter {
3232

3333
template <class Iter, class Item>
34-
class IteratorImpl;
34+
class IteratorBase;
3535

3636
/// A concept for all implementations of iterators.
3737
///
@@ -44,7 +44,7 @@ class IteratorImpl;
4444
///
4545
/// Types that satisfy this concept can be used in for loops and provide
4646
/// all the methods of an iterator type, which are found in
47-
/// `sus::iter::IteratorImpl`.
47+
/// `sus::iter::IteratorBase`.
4848
///
4949
/// Any Iterator's full definition includes a number of other methods as well,
5050
/// built on top of next, and so you get them for free.
@@ -57,9 +57,9 @@ concept Iterator = requires(T& t) {
5757
requires(!std::is_void_v<typename std::decay_t<T>::Item>);
5858
// The T::Item matches the concept input.
5959
requires(std::same_as<typename std::decay_t<T>::Item, Item>);
60-
// Subclasses from IteratorImpl<T, T::Item>.
60+
// Subclasses from IteratorBase<T, T::Item>.
6161
requires ::sus::convert::SameOrSubclassOf<
62-
std::decay_t<T>*, IteratorImpl<std::decay_t<T>, Item>*>;
62+
std::decay_t<T>*, IteratorBase<std::decay_t<T>, Item>*>;
6363
// Required methods.
6464
{ t.next() } noexcept -> std::same_as<::sus::option::Option<Item>>;
6565
};

0 commit comments

Comments
 (0)