An array is a data structure consisting of a two-element tuple.  The first element is the number of elements in the array.  The second element is another tuple of the elements in the array.  For example,
(3, (a, b, c)) an array of 3 elements--a, b, and c.
The primary strength of arrays is that they store their own size.  Because of this, access to elements does not require the size.  It only requires that an element exists at a certain index.
This allows macro parameters to be variable in size and allows data states to change size without the user explicitly keeping track of the size independently.
Elements of an array can be extracted with BOOST_PP_ARRAY_ELEM, an array's size can be extracted with BOOST_PP_ARRAY_SIZE, and an array can be converted to the more primitive tuple data structure with BOOST_PP_ARRAY_DATA.


Copyright Housemarque Oy 2002
Copyright Paul Mensonides 2002

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at