// // sentinel_iterator.h // iterator // // Created by Sam Jaffe on 3/30/23. // Copyright © 2023 Sam Jaffe. All rights reserved. // #pragma once #include #include namespace iterator { template class sentinel_iterator : public proxy> { public: using super_t = proxy>; using sentinel_type = sentinel_iterator; public: using super_t::super_t; bool at_end() const { return super_t::impl() == S(); } }; } MAKE_ITERATOR_FACADE_TYPEDEFS_T(::iterator::sentinel_iterator);