Extensions for STL iterators/ranges. More...
#include <memory>#include <utility>#include <iterator>#include <ranges>#include "concepts/util.h"Go to the source code of this file.
Classes | |
| class | cast_itr< CASTTYPE, ITR > |
| Cast iterator; cast the result after deferencing. More... | |
Namespaces | |
| namespace | bbm |
Typedefs | |
Iterable container type traits | |
| template<typename T > | |
| using | iterable_value_t = std::decay_t< decltype(*bbm::begin(std::declval< T >()))> |
Functions | |
Extensions of size, begin, and end to non-iterable types | |
| template<typename T > | |
| size_t | size (T &&t) |
| template<typename T > | |
| auto | begin (T &&t) |
| template<typename T > | |
| auto | cbegin (T &&t) |
| template<typename T > | |
| auto | end (T &&t) |
| template<typename T > | |
| auto | cend (T &&t) |
| template<typename T > | |
| using | is_cast_itr = bbm::detail::is_cast_itr_impl< std::decay_t< T > > |
| template<typename T > | |
| using | underlying_itr_t = typename bbm::detail::underlying_itr_impl< std::decay_t< T > >::type |
| template<typename T > | |
| constexpr bool | is_cast_itr_v = is_cast_itr<T>::value |
Extensions for STL iterators/ranges.