boost/flyweight/detail/perfect_fwd.hpp
/* Copyright 2006-2008 Joaquin M Lopez Munoz.
* 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)
*
* See http://www.boost.org/libs/flyweight for library home page.
*/
/* Brute force implementation of perfect forwarding overloads.
* Usage: include after having defined the argument macros:
* BOOST_FLYWEIGHT_PERFECT_FWD_NAME
* BOOST_FLYWEIGHT_PERFECT_FWD_BODY
*/
/* This user_definable macro limits the maximum number of arguments to
* be perfect forwarded. Beware combinatorial explosion: manual perfect
* forwarding for n arguments produces 2^n distinct overloads.
*/
#if !defined(BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS)
#define BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS 5
#endif
#if BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS<=5
#include <boost/flyweight/detail/pp_perfect_fwd.hpp>
#else
#include <boost/flyweight/detail/dyn_perfect_fwd.hpp>
#endif