ext/ preprocessor/ seq/ cat.bi

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

Summary
ext/ preprocessor/ seq/ cat.biThis file is part of the <ext/Preprocessor> library API, and can be directly included by user programs.
LicenseCopyright © 2009, FreeBASIC Extended Library Development Group Copyright © 2002, Paul Mensonides
Macros
fbextPP_SeqCatexpands to a concatenation of all of the elements in the sequence seq.
FBEXT_PP_SEQ_CATis deprecated, use fbextPP_SeqCat instead.
fbextPP_SeqCatWithGlueexpands to the concatenation of all of the elements of the sequence seq, joined together by glue.

License

Copyright © 2009, 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_SeqCat

# define fbextPP_SeqCat(
   seq
) fbextPP_If(fbextPP_Dec(fbextPP_SeqSize(seq)), fbextPP_SeqCat_Multi, fbextPP_SeqCat_Single )(seq)

expands to a concatenation of all of the elements in the sequence seq.

For example, if seq is `(a)(b)(c)(d)`, then this macro expands to `abcd`.

FBEXT_PP_SEQ_CAT

# define FBEXT_PP_SEQ_CAT(seq) fbextPP_SeqCat(seq)

is deprecated, use fbextPP_SeqCat instead.

fbextPP_SeqCatWithGlue

# define fbextPP_SeqCatWithGlue(
   seq,
   glue
) FBEXT_PP_TUPLE_ELEM(2, 0, FBEXT_PP_SEQ_FOLDLEFT(fbextPP_SeqCatWithGlue_O, (FBEXT_PP_SEQ_HEAD(seq), glue), FBEXT_PP_SEQ_TAIL(seq)))

expands to the concatenation of all of the elements of the sequence seq, joined together by glue.

For example, if seq is `(a)(b)(c)(d)` and glue is `:`, then this macro expands to `a:b:c:d`

# define fbextPP_SeqCat(
   seq
) fbextPP_If(fbextPP_Dec(fbextPP_SeqSize(seq)), fbextPP_SeqCat_Multi, fbextPP_SeqCat_Single )(seq)
expands to a concatenation of all of the elements in the sequence seq.
# define FBEXT_PP_SEQ_CAT(seq) fbextPP_SeqCat(seq)
is deprecated, use fbextPP_SeqCat instead.
# define fbextPP_SeqCatWithGlue(
   seq,
   glue
) FBEXT_PP_TUPLE_ELEM(2, 0, FBEXT_PP_SEQ_FOLDLEFT(fbextPP_SeqCatWithGlue_O, (FBEXT_PP_SEQ_HEAD(seq), glue), FBEXT_PP_SEQ_TAIL(seq)))
expands to the concatenation of all of the elements of the sequence seq, joined together by glue.