#include "Stroika/Foundation/StroikaPreComp.h"#include <limits>#include <optional>#include <type_traits>#include "Stroika/Foundation/Characters/String.h"#include "Stroika/Foundation/Characters/ToString.h"#include "Stroika/Foundation/Common/Common.h"#include "Stroika/Foundation/Common/TemplateUtilities.h"#include "Stroika/Foundation/Traversal/Common.h"#include "Range.inl"Go to the source code of this file.
Namespaces | |
| namespace | Stroika::Foundation |
| namespace | Stroika::Foundation::Traversal::RangeTraits |
Concepts | |
| concept | Stroika::Foundation::Traversal::IRangeable |
| requirements for 'T' to use Range<T>. | |
| concept | Stroika::Foundation::Traversal::IRangeableTraits |
| concept | Stroika::Foundation::Traversal::IAdvanceAndRetreatable |
| requirements for 'T' to use Range<T>. | |
Functions | |
| template<IRangeable T, IRangeableTraits< T > TRAITS> | |
| constexpr Range< T, TRAITS > | Stroika::Foundation::Traversal::operator+ (const T &lhs, const Range< T, TRAITS > &rhs) |
| template<IRangeable T, IRangeableTraits< T > TRAITS> | |
| constexpr Range< T, TRAITS > | Stroika::Foundation::Traversal::operator* (const T &lhs, const Range< T, TRAITS > &rhs) |
| template<IRangeable T, IRangeableTraits< T > TRAITS> | |
| constexpr Range< T, TRAITS > | Stroika::Foundation::Traversal::operator^ (const Range< T, TRAITS > &lhs, const Range< T, TRAITS > &rhs) |
Design Note This module was inspired by Ruby Range class, but in the end, it was mostly based on HealthFrame's DateRangeType/DateTimeRangeType code.
This notion of 'range' has VERY LITTLE todo with the std::range feature (which is more like Stroika 'Iterable')
TODO:
Definition in file Range.h.
|
constexpr |
|
constexpr |
|
constexpr |
Alias for lhs.Intersection (rhs)