ext/preprocessor/seq/elem.bi

This file is part of the <ext/Preprocessor> library API, and can be directly included by user programs.

Summary
ext/preprocessor/seq/elem.biThis file is part of the <ext/Preprocessor> library API, and can be directly included by user programs.
LicenseCopyright © 2007-2011, FreeBASIC Extended Library Development Group Copyright © 2002, Paul Mensonides
Macros
fbextPP_SeqElemExpands to the value of a certain element in a sequence.

License

Copyright © 2007-2011, FreeBASIC Extended Library Development Group Copyright © 2002, Paul Mensonides

Distributed under the Boost Software License, Version 1.0.  See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Distributed under the FreeBASIC Extended Library Group license.  See accompanying file LICENSE.txt or copy at http://code.google.com/p/fb-extended-lib/wiki/License

Macros

fbextPP_SeqElem

# define fbextPP_SeqElem(i,
seq) fbextPP_SeqElem__I(fbextPP_SeqElem__##i seq(__))

Expands to the value of a certain element in a sequence.

Parameters

iThe zero-based index of the element to retrieve, must be in the range 0 to FBEXT_PP_SEQ_SIZE(seq)-1.
seqA sequence.

Returns

The i th element in seq.

Example

# include "ext/preprocessor/seq/elem.bi"
# include "ext/preprocessor/stringize.bi"

# define SEQ (a)(b)(c)(d)

' Expands to "c"
# print FBEXT_PP_STRINGIZE(fbextPP_SeqElem(2, SEQ))
# define fbextPP_SeqElem(i,
seq) fbextPP_SeqElem__I(fbextPP_SeqElem__##i seq(__))
Expands to the value of a certain element in a sequence.