68 template <
typename String>
69 inline explicit Splitter( String&& str,
char delimiter )
noexcept;
156 inline std::string_view operator*() const noexcept;
179 inline
bool operator==( const
Iterator& other ) const noexcept;
186 inline
bool operator!=( const
Iterator& other ) const noexcept;
193 const
Splitter* m_splitter{
nullptr };
196 bool m_isAtEnd{
true };
200 std::string_view m_str;
219 template <
typename String>
223#include "nfx/detail/string/Splitter.inl"
Splitter splitView(String &&str, char delimiter) noexcept
Templated factory function for zero-copy string splitting.
Zero-allocation string splitting iterator for performance-critical paths.
Splitter(String &&str, char delimiter) noexcept
Constructs a Splitter for the given string and delimiter.
Iterator end() const noexcept
Returns end iterator for range-based loops.
Iterator begin() const noexcept
Returns iterator to first segment.
Forward iterator for string segments.
std::string_view reference
Reference type returned by dereferencing.
std::string_view value_type
Type of values returned by dereferencing the iterator.
const std::string_view * pointer
Pointer type to the value_type.
std::ptrdiff_t difference_type
Type for representing distances between iterators.
Iterator() noexcept=default
Default constructor.
std::forward_iterator_tag iterator_category
Iterator category tag.