title: Ada unconstrained type
body: <p>Hello Im new to ada and I am trying to create some kind of unconstrained array and I can't figure out how to do it in ada.</p>
  
  <pre><code>package data_puzzle is
      type rotation is private;
      type map(x_l,y_l,z_l : Natural) is private;
      type valid_rotations is private;
  private
      type rotation is array(1..3) of Natural; 
      type map(x_l,y_l,z_l : Natural) is record
          struct : Structure(x_l,y_l,z_l);
          rot : rotation;
      end record;
  
      type valid_rotations is array(1..24) of map; --how can I make this row work?
  end data_puzzle;
  </code></pre>
  
  <p>Structure looks like this</p>
  
  <pre><code>type structure(x_l,y_l,z_l : Natural) is record
      structure : xyz(1..x_l,1..y_l,1..z_l);
      X : Natural := x_l;
      Y : Natural := y_l;
      Z : Natural := z_l;
  end record;
  </code></pre>
  
  <p>Basically I have a map with rotations and data. Then I want to store all the different rotations in a list of size 24. The only solution I have right now is to initiate
  type valid_rotations is array(1..24) of map(x,y,z) then it works. But I do not want to initiate it like that since I do not know what the size will be at that moment.</p>
  
  <p>Cheers!</p>