libQuotient
A Qt library for building matrix clients
ranges_extras.h File Reference
#include <ranges>
Include dependency graph for ranges_extras.h:

Go to the source code of this file.

Namespaces

 Quotient
 

Typedefs

template<std::indirectly_readable IterT, std::indirectly_regular_unary_invocable< std::iter_reference_t< IterT >> Proj>
using Quotient::IndirectlyProjected = std::projected< std::iter_reference_t< IterT >, Proj >
 Same as std::projected but Proj is checked against the reference under the iterator. More...
 

Functions

template<std::input_iterator IterT, typename ValT , typename Proj = std::identity>
requires constexpr std::indirect_binary_predicate< std::ranges::equal_to, IndirectlyProjected< IterT, Proj >, const ValT * > auto Quotient::findIndirect (IterT from, IterT to, const ValT &value, Proj proj={})
 Find a value in a container of (smart) pointers. More...
 
template<typename RangeT , typename ValT , typename Proj = std::identity>
requires constexpr std::indirect_binary_predicate< std::ranges::equal_to, IndirectlyProjected< std::ranges::iterator_t< RangeT >, Proj >, const ValT * > auto Quotient::findIndirect (RangeT &&range, const ValT &value, Proj proj={})
 The overload of findIndirect for ranges. More...