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
Namespaces | Concepts | Typedefs
ranges.hxx File Reference
#include <StormByte/type_traits/categories.hxx>
#include <StormByte/type_traits/conversions.hxx>
#include <cstddef>
#include <iterator>
#include <ranges>
Include dependency graph for ranges.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  StormByte
 Root namespace of the StormByte suite.
 
namespace  StormByte::Type
 Named concepts and small type utilities used across the suite.
 

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.