29 lines
967 B
C++
29 lines
967 B
C++
|
/* 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
|