StormByte C++ Library 1.2.0
StormByte is a comprehensive, cross-platform C++ library aimed at easing system programming, configuration management, logging, and database handling tasks. This library provides a unified API that abstracts away the complexities and inconsistencies of different platforms (Windows, Linux).
Loading...
Searching...
No Matches
Concepts | Typedefs
Range and iterator concepts

Range and iterator predicates forwarding to the standard ranges library. More...

Concepts

concept  StormByte::Type::Range
 Valid range (std::ranges::range).
 
concept  StormByte::Type::InputRange
 Input range (std::ranges::input_range).
 
concept  StormByte::Type::OutputRange
 Output range for values of type T (std::ranges::output_range).
 
concept  StormByte::Type::ForwardRange
 Forward range (std::ranges::forward_range).
 
concept  StormByte::Type::BidirectionalRange
 Bidirectional range (std::ranges::bidirectional_range).
 
concept  StormByte::Type::RandomAccessRange
 Random-access range (std::ranges::random_access_range).
 
concept  StormByte::Type::ContiguousRange
 Contiguous range (std::ranges::contiguous_range).
 
concept  StormByte::Type::SizedRange
 Sized range (std::ranges::sized_range).
 
concept  StormByte::Type::CommonRange
 Common range (std::ranges::common_range).
 
concept  StormByte::Type::View
 Range view (std::ranges::view).
 
concept  StormByte::Type::BorrowedRange
 Borrowed range (std::ranges::borrowed_range).
 
concept  StormByte::Type::InputIterator
 Input iterator (std::input_iterator).
 
concept  StormByte::Type::OutputIterator
 Output iterator for values of type T (std::output_iterator).
 
concept  StormByte::Type::ForwardIterator
 Forward iterator (std::forward_iterator).
 
concept  StormByte::Type::BidirectionalIterator
 Bidirectional iterator (std::bidirectional_iterator).
 
concept  StormByte::Type::RandomAccessIterator
 Random-access iterator (std::random_access_iterator).
 
concept  StormByte::Type::ContiguousIterator
 Contiguous iterator (std::contiguous_iterator).
 
concept  StormByte::Type::SentinelFor
 Valid sentinel for an iterator (std::sentinel_for).
 
concept  StormByte::Type::SizedSentinelFor
 Sized sentinel for an iterator (std::sized_sentinel_for).
 
concept  StormByte::Type::ByteInputRange
 Input range whose scalar values can be explicitly converted to std::byte.
 
concept  StormByte::Type::ByteInputIterator
 Input iterator whose scalar values can be explicitly converted to std::byte.
 

Typedefs

template<Range R>
using StormByte::Type::RangeValue = std::ranges::range_value_t< R >
 Value type of a valid range.
 
template<Range R>
using StormByte::Type::RangeReference = std::ranges::range_reference_t< R >
 Reference type produced by a valid range.
 
template<Range R>
using StormByte::Type::RangeDifference = std::ranges::range_difference_t< R >
 Difference type associated with a valid range.
 
template<typename I >
using StormByte::Type::IteratorValue = std::iter_value_t< I >
 Value type associated with an iterator.
 

Detailed Description

Range and iterator predicates forwarding to the standard ranges library.

These concepts inspect their template arguments as written. Pass R& to preserve lvalue range semantics when needed.

Typedef Documentation

◆ IteratorValue

template<typename I >
using StormByte::Type::IteratorValue = typedef std::iter_value_t<I>

Value type associated with an iterator.

Template Parameters
IIterator type.

◆ RangeDifference

template<Range R>
using StormByte::Type::RangeDifference = typedef std::ranges::range_difference_t<R>

Difference type associated with a valid range.

Template Parameters
RRange type.

◆ RangeReference

template<Range R>
using StormByte::Type::RangeReference = typedef std::ranges::range_reference_t<R>

Reference type produced by a valid range.

Template Parameters
RRange type.

◆ RangeValue

template<Range R>
using StormByte::Type::RangeValue = typedef std::ranges::range_value_t<R>

Value type of a valid range.

Template Parameters
RRange type.