История изменений
      
        Исправление
      MOPKOBKA,
      
        (текущая версия)
      :
    
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
    std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
    auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
    for (int i : r) {
        std::cout << i << "\n"; // 8 7 9
    }
}
Потому что если суть в разнородной структуре входных данных, то непонятно зачем тут mapcar. Начинать надо с того, как эту структуру хранить, я бы сказал что не надо хранить неопределенную по типу структуру вовсе. Если нужна реально динамика, то она строится поверх статики со своими правилами. Так же и в DB есть строгая таблица но можно перейти к EAV если очень нужно. Думаю работа с таблицами тебе более понятна по роду деятельности, или они тоже динамические у тебя?
      
        Исправление
      MOPKOBKA,
      :
    
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
    std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
    auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
    for (int i : r) {
        std::cout << i << "\n"; // 8 7 9
    }
}
Потому что если суть в разнородной структуре входных данных, то непонятно зачем тут mapcar. Начинать надо с того, как эту структуру хранить, я бы сказал что не надо хранить неопределенную по типу структуру вовсе. Если нужна реально динамика, то она строится поверх статики со своими правилами. Так же и в DB есть строгая таблица но можно перейти к EAV если очень нужно.
      
        Исправление
      MOPKOBKA,
      :
    
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
    std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
    auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
    for (int i : r) {
        std::cout << i << "\n"; // 8 7 9
    }
}
Потому что если суть в разнородной структуре входных данных, то непонятно зачем тут mapcar. Начинать надо с того, как эту структуру хранить, я бы сказал что не надо хранить неопределенную по типу структуру вовсе.
      
        Исправление
      MOPKOBKA,
      :
    
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
    std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
    auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
    for (int i : r) {
        std::cout << i << "\n"; // 8 7 9
    }
}
Потому что если суть в разнородной структуре входных данных, то непонятно зачем тут mapcar.
      
        Исправление
      MOPKOBKA,
      :
    
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
    std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
    auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
    for (int i : r) {
        std::cout << i << "\n"; // 8 7 9
    }
}
      
        Исходная версия
      MOPKOBKA,
      :
    
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
    std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
    auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
    for (int i : r) {
        std::cout << i << "\n"; // 8 7 9
    }
}