2002-10-03 22:13:37 +00:00
< html >
2011-06-26 13:07:20 +00:00
< head >
< title > BOOST_PP_TUPLE_ELEM</ title >
2002-10-03 22:13:37 +00:00
< link rel = "stylesheet" type = "text/css" href = "../styles.css" >
2011-06-26 13:07:20 +00:00
</ head >
< body >
< div style = "margin-left: 0px;" >
2002-10-03 22:13:37 +00:00
The < b > BOOST_PP_TUPLE_ELEM</ b > macro extracts an element from a < i > tuple</ i > .
</ div >
< h4 > Usage</ h4 >
< div class = "code" >
2011-06-26 13:07:20 +00:00
< b > BOOST_PP_TUPLE_ELEM</ b > (< i > size</ i > , < i > i</ i > , < i > tuple</ i > )< sup ></ sup >< br >
< br >
or< br >
< br >
2013-04-14 01:46:09 +00:00
< b > BOOST_PP_TUPLE_ELEM</ b > (< i > ...</ i > ) < a href = "../topics/variadic_macros.html#VNotation" target = "_self" >< sup > (v)</ sup ></ a >< b ></ b >< br >
2011-06-26 13:07:20 +00:00
</ div >
2002-10-03 22:13:37 +00:00
< h4 > Arguments</ h4 >
< dl >
< dt > size</ dt >
< dd >
The size of the < i > tuple</ i > .
2011-06-26 13:07:20 +00:00
Valid < i > tuple</ i > sizes range from < i > 1</ i > to < b > BOOST_PP_LIMIT_TUPLE</ b > .
2002-10-03 22:13:37 +00:00
</ dd >
< dt > i</ dt >
< dd >
The zero-based index into the < i > tuple</ i > of the element to be extracted.
Valid values range from < i > 0</ i > to < i > size</ i > - < i > 1</ i > .
</ dd >
< dt > tuple</ dt >
< dd >
The < i > tuple</ i > from which an element is to be extracted.
</ dd >
</ dl >
< h4 > Remarks</ h4 >
< div >
The < i > size</ i > argument must be the actual size of the < i > tuple</ i > ,
2011-06-26 13:07:20 +00:00
and < i > i</ i > must be less than the size of the < i > tuple</ i > . < br >
< br > You can
invoke the variadic version as BOOST_PP_TUPLE_ELEM(< i > i</ i > ,< i > tuple</ i > ) or
BOOST_PP_TUPLE_ELEM(< i > size</ i > ,< i > i</ i > ,< i > tuple</ i > ).
2002-10-03 22:13:37 +00:00
</ div >
< h4 > See Also</ h4 >
< ul >
< li >< a href = "limit_tuple.html" > BOOST_PP_LIMIT_TUPLE</ a ></ li >
</ ul >
< h4 > Requirements</ h4 >
< div >
2004-10-11 06:58:45 +00:00
< b > Header:</ b > < a href = "../headers/tuple/elem.html" > < boost/preprocessor/tuple/elem.hpp> </ a >
2002-10-03 22:13:37 +00:00
</ div >
< h4 > Sample Code</ h4 >
2013-04-14 01:46:09 +00:00
< div >< pre > #include < < a href = "../headers/tuple/elem.html" > boost/preprocessor/tuple/elem.hpp</ a > > < br >< br > #define TUPLE (a, b, c, d)< br >< br >< a href = "tuple_elem.html" > BOOST_PP_TUPLE_ELEM</ a > (4, 0, TUPLE) // expands to a< br >< a href = "tuple_elem.html" > BOOST_PP_TUPLE_ELEM</ a > (4, 3, TUPLE) // expands to d< br >< br > // or for the variadic version < a href = "../topics/variadic_macros.html#VNotation" target = "_self" >< sup > (v)</ sup ></ a >< br >< br >< a href = "file:///C:/Programming/VersionControl/sandbox/variadics/libs/preprocessor/doc/ref/tuple_elem.html" > BOOST_PP_TUPLE_ELEM</ a > (0, TUPLE) // expands to a in the variadic version< br >< a href = "file:///C:/Programming/VersionControl/sandbox/variadics/libs/preprocessor/doc/ref/tuple_elem.html" > BOOST_PP_TUPLE_ELEM</ a > (3, TUPLE) // expands to d in the variadic version< br ></ pre ></ div >
2006-07-23 20:45:18 +00:00
< hr size = "1" >
< div style = "margin-left: 0px;" >
< i > © Copyright < a href = "http://www.housemarque.com" target = "_top" > Housemarque Oy</ a > 2002</ i >
2011-06-26 13:07:20 +00:00
< br >< i > © Copyright Paul Mensonides 2002< br >
2013-04-14 01:46:09 +00:00
</ i >< i > © Copyright Edward Diener 2011,2013</ i >< br >
2006-07-23 20:45:18 +00:00
</ div >
< div style = "margin-left: 0px;" >
< p >< small > Distributed under the Boost Software License, Version 1.0. (See
2006-07-26 01:19:35 +00:00
accompanying file < a href = "../../../../LICENSE_1_0.txt" > LICENSE_1_0.txt</ a > or
2011-06-26 13:07:20 +00:00
copy at < a href = "http://www.boost.org/LICENSE_1_0.txt" > www.boost.org/LICENSE_1_0.txt</ a > )</ small ></ p >
2006-07-23 20:45:18 +00:00
</ div >
2011-06-26 13:07:20 +00:00
</ body >
</ html >