Back to Arangodb

BOOST_PP_IDENTITY

3rdParty/boost/1.78.0/libs/preprocessor/doc/ref/identity.html

3.12.9.11.3 KB
Original Source

The BOOST_PP_IDENTITY macro expands to its argument when invoked.

Usage

BOOST_PP_IDENTITY (item)()

Arguments

item The result of the expansion.

Remarks

This macro is designed to be used with BOOST_PP_IF and BOOST_PP_IIF when only one of the clauses needs to be invoked.

See Also

Requirements

Header: <boost/preprocessor/facilities/identity.hpp>

Sample Code

#include <[boost/preprocessor/control/if.hpp](../headers/control/if.html)>
#include <[boost/preprocessor/facilities/empty.hpp](../headers/facilities/empty.html)>
#include <[boost/preprocessor/facilities/identity.hpp](../headers/facilities/identity.html)>

#define MACRO(n)[BOOST\_PP\_IF](if.html)(n,[BOOST\_PP\_IDENTITY](identity.html)(x),[BOOST\_PP\_EMPTY](empty.html))()

MACRO(0) // expands to nothing
MACRO(1) // expands to x

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 www.boost.org/LICENSE_1_0.txt)