A list is a simple cons-style list with a head and a tail.  The head of a list is an element, and the tail is either another list or BOOST_PP_NIL. For example,
(a, (b, (c, BOOST_PP_NIL))) a list of 3 elements--a, b, and c.
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.

A list can be empty and therefore have a size of 0. An empty list is represented by the notation BOOST_PP_NIL.

Elements of a list can be extracted with BOOST_PP_LIST_FIRST and BOOST_PP_LIST_REST


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