Chris@16: # /* ************************************************************************** Chris@16: # * * Chris@16: # * (C) Copyright Paul Mensonides 2002. Chris@16: # * Distributed under the Boost Software License, Version 1.0. (See Chris@16: # * accompanying file LICENSE_1_0.txt or copy at Chris@16: # * http://www.boost.org/LICENSE_1_0.txt) Chris@16: # * * Chris@16: # ************************************************************************** */ Chris@16: # Chris@16: # /* See http://www.boost.org for most recent version. */ Chris@16: # Chris@16: # ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP Chris@16: # define BOOST_PREPROCESSOR_CONTROL_IIF_HPP Chris@16: # Chris@16: # include Chris@16: # Chris@16: # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() Chris@16: # define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f) Chris@16: # else Chris@16: # define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f)) Chris@16: # define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par Chris@16: # endif Chris@16: # Chris@16: # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() Chris@16: # define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f) Chris@16: # else Chris@16: # define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f)) Chris@16: # define BOOST_PP_IIF_II(id) id Chris@16: # endif Chris@16: # Chris@16: # define BOOST_PP_IIF_0(t, f) f Chris@16: # define BOOST_PP_IIF_1(t, f) t Chris@16: # Chris@16: # endif