cortexlib
v0.2.0
|
Adapts a non-object iterator to an object iterator without changing its semantics. More...
#include <iterator>
#include <ranges>
#include <type_traits>
#include <utility>
Go to the source code of this file.
Classes | |
class | cxl::normal_iterator< Iterator, Container > |
Normal Iterator. More... | |
Namespaces | |
cxl | |
std | |
Functions | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | cxl::operator== (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base()==rhs.base())) -> bool |
Equality Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | cxl::operator== (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base()==rhs.base())) -> bool |
Equality Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | cxl::operator!= (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base() !=rhs.base())) -> bool |
Inequality Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | cxl::operator!= (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base() !=rhs.base())) -> bool |
Inequality Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | cxl::operator< (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base()< rhs.base())) -> bool |
Less-than Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | cxl::operator< (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base()< rhs.base())) -> bool |
Less-than Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | cxl::operator> (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base() > rhs.base())) -> bool |
Greater-than Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | cxl::operator> (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base() > rhs.base())) -> bool |
Greater-than Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | cxl::operator<= (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base()<=rhs.base())) -> bool |
Less-than-or-Equal Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | cxl::operator<= (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base()<=rhs.base())) -> bool |
Less-than-or-Equal Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | cxl::operator>= (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base() >=rhs.base())) -> bool |
Greater-than-or-Equal Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr bool | cxl::operator>= (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base() >=rhs.base())) -> bool |
Greater-than-or-Equal Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
normal_iterator< IterL, Container >::difference_type | cxl::operator- (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) |
Difference Operator Overload. More... | |
template<typename Iterator , typename Container > | |
normal_iterator< Iterator, Container >::difference_type | cxl::operator- (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) |
Difference Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | cxl::operator+ (typename normal_iterator< Iterator, Container >::difference_type n, const normal_iterator< Iterator, Container > &i) noexcept -> normal_iterator< Iterator, Container > |
Addition Operator Overload. More... | |
template<typename Container > | |
constexpr auto | cxl::make_normal_iterator (typename Container::iterator i) noexcept -> normal_iterator< typename Container::iterator, Container > |
Makes a new normal_iterator. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | cxl::make_normal_iterator (Iterator i) noexcept -> normal_iterator< Iterator, Container > |
Makes a new normal_iterators. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | std::iter_move (const cxl::normal_iterator< Iterator, Container > &i) noexcept(is_nothrow_copy_constructible_v< Iterator > &&noexcept(ranges::iter_move(declval< Iterator & >()))) -> iter_rvalue_reference_t< Iterator > |
rvalue cast More... | |
template<typename Iterator , std::indirectly_swappable< Iterator > Iter2, typename Container > | |
constexpr auto | std::iter_swap (const cxl::normal_iterator< Iterator, Container > &x, const cxl::normal_iterator< Iter2, Container > &y) noexcept(std::is_nothrow_copy_constructible_v< Iterator > &&std::is_nothrow_copy_constructible_v< Iter2 > &&noexcept(ranges::iter_swap(std::declval< Iterator & >(), std::declval< Iter2 & >()))) -> void |
Swaps iterator objects. More... | |
Adapts a non-object iterator to an object iterator without changing its semantics.
Author: Tyler Swann (tyler) .swa nn05@ gmai l.com
Header Version: v0.1.2
Date: 23-03-2023
License: MIT
Copyright: Copyright (c) 2022-2023