view DEPENDENCIES/generic/include/boost/flyweight/detail/perfect_fwd.hpp @ 64:6acf95ebd97d

Update tester subrepo
author Chris Cannam
date Mon, 22 Sep 2014 11:44:42 +0100
parents 2665513ce2d3
children c530137014c0
line wrap: on
line source
/* 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