1#ifndef ENTT_CORE_ITERATOR_HPP
2#define ENTT_CORE_ITERATOR_HPP
15template<
typename Type>
36 return std::addressof(value);
55template<
typename Type>
57 static_assert(std::is_integral_v<Type>,
"Not an integral type");
87 return ++current, *
this;
96 return ++(*this),
orig;
118template<
typename Type>
130template<
typename Type>
140template<
typename It,
typename Sentinel = It>
143 using value_type =
typename std::iterator_traits<It>::value_type;
Plain iota iterator (waiting for C++20).
constexpr iota_iterator(const value_type init) noexcept
Constructs an iota iterator from a given value.
std::ptrdiff_t difference_type
Difference type.
constexpr iota_iterator operator++(int) noexcept
Post-increment operator.
constexpr reference operator*() const noexcept
Dereference operator.
value_type reference
Non-reference type, same as value type.
std::input_iterator_tag iterator_category
Iterator category.
constexpr iota_iterator & operator++() noexcept
Pre-increment operator.
void pointer
Invalid pointer type.
constexpr iota_iterator() noexcept
Default constructor.
Type value_type
Value type, likely an integral one.
constexpr Type make_obj_using_allocator(const Allocator &allocator, Args &&...args)
Uses-allocator construction utility (waiting for C++20).
constexpr bool operator!=(const basic_hashed_string< Char > &lhs, const basic_hashed_string< Char > &rhs) noexcept
Compares two hashed strings.
constexpr bool operator==(const basic_hashed_string< Char > &lhs, const basic_hashed_string< Char > &rhs) noexcept
Compares two hashed strings.
Utility class to create an iterable object from a pair of iterators.
constexpr sentinel cend() const noexcept
Returns an iterator to the end.
constexpr iterable_adaptor(iterator from, sentinel to) noexcept(std::is_nothrow_move_constructible_v< iterator > &&std::is_nothrow_move_constructible_v< sentinel >)
Creates an iterable object from a pair of iterators.
It iterator
Iterator type.
Sentinel sentinel
Sentinel type.
constexpr iterator cbegin() const noexcept
Returns an iterator to the beginning.
constexpr sentinel end() const noexcept
Returns an iterator to the end.
typename std::iterator_traits< It >::value_type value_type
Value type.
constexpr iterable_adaptor() noexcept(std::is_nothrow_default_constructible_v< iterator > &&std::is_nothrow_default_constructible_v< sentinel >)
Default constructor.
constexpr iterator begin() const noexcept
Returns an iterator to the beginning.