Chris@16: /* Copyright 2006-2008 Joaquin M Lopez Munoz. Chris@16: * Distributed under the Boost Software License, Version 1.0. Chris@16: * (See accompanying file LICENSE_1_0.txt or copy at Chris@16: * http://www.boost.org/LICENSE_1_0.txt) Chris@16: * Chris@16: * See http://www.boost.org/libs/flyweight for library home page. Chris@16: */ Chris@16: Chris@16: /* Brute force implementation of perfect forwarding overloads. Chris@16: * Usage: include after having defined the argument macros: Chris@16: * BOOST_FLYWEIGHT_PERFECT_FWD_NAME Chris@16: * BOOST_FLYWEIGHT_PERFECT_FWD_BODY Chris@16: */ Chris@16: Chris@16: /* This user_definable macro limits the maximum number of arguments to Chris@16: * be perfect forwarded. Beware combinatorial explosion: manual perfect Chris@16: * forwarding for n arguments produces 2^n distinct overloads. Chris@16: */ Chris@16: Chris@16: #if !defined(BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS) Chris@16: #define BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS 5 Chris@16: #endif Chris@16: Chris@16: #if BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS<=5 Chris@16: #include Chris@16: #else Chris@16: #include Chris@16: #endif