У меня есть карта, которую я буду sh возвращать с пролетом, как показано ниже
map<string, map<string, Struct>> map;
span<pair<string, map<string, Struct>>> s {map.begin(), map.end()};
, которая не компилируется с жалобой на отсутствие известного преобразования из map :: iterator в промежуток шаблонного типа. Я не уверен, почему это терпит неудачу, так как из того, что я понимаю, конструктор диапазона итератора должен разложить итератор карты (на пару>), а затем «скопировать» это. Что мне здесь не хватает?
Скомпилировано с clang8