38 template<
template<
typename,
typename>
class PairType,
typename BaseIt,
typename Key,
typename Value>
50 bool operator== (
const Iterator& other)
const {
return BaseIt_ == other.BaseIt_; }
51 bool operator!= (
const Iterator& other)
const {
return BaseIt_ != other.BaseIt_; }
72 template<
typename Iter,
typename BaseIter,
typename Assoc>
81 auto end ()
const {
return Iter {
End_ }; }
114 template<
template<
typename K,
typename V>
class PairType = std::pair,
typename Assoc>
115 auto Stlize (Assoc&& assoc)
117 using BaseIt = decltype (assoc.begin ());
121 decltype (BaseIt {}.key ()),
122 decltype (BaseIt {}.value ())
127 template<
template<
typename K,
typename V>
class PairType = std::pair,
typename Assoc>
130 using BaseIt = decltype (assoc.begin ());
134 std::decay_t<decltype (BaseIt {}.key ())>,
135 std::decay_t<decltype (BaseIt {}.value ())>