diff DEPENDENCIES/generic/include/boost/flyweight/detail/perfect_fwd.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children c530137014c0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DEPENDENCIES/generic/include/boost/flyweight/detail/perfect_fwd.hpp	Tue Aug 05 11:11:38 2014 +0100
@@ -0,0 +1,28 @@
+/* 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