#include "GeneratingAccessor.hpp"
#include <vector>
#include <iostream>

struct Test
{
    GeneratingAccessor<std::vector<int>> indices;

    std::vector<int> intNitialiser() // very good pun
    {
        std::cout << "test" << std::endl;
        return {1, 2, 3};
    }

    Test() : indices([this](){return this->intNitialiser();})
    {
    }
};

int main()
{
    Test t;
    std::vector<int> i = t.indices;
    std::vector<int> j = t.indices;

    std::cout << i[0] << i[1] << i[2] << std::endl;
    std::cout << j[0] << j[1] << j[2] << std::endl;
}
