#include <iostream>
#include <vector>
using namespace std;

struct cmStateSnapshot {
	int i;
	cmStateSnapshot(int i) : i(i) { }
	std::vector<cmStateSnapshot> GetChildren() {
		return {1, 2, 3, 4, 5, 6};
	}
};

struct Lg {
	cmStateSnapshot GetStateSnapshot() const {
		return {1};
	}
};

int main() {
	Lg* lg = new Lg;
	for (cmStateSnapshot const& state : lg->GetStateSnapshot().GetChildren()) {
      std::cout << state.i << std::endl;
    }
}