suppose I have a bunch of two dimensional arrays of type bool[4][4] like this:
class A
{
public:
static const int SIZE = 4;
static constexpr bool blocks_S[SIZE][SIZE]={ {0,1,1,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}};
static constexpr bool blocks_SR[SIZE][SIZE] = { {1,1,0,0},
{0,1,1,0},
{0,0,0,0},
{0,0,0,0}};
static constexpr bool blocks_L[SIZE][SIZE] = { {0,0,1,0},
{1,1,1,0},
{0,0,0,0},
{0,0,0,0}};
static constexpr bool blocks_LR[SIZE][SIZE] = {{1,1,1,0},
{0,0,1,0},
{0,0,0,0},
{0,0,0,0}};
static constexpr bool blocks_Box[SIZE][SIZE] = {{1,1,0,0},
{1,1,0,0},
{0,0,0,0},
{0,0,0,0}};
static constexpr bool blocks_Bar[SIZE][SIZE] = {{1,1,1,1},
{0,0,0,0},
{0,0,0,0},
{0,0,0,0}};
};
and I want to make an array called block_types that holds a reference to all these two dimensional arrays so I can for example do: block_types[0] and recieve: blocks_S. how can I construct such an array (without using std::vector etc.) and what should be the type block_types? I tried auto and it picked up the wrong type.
auto block_types = { A::blocks_S, A::blocks_SR,
A::blocks_L, A::blocks_LR,
A::blocks_Box, A::blocks_Bar};
std::vector? Isstd::arrayfine?