ext/preprocessor/tuple/replace.bi

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

Summary
ext/preprocessor/tuple/replace.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_TupleReplaceexpands to a copy of tuple of size with the element value at index replaced with value.

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_TupleReplace

# define fbextPP_TupleReplace(
   size,
   index,
   tuple,
   value
) _fbextPP_TupleReplace__##size##__##index(value, fbextPP_TupleRemParens(size, tuple))

expands to a copy of tuple of size with the element value at index replaced with value.

For example, if size is `3`, index is `1`, tuple is `(a,b,c)` and value is `x`, then this macro expands to `(a,x,c)`.

Parameters

sizeis the count of elements in the tuple.
indexis the index of the element to replace.
tupleis the tuple which contains the element to replace.
valueis the new value to element.
# define fbextPP_TupleReplace(
   size,
   index,
   tuple,
   value
) _fbextPP_TupleReplace__##size##__##index(value, fbextPP_TupleRemParens(size, tuple))
expands to a copy of tuple of size with the element value at index replaced with value.