// Copyright David Abrahams 2002. // 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) #ifndef IF_ELSE_DWA2002322_HPP # define IF_ELSE_DWA2002322_HPP # include namespace boost { namespace python { namespace detail { template struct elif_selected; template struct if_selected { template struct elif : elif_selected { }; template struct else_ { typedef T type; }; }; template struct elif_selected { # if !(defined(__MWERKS__) && __MWERKS__ <= 0x2407) template class then; # else template struct then : if_selected { }; # endif }; # if !(defined(__MWERKS__) && __MWERKS__ <= 0x2407) template template class elif_selected::then : public if_selected { }; # endif template struct if_ { template struct then : if_selected { }; }; struct if_unselected { template struct elif : if_ { }; template struct else_ { typedef U type; }; }; template <> struct if_ { template struct then : if_unselected { }; }; }}} // namespace boost::python::detail #endif // IF_ELSE_DWA2002322_HPP