From 28aaeb01faadacf35ca319b69b4394543709c866 Mon Sep 17 00:00:00 2001 From: Lorenzo Caminiti Date: Wed, 15 Feb 2012 00:35:55 +0000 Subject: [PATCH] Added LocalFunction examples. [SVN r77021] --- example/Jamfile.v2 | 74 +++++++++++ example/add_global_functor.cpp | 37 ++++++ example/add_local_functor.cpp | 35 +++++ example/add_phoenix.cpp | 35 +++++ example/chrono.py | 22 +++ example/const_block.cpp | 18 +++ example/const_block.hpp | 55 ++++++++ example/const_block_err.cpp | 20 +++ example/expensive_copy_lambda.cpp | 40 ++++++ example/expensive_copy_local_function.cpp | 32 +++++ example/gcc_access.cpp | 23 ++++ example/gcc_lambda.cpp | 38 ++++++ example/gcc_lambda.hpp | 125 ++++++++++++++++++ example/gcc_lambda_cpp11.cpp | 37 ++++++ example/gcc_square.cpp | 23 ++++ example/gcc_store.cpp | 33 +++++ example/impl_pp_keyword.cpp | 28 ++++ example/impl_tparam_tricks.cpp | 72 ++++++++++ example/n2529_this.cpp | 42 ++++++ example/n2550_find_if.cpp | 41 ++++++ example/noncopyable_lambda_err.cpp | 37 ++++++ example/noncopyable_local_function.cpp | 29 ++++ example/phoenix_factorial.cpp | 40 ++++++ example/phoenix_factorial_local.cpp | 31 +++++ example/profile.xls | Bin 0 -> 181248 bytes example/profile_gcc_cpp11_debug.png | Bin 0 -> 57983 bytes example/profile_gcc_cpp11_release.png | Bin 0 -> 61368 bytes example/profile_gcc_debug.png | Bin 0 -> 49476 bytes example/profile_gcc_release.png | Bin 0 -> 53334 bytes example/profile_global_functor.cpp | 51 +++++++ example/profile_helpers.hpp | 54 ++++++++ example/profile_lambda.cpp | 46 +++++++ example/profile_legend_global_functor.png | Bin 0 -> 205 bytes example/profile_legend_lambda.png | Bin 0 -> 207 bytes example/profile_legend_local_function.png | Bin 0 -> 206 bytes .../profile_legend_local_function_inline.png | Bin 0 -> 206 bytes example/profile_legend_local_functor.png | Bin 0 -> 205 bytes example/profile_legend_phoenix.png | Bin 0 -> 207 bytes example/profile_local_function.cpp | 45 +++++++ example/profile_local_function_inline.cpp | 45 +++++++ example/profile_local_functor.cpp | 50 +++++++ example/profile_msvc_debug.png | Bin 0 -> 48009 bytes example/profile_msvc_release.png | Bin 0 -> 56674 bytes example/profile_phoenix.cpp | 45 +++++++ example/scope_exit.cpp | 110 +++++++++++++++ example/scope_exit.hpp | 47 +++++++ 46 files changed, 1460 insertions(+) create mode 100644 example/Jamfile.v2 create mode 100644 example/add_global_functor.cpp create mode 100644 example/add_local_functor.cpp create mode 100644 example/add_phoenix.cpp create mode 100755 example/chrono.py create mode 100644 example/const_block.cpp create mode 100644 example/const_block.hpp create mode 100644 example/const_block_err.cpp create mode 100644 example/expensive_copy_lambda.cpp create mode 100644 example/expensive_copy_local_function.cpp create mode 100644 example/gcc_access.cpp create mode 100644 example/gcc_lambda.cpp create mode 100644 example/gcc_lambda.hpp create mode 100644 example/gcc_lambda_cpp11.cpp create mode 100644 example/gcc_square.cpp create mode 100644 example/gcc_store.cpp create mode 100644 example/impl_pp_keyword.cpp create mode 100644 example/impl_tparam_tricks.cpp create mode 100644 example/n2529_this.cpp create mode 100644 example/n2550_find_if.cpp create mode 100644 example/noncopyable_lambda_err.cpp create mode 100644 example/noncopyable_local_function.cpp create mode 100644 example/phoenix_factorial.cpp create mode 100644 example/phoenix_factorial_local.cpp create mode 100644 example/profile.xls create mode 100644 example/profile_gcc_cpp11_debug.png create mode 100644 example/profile_gcc_cpp11_release.png create mode 100644 example/profile_gcc_debug.png create mode 100644 example/profile_gcc_release.png create mode 100644 example/profile_global_functor.cpp create mode 100644 example/profile_helpers.hpp create mode 100644 example/profile_lambda.cpp create mode 100644 example/profile_legend_global_functor.png create mode 100644 example/profile_legend_lambda.png create mode 100644 example/profile_legend_local_function.png create mode 100644 example/profile_legend_local_function_inline.png create mode 100644 example/profile_legend_local_functor.png create mode 100644 example/profile_legend_phoenix.png create mode 100644 example/profile_local_function.cpp create mode 100644 example/profile_local_function_inline.cpp create mode 100644 example/profile_local_functor.cpp create mode 100644 example/profile_msvc_debug.png create mode 100644 example/profile_msvc_release.png create mode 100644 example/profile_phoenix.cpp create mode 100644 example/scope_exit.cpp create mode 100644 example/scope_exit.hpp diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 new file mode 100644 index 0000000..86842d4 --- /dev/null +++ b/example/Jamfile.v2 @@ -0,0 +1,74 @@ + +# Copyright (C) 2009-2012 Lorenzo Caminiti +# Distributed under the Boost Software License, Version 1.0 +# (see accompanying file LICENSE_1_0.txt or a copy at +# http://www.boost.org/LICENSE_1_0.txt) +# Home at http://www.boost.org/libs/local_function + +import testing ; + +project : requirements /boost//unit_test_framework ; + +run add_global_functor.cpp ; +run add_local_functor.cpp ; +# I'm not sure why this does not compile... I've asked Booster. +#run add_phoenix.cpp ; + +run const_block.cpp ; +# Compilation fails for debug but not for release builds so commented out. +#compile-fail const_block_err.cpp ; + +run expensive_copy_lambda.cpp ; +run expensive_copy_local_function.cpp ; + +run gcc_access.cpp ; +run gcc_lambda.cpp ; +run gcc_lambda_cpp11.cpp ; +run gcc_square.cpp ; +run gcc_store.cpp ; + +run impl_pp_keyword.cpp ; +run impl_tparam_tricks.cpp ; + +run n2529_this.cpp ; +run n2550_find_if.cpp ; + +compile-fail noncopyable_lambda_err.cpp ; +run noncopyable_local_function.cpp ; + +run phoenix_factorial.cpp ; +run phoenix_factorial_local.cpp ; + +exe profile_global_functor : profile_global_functor.cpp + : /boost/chrono//boost_chrono + /boost/system//boost_system + static + ; +exe profile_lambda : profile_lambda.cpp + : /boost/chrono//boost_chrono + /boost/system//boost_system + static + ; +exe profile_local_function : profile_local_function.cpp + : /boost/chrono//boost_chrono + /boost/system//boost_system + static + ; +exe profile_local_function_inline : profile_local_function_inline.cpp + : /boost/chrono//boost_chrono + /boost/system//boost_system + static + ; +exe profile_local_functor : profile_local_functor.cpp + : /boost/chrono//boost_chrono + /boost/system//boost_system + static + ; +exe profile_phoenix : profile_phoenix.cpp + : /boost/chrono//boost_chrono + /boost/system//boost_system + static + ; + +run scope_exit.cpp ; + diff --git a/example/add_global_functor.cpp b/example/add_global_functor.cpp new file mode 100644 index 0000000..479c1d3 --- /dev/null +++ b/example/add_global_functor.cpp @@ -0,0 +1,37 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#define BOOST_TEST_MODULE TestAddGlobalFunctor +#include +#include + +//[add_global_functor +// Unfortunately, cannot be defined locally (so not a real alternative). +struct global_add { // Unfortunately, boilerplate code to program the class. + global_add(int& _sum, int _factor): sum(_sum), factor(_factor) {} + + inline void operator()(int num) { // Body uses C++ statement syntax. + sum += factor * num; + } +private: // Unfortunately, cannot bind so repeat variable types. + int& sum; // Access `sum` by reference. + const int factor; // Make `factor` constant. +}; + +BOOST_AUTO_TEST_CASE( test_add_global_functor ) { + int sum = 0, factor = 10; + + global_add add(sum, factor); + + add(1); + int nums[] = {2, 3}; + std::for_each(nums, nums + 2, add); // Passed as template parameter. + + BOOST_CHECK( sum == 60 ); +} +//] + diff --git a/example/add_local_functor.cpp b/example/add_local_functor.cpp new file mode 100644 index 0000000..f856d94 --- /dev/null +++ b/example/add_local_functor.cpp @@ -0,0 +1,35 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#define BOOST_TEST_MODULE TestAddLocalFunctor +#include + +BOOST_AUTO_TEST_CASE( test_add_local_functor ) +//[add_local_functor +{ + int sum = 0, factor = 10; + + struct local_add { // Unfortunately, boilerplate code to program the class. + local_add(int& _sum, int _factor): sum(_sum), factor(_factor) {} + + inline void operator()(int num) { // Body uses C++ statement syntax. + sum += factor * num; + } + private: // Unfortunately, cannot bind so repeat variable types. + int& sum; // Access `sum` by reference. + const int factor; // Make `factor` constant. + } add(sum, factor); + + add(1); + int nums[] = {2, 3}; + // Unfortunately, cannot pass as template parameter to `std::for_each`. + for(size_t i = 0; i < 2; ++i) add(nums[i]); + + BOOST_CHECK( sum == 60 ); +} +//] + diff --git a/example/add_phoenix.cpp b/example/add_phoenix.cpp new file mode 100644 index 0000000..b971c8a --- /dev/null +++ b/example/add_phoenix.cpp @@ -0,0 +1,35 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#define BOOST_TEST_MODULE TestAddPhoenix +#include +#include +#include + +BOOST_AUTO_TEST_CASE( test_add_phoenix ) +//[add_phoenix +{ + using boost::phoenix::let; + using boost::phoenix::local_names::_f; + using boost::phoenix::cref; + using boost::phoenix::ref; + using boost::phoenix::arg_names::_1; + + int sum = 0, factor = 10; + int nums[] = {1, 2, 3}; + + // Passed to template, `factor` by constant, and defined in expression. + std::for_each(nums, nums + 3, let(_f = cref(factor))[ + // Unfortunately, body cannot use C++ statement syntax. + ref(sum) += _f * _1 // Access `sum` by reference. + ]); + + BOOST_CHECK( sum == 60 ); +} +//] + diff --git a/example/chrono.py b/example/chrono.py new file mode 100755 index 0000000..0766821 --- /dev/null +++ b/example/chrono.py @@ -0,0 +1,22 @@ + +# Copyright (C) 2009-2012 Lorenzo Caminiti +# Distributed under the Boost Software License, Version 1.0 +# (see accompanying file LICENSE_1_0.txt or a copy at +# http://www.boost.org/LICENSE_1_0.txt) +# Home at http://www.boost.org/libs/local_function + +import sys +import time +import os + +# Usage: python crono.py COMMAND [COMMAND_OPTIONS] + +cmd = "" +for arg in sys.argv[1:]: cmd += str(arg) + " " + +start = time.time() +ret = os.system(cmd) +sec = time.time() - start + +if (ret == 0): print "\n" + str(sec) + "s" + diff --git a/example/const_block.cpp b/example/const_block.cpp new file mode 100644 index 0000000..55fb5ec --- /dev/null +++ b/example/const_block.cpp @@ -0,0 +1,18 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include "const_block.hpp" +#include + +int main(void) { + int x = 0, y = 0; + CONST_BLOCK(x, y) { + assert(x == y); + } CONST_BLOCK_END + return 0; +} + diff --git a/example/const_block.hpp b/example/const_block.hpp new file mode 100644 index 0000000..824fb01 --- /dev/null +++ b/example/const_block.hpp @@ -0,0 +1,55 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#ifndef CONST_BLOCK_HPP_ +#define CONST_BLOCK_HPP_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// PRIVATE // + +#define CONST_BLOCK_BIND_(r, unused, i, var) \ + BOOST_PP_COMMA_IF(i) const bind& var + +#define CONST_BLOCK_(list) \ + void BOOST_LOCAL_FUNCTION( \ + BOOST_PP_IIF(BOOST_PP_LIST_IS_NIL(list), \ + void BOOST_PP_TUPLE_EAT(3) \ + , \ + BOOST_PP_LIST_FOR_EACH_I \ + )(CONST_BLOCK_BIND_, ~, list) \ + ) + +#define CONST_BLOCK_END_(id) \ + BOOST_LOCAL_FUNCTION_NAME(BOOST_PP_CAT(const_assert_, id)) \ + BOOST_PP_CAT(const_assert_, id)(); /* call local function immediately */ + +// PUBLIC // + +// Arguments `void | var1, var2, ... | (var1) (var2) ...`. +#ifdef BOOST_NO_VARIADIC_MACROS +# define CONST_BLOCK(void_or_seq) \ + CONST_BLOCK_(BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(void_or_seq)) +#else +# define CONST_BLOCK(...) \ + CONST_BLOCK_(BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(__VA_ARGS__)) +#endif + +#define CONST_BLOCK_END \ + CONST_BLOCK_END_(BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER) + +#endif // #include guard + diff --git a/example/const_block_err.cpp b/example/const_block_err.cpp new file mode 100644 index 0000000..3e70c50 --- /dev/null +++ b/example/const_block_err.cpp @@ -0,0 +1,20 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include "const_block.hpp" +#include + +int main(void) { + //[const_block + int x = 1, y = 2; + CONST_BLOCK(x, y) { // Constant block. + assert(x = y); // Compiler error. + } CONST_BLOCK_END + //] + return 0; +} + diff --git a/example/expensive_copy_lambda.cpp b/example/expensive_copy_lambda.cpp new file mode 100644 index 0000000..d87cff5 --- /dev/null +++ b/example/expensive_copy_lambda.cpp @@ -0,0 +1,40 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#ifndef BOOST_NO_LAMBDAS + +#include +#include + +//[expensive_copy_lambda +struct n { + int i; + n(int _i): i(_i) {} + n(n const& x): i(x.i) { // Some time consuming copy. + for (unsigned i = 0; i < 10000; ++i) std::cout << '.'; + } +}; + +int main(void) { + n x(-1); + + auto f = [x]() { // Problem: Expensive copy, but if bind + assert( x.i == -1); // by `&x` then `x` is not constant. + }; + f(); + + return 0; +} +//] + +#else // NO_LAMBDAS + +int main(void) { return 0; } // Trivial program. + +#endif // NO_LAMBDAS + diff --git a/example/expensive_copy_local_function.cpp b/example/expensive_copy_local_function.cpp new file mode 100644 index 0000000..d732533 --- /dev/null +++ b/example/expensive_copy_local_function.cpp @@ -0,0 +1,32 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#include +#include + +//[expensive_copy_local_function +struct n { + int i; + n(int _i): i(_i) {} + n(n const& x): i(x.i) { // Some time consuming copy. + for (unsigned i = 0; i < 10000; ++i) std::cout << '.'; + } +}; + +int main(void) { + n x(-1); + + void BOOST_LOCAL_FUNCTION(const bind& x) { // OK: No copy + assert( x.i == -1 ); // and constant. + } BOOST_LOCAL_FUNCTION_NAME(f) + f(); + + return 0; +} +//] + diff --git a/example/gcc_access.cpp b/example/gcc_access.cpp new file mode 100644 index 0000000..bd7872b --- /dev/null +++ b/example/gcc_access.cpp @@ -0,0 +1,23 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#define BOOST_TEST_MODULE TestGccAccess +#include + +BOOST_AUTO_TEST_CASE( test_gcc_access ) { + int nums[] = {1, 2, 3}; + int offset = -1; + int BOOST_LOCAL_FUNCTION(const bind offset, int* array, int index) { + return array[index + offset]; + } BOOST_LOCAL_FUNCTION_NAME(access) + + BOOST_CHECK( access(nums, 1) == 1 ); + BOOST_CHECK( access(nums, 2) == 2 ); + BOOST_CHECK( access(nums, 3) == 3 ); +} + diff --git a/example/gcc_lambda.cpp b/example/gcc_lambda.cpp new file mode 100644 index 0000000..196c5e4 --- /dev/null +++ b/example/gcc_lambda.cpp @@ -0,0 +1,38 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#if defined(__GCC__) || !defined(BOOST_NO_LAMBDAS) + +#include "gcc_lambda.hpp" +#define BOOST_TEST_MODULE TestGccLambda +#include +#include + +BOOST_AUTO_TEST_CASE( test_gcc_lambda ) { + //[gcc_lambda + int val = 2; + int nums[] = {1, 2, 3}; + int* end = nums + 3; + + int* iter = std::find_if(nums, end, + GCC_LAMBDA(const bind val, int num, return bool) { + return num == val; + } GCC_LAMBDA_END + ); + //] + + BOOST_CHECK( iter != end ); + BOOST_CHECK( *iter == val ); +} + +#else // GCC || !NO_LAMBDAS + +int main(void) { return 0; } + +#endif // GCC || !NO_LAMBDAS + diff --git a/example/gcc_lambda.hpp b/example/gcc_lambda.hpp new file mode 100644 index 0000000..561e3df --- /dev/null +++ b/example/gcc_lambda.hpp @@ -0,0 +1,125 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#ifndef GCC_LAMBDA_HPP_ +#define GCC_LAMBDA_HPP_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// PRIVATE // + +#define GCC_LAMBDA_SPLIT_BIND_(elem, binds, params, results) \ + (BOOST_PP_LIST_APPEND(binds, (elem, BOOST_PP_NIL)), params, results) + +#define GCC_LAMBDA_SPLIT_PARAM_(elem, binds, params, results) \ + (binds, BOOST_PP_LIST_APPEND(params, (elem, BOOST_PP_NIL)), results) + +#define GCC_LAMBDA_SPLIT_RESULT_(elem, binds, params, results) \ + (binds, params, BOOST_PP_LIST_APPEND(results, (elem, BOOT_PP_NIL))) + +#define GCC_LAMBDA_SPLIT_DISPATCH_(d, binds_params_results, elem) \ + BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RETURN_FRONT(elem), \ + GCC_LAMBDA_SPLIT_RESULT_ \ + , BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_FRONT(elem), \ + GCC_LAMBDA_SPLIT_BIND_ \ + , BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT( \ + elem), \ + GCC_LAMBDA_SPLIT_BIND_ \ + , /* no result, no bind, and no const bind so it's param */ \ + GCC_LAMBDA_SPLIT_PARAM_ \ + )))(elem, BOOST_PP_TUPLE_ELEM(3, 0, binds_params_results), \ + BOOST_PP_TUPLE_ELEM(3, 1, binds_params_results), \ + BOOST_PP_TUPLE_ELEM(3, 2, binds_params_results)) + +#define GCC_LAMBDA_SPLIT_(list) \ + BOOST_PP_LIST_FOLD_LEFT(GCC_LAMBDA_SPLIT_DISPATCH_, \ + (BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL), list) + +#define GCC_LAMBDA_REMOVE_CONST_BIND_(r, unused, i, elem) \ + BOOST_PP_COMMA_IF(i) \ + BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT(elem) + +#define GCC_LAMBDA_RESULT_TYPE_(results) \ + BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_REMOVE_FRONT( \ + BOOST_PP_LIST_FIRST(results)) + +#ifdef BOOST_NO_LAMBDAS +# define GCC_LAMBDA_(binds, params, results) \ + ({ /* open statement expression (GCC extension only) */ \ + BOOST_LOCAL_FUNCTION( \ + BOOST_PP_LIST_ENUM(BOOST_PP_LIST_APPEND(binds, \ + BOOST_PP_LIST_APPEND(params, \ + BOOST_PP_IIF(BOOST_PP_LIST_IS_NIL(results), \ + (return void, BOOST_PP_NIL) /* default for lambdas */ \ + , \ + results \ + )\ + ) \ + )) \ + ) +#else +# define GCC_LAMBDA_(binds, params, results) \ + /* ignore const binding because not supported by C++11 lambdas */ \ + [ BOOST_PP_LIST_FOR_EACH_I(GCC_LAMBDA_REMOVE_CONST_BIND_, ~, binds) ] \ + ( BOOST_PP_LIST_ENUM(params) ) \ + BOOST_PP_IIF(BOOST_PP_LIST_IS_NIL(results), \ + BOOST_PP_TUPLE_EAT(1) /* void result type (default) */ \ + , \ + -> GCC_LAMBDA_RESULT_TYPE_ \ + )(results) +#endif + +#define GCC_LAMBDA_TUPLE_(binds_params_results) \ + GCC_LAMBDA_(BOOST_PP_TUPLE_ELEM(3, 0, binds_params_results), \ + BOOST_PP_TUPLE_ELEM(3, 1, binds_params_results), \ + BOOST_PP_TUPLE_ELEM(3, 2, binds_params_results)) + +#define GCC_LAMBDA_END_(id) \ + BOOST_LOCAL_FUNCTION_NAME(BOOST_PP_CAT(gcc_lambda_, id)) \ + BOOST_PP_CAT(gcc_lambda_, id); \ + }) /* close statement expression (GCC extension only) */ + +// PUBLIC // + +// Same arguments as for local functions but respect to C++11 lambdas: +// const bind v is =v, bind& v is &v, void if no return specified, no = or &. +#ifdef BOOST_NO_VARIADIC_MACROS +# define GCC_LAMBDA(void_or_seq) \ + GCC_LAMBDA_TUPLE_(GCC_LAMBDA_SPLIT_( \ + BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(void_or_seq))) +#else +# define GCC_LAMBDA(...) \ + GCC_LAMBDA_TUPLE_(GCC_LAMBDA_SPLIT_( \ + BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(__VA_ARGS__))) +#endif + +#ifdef BOOST_NO_LAMBDAS +# define GCC_LAMBDA_END \ + GCC_LAMBDA_END_(BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER) +#else +# define GCC_LAMBDA_END /* nothing */ +#endif + +#endif // #include guard + diff --git a/example/gcc_lambda_cpp11.cpp b/example/gcc_lambda_cpp11.cpp new file mode 100644 index 0000000..904bfa9 --- /dev/null +++ b/example/gcc_lambda_cpp11.cpp @@ -0,0 +1,37 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#ifndef BOOST_NO_LAMBDAS + +#define BOOST_TEST_MODULE TestGccLambdaCpp11 +#include +#include + +BOOST_AUTO_TEST_CASE( test_gcc_lambda_cpp11 ) { + //[gcc_lambda_cpp11 + int val = 2; + int nums[] = {1, 2, 3}; + int* end = nums + 3; + + int* iter = std::find_if(nums, end, + [val](int num) -> bool { + return num == val; + } + ); + //] + + BOOST_CHECK( iter != end ); + BOOST_CHECK( *iter == val ); +} + +#else // NO_LAMBDAS + +int main(void) { return 0; } // Trivial test. + +#endif // NO_LAMBDAS + diff --git a/example/gcc_square.cpp b/example/gcc_square.cpp new file mode 100644 index 0000000..9f7bbd7 --- /dev/null +++ b/example/gcc_square.cpp @@ -0,0 +1,23 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#define BOOST_TEST_MODULE TestGccSquare +#include + +double add_square(double a, double b) { + double BOOST_LOCAL_FUNCTION(double z) { + return z * z; + } BOOST_LOCAL_FUNCTION_NAME(square) + + return square(a) + square(b); +} + +BOOST_AUTO_TEST_CASE( test_gcc_square ) { + BOOST_CHECK( add_square(2.0, 4.0) == 20.0 ); +} + diff --git a/example/gcc_store.cpp b/example/gcc_store.cpp new file mode 100644 index 0000000..aca8dd9 --- /dev/null +++ b/example/gcc_store.cpp @@ -0,0 +1,33 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#include +#define BOOST_TEST_MODULE TestGccStore +#include + +void intermediate(boost::function store_func, int size) { + store_func(size - 1, -1); +} + +void hack(int* array, int size) { + void BOOST_LOCAL_FUNCTION(bind array, int index, int value) { + array[index] = value; + } BOOST_LOCAL_FUNCTION_NAME(store) + + intermediate(store, size); +} + +BOOST_AUTO_TEST_CASE( test_gcc_store ) { + int nums[] = {1, 2, 3}; + hack(nums, 3); + + BOOST_CHECK( nums[0] == 1 ); + BOOST_CHECK( nums[1] == 2 ); + BOOST_CHECK( nums[2] == -1 ); +} + diff --git a/example/impl_pp_keyword.cpp b/example/impl_pp_keyword.cpp new file mode 100644 index 0000000..2598705 --- /dev/null +++ b/example/impl_pp_keyword.cpp @@ -0,0 +1,28 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +//[impl_pp_keyword +#include +#include +#include +#define BOOST_TEST_MODULE TestImplPpKeyword +#include + +// Expand to 1 if space-separated tokens end with `this_`, 0 otherwise. +#define IS_THIS_BACK(tokens) \ + BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK( \ + BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_FRONT( \ + BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT( \ + tokens \ + ))) + +BOOST_AUTO_TEST_CASE( test_impl_pp_keyword ) { + BOOST_CHECK( IS_THIS_BACK(const bind this_) == 1 ); + BOOST_CHECK( IS_THIS_BACK(const bind& x) == 0 ); +} +//] + diff --git a/example/impl_tparam_tricks.cpp b/example/impl_tparam_tricks.cpp new file mode 100644 index 0000000..924471a --- /dev/null +++ b/example/impl_tparam_tricks.cpp @@ -0,0 +1,72 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +//[impl_tparam_tricks +#define BOOST_TEST_MODULE TestImplTparamTricks +#include +#include +#include + +// Casting functor trick. +struct casting_func { + explicit casting_func(void* obj, void (*call)(void*, const int&)): + obj_(obj), call_(call) {} + // Unfortunately, function pointer call is not inlined. + inline void operator()(const int& num) { call_(obj_, num); } +private: + void* obj_; + void (*call_)(void*, const int&); +}; + +// Virtual functor trick. +struct virtual_func { + struct interface { + // Unfortunately, virtual function call is not inlined. + inline virtual void operator()(const int&) {} + }; + explicit virtual_func(interface& func): func_(&func) {} + inline void operator()(const int& num) { (*func_)(num); } +private: + interface* func_; +}; + +BOOST_AUTO_TEST_CASE( test_impl_tparam_tricks ) { + int sum = 0, factor = 10; + + // Local class for local function. + struct local_add: virtual_func::interface { + explicit local_add(int& _sum, const int& _factor): + sum_(_sum), factor_(_factor) {} + inline void operator()(const int& num) { + body(sum_, factor_, num); + } + inline static void call( + void* obj, const int& num) { + local_add* self = static_cast(obj); + self->body(self->sum_, self->factor_, num); + } + private: + int& sum_; + const int& factor_; + inline void body(int& sum, const int& factor, const int& num) { + sum += factor * num; + } + } add_local(sum, factor); + casting_func add_casting(&add_local, &local_add::call); + virtual_func add_virtual(add_local); + + std::vector v(10); + std::fill(v.begin(), v.end(), 1); + +// std::for_each(v.begin(), v.end(), add_local); // Error but OK on C++11. + std::for_each(v.begin(), v.end(), add_casting); // OK. + std::for_each(v.begin(), v.end(), add_virtual); // OK. + + BOOST_CHECK( sum == 200 ); +} +//] + diff --git a/example/n2529_this.cpp b/example/n2529_this.cpp new file mode 100644 index 0000000..2388588 --- /dev/null +++ b/example/n2529_this.cpp @@ -0,0 +1,42 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#define BOOST_TEST_MODULE TestN2529This +#include +#include +#include + +struct v { + std::vector nums; + + v(const std::vector& numbers): nums(numbers) {} + + void change_sign_all(const std::vector& indices) { + void BOOST_LOCAL_FUNCTION(bind this_, int i) { // Bind object `this`. + this_->nums.at(i) = -this_->nums.at(i); + } BOOST_LOCAL_FUNCTION_NAME(complement) + + std::for_each(indices.begin(), indices.end(), complement); + } +}; + +BOOST_AUTO_TEST_CASE( test_n2529_this ) { + std::vector n(3); + n[0] = 1; n[1] = 2; n[2] = 3; + + std::vector i(2); + i[0] = 0; i[1] = 2; // Will change n[0] and n[2] but not n[1]. + + v vn(n); + vn.change_sign_all(i); + + BOOST_CHECK( vn.nums.at(0) == -1 ); + BOOST_CHECK( vn.nums.at(1) == 2 ); + BOOST_CHECK( vn.nums.at(2) == -3 ); +} + diff --git a/example/n2550_find_if.cpp b/example/n2550_find_if.cpp new file mode 100644 index 0000000..46e3596 --- /dev/null +++ b/example/n2550_find_if.cpp @@ -0,0 +1,41 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#define BOOST_TEST_MODULE TestN2550FindIf +#include +#include +#include + +struct employee { + int salary; + explicit employee(const int& a_salary): salary(a_salary) {} +}; + +BOOST_AUTO_TEST_CASE( test_n2550_find_if ) { + std::vector employees; + employees.push_back(employee( 85000)); + employees.push_back(employee(100000)); + employees.push_back(employee(120000)); + + int min_salary = 100000; + int u_limit = min_salary + 1; + + bool BOOST_LOCAL_FUNCTION(const bind& min_salary, const bind& u_limit, + const employee& e) { + return e.salary >= min_salary && e.salary < u_limit; + } BOOST_LOCAL_FUNCTION_NAME(between) + + // Pass local function to an STL algorithm as a template paramter (this + // cannot be done with plain member functions of local classes). + std::vector::iterator i = std::find_if( + employees.begin(), employees.end(), between); + + BOOST_CHECK( i != employees.end() ); + BOOST_CHECK( i->salary >= min_salary && i->salary < u_limit ); +} + diff --git a/example/noncopyable_lambda_err.cpp b/example/noncopyable_lambda_err.cpp new file mode 100644 index 0000000..6e92d12 --- /dev/null +++ b/example/noncopyable_lambda_err.cpp @@ -0,0 +1,37 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#ifndef BOOST_NO_LAMBDAS + +#include +#include + +//[noncopyable_lambda_err +struct n: boost::noncopyable { + int i; + n(int _i): i(_i) {} +}; + +int main(void) { + n x(-1); + + auto f = [x](void) { // Error: x is non-copyable, but if + assert( x.i == -1 ); // bind `&x` then `x` is not constant. + }; + f(); + + return 0; +} +//] + +#else // NO_LAMBDAS + +#error "Trivial failure." + +#endif // NO_LAMBDAS + diff --git a/example/noncopyable_local_function.cpp b/example/noncopyable_local_function.cpp new file mode 100644 index 0000000..9f76afb --- /dev/null +++ b/example/noncopyable_local_function.cpp @@ -0,0 +1,29 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#include +#include + +//[noncopyable_local_function +struct n: boost::noncopyable { + int i; + n(int _i): i(_i) {} +}; + +int main() { + n x(-1); + + void BOOST_LOCAL_FUNCTION(const bind& x) { // OK: No copy + assert( x.i == -1 ); // and constant. + } BOOST_LOCAL_FUNCTION_NAME(f) + f(); + + return 0; +} +//] + diff --git a/example/phoenix_factorial.cpp b/example/phoenix_factorial.cpp new file mode 100644 index 0000000..e3cb92b --- /dev/null +++ b/example/phoenix_factorial.cpp @@ -0,0 +1,40 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#include +#define BOOST_TEST_MODULE TestPhoenixFactorial +#include + +//[phoenix_factorial +struct factorial_impl { // Phoenix function from global functor. + template + struct result; + + template + struct result : result {}; + + template + struct result { typedef Arg type; }; + + template // Polymorphic. + Arg operator()(Arg n) const { + return (n <= 0) ? 1 : n * (*this)(n - 1); + } +}; + +BOOST_AUTO_TEST_CASE( test_phoenix_factorial ) { + using boost::phoenix::arg_names::arg1; + + boost::phoenix::function factorial; + + int i = 4; + BOOST_CHECK( factorial(i)() == 24 ); // Call. + BOOST_CHECK( factorial(arg1)(i) == 24 ); // Lazy call. +} +//] + diff --git a/example/phoenix_factorial_local.cpp b/example/phoenix_factorial_local.cpp new file mode 100644 index 0000000..94f358f --- /dev/null +++ b/example/phoenix_factorial_local.cpp @@ -0,0 +1,31 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#include +#include +#include +#define BOOST_TEST_MODULE TestPhoenixFactorialLocal +#include + +//[phoenix_factorial_local +BOOST_AUTO_TEST_CASE( test_phoenix_factorial_local ) { + using boost::phoenix::arg_names::arg1; + + int BOOST_LOCAL_FUNCTION(int n) { // Unfortunately, monomorphic. + return (n <= 0) ? 1 : n * factorial_impl(n - 1); + } BOOST_LOCAL_FUNCTION_NAME(recursive factorial_impl) + + boost::phoenix::function< boost::function > + factorial(factorial_impl); // Phoenix function from local function. + + int i = 4; + BOOST_CHECK( factorial(i)() == 24 ); // Call. + BOOST_CHECK( factorial(arg1)(i) == 24 ); // Lazy call. +} +//] + diff --git a/example/profile.xls b/example/profile.xls new file mode 100644 index 0000000000000000000000000000000000000000..9087ed174f8f3d703405c1fa9f88980869ef71ed GIT binary patch literal 181248 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 LF=><>v>^ZhnmfUY literal 0 HcmV?d00001 diff --git a/example/profile_gcc_cpp11_debug.png b/example/profile_gcc_cpp11_debug.png new file mode 100644 index 0000000000000000000000000000000000000000..2bc7b6b2fc64805d728e1c7e51997c4e17bc5172 GIT binary patch literal 57983 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 literal 0 HcmV?d00001 diff --git a/example/profile_gcc_debug.png b/example/profile_gcc_debug.png new file mode 100644 index 0000000000000000000000000000000000000000..84e88a273a5f7d375dec878800316eefed37f4e8 GIT binary patch literal 49476 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� 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 literal 0 HcmV?d00001 diff --git a/example/profile_gcc_release.png b/example/profile_gcc_release.png new file mode 100644 index 0000000000000000000000000000000000000000..c10f28758d54f69ec588f74df89752465f1ea526 GIT binary patch literal 53334 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 literal 0 HcmV?d00001 diff --git a/example/profile_global_functor.cpp b/example/profile_global_functor.cpp new file mode 100644 index 0000000..6e104e4 --- /dev/null +++ b/example/profile_global_functor.cpp @@ -0,0 +1,51 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#include +#include +#include +#include "profile_helpers.hpp" + +struct global_add { + global_add(double& _sum, const int& _factor): sum(_sum), factor(_factor) {} + inline void operator()(const double& num) { + sum += factor * num; + } +private: + double& sum; + const int& factor; +}; + +int main(int argc, char* argv[]) { + unsigned long size = 0, trials =0; + profile::args(argc, argv, size, trials); + + double sum = 0.0; + int factor = 1; + + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + global_add add(sum, factor); + boost::chrono::duration decl_sec = + boost::chrono::system_clock::now() - start; + + std::vector v(size); + std::fill(v.begin(), v.end(), 1.0); + + boost::chrono::duration trials_sec; + for(unsigned long i = 0; i < trials; ++i) { + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + std::for_each(v.begin(), v.end(), add); + trials_sec += boost::chrono::system_clock::now() - start; + } + + profile::display(size, trials, sum, trials_sec.count(), decl_sec.count()); + return 0; +} + diff --git a/example/profile_helpers.hpp b/example/profile_helpers.hpp new file mode 100644 index 0000000..fe7969d --- /dev/null +++ b/example/profile_helpers.hpp @@ -0,0 +1,54 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#ifndef PROFILE_HELPERS_HPP_ +#define PROFILE_HELPERS_HPP_ + +#include +#include + +namespace profile { + +void args(int argc, char* argv[], unsigned long& size, unsigned long& trials) { + size = 100000000; // Defaults. + trials = 10; // Default. + if (argc != 1 && argc != 2 && argc != 3) { + std::cerr << "ERROR: Incorrect argument(s)" << std::endl; + std::cerr << "Usage: " << argv[0] << " [SIZE] [TRIALS]" << + std::endl; + std::cerr << "Defaults: SIZE = " << double(size) << ", TRIALS = " << + double(trials) << std::endl; + exit(1); + } + if (argc >= 2) size = atol(argv[1]); + if (argc >= 3) trials = atol(argv[2]); + + std::clog << "vector size = " << double(size) << std::endl; + std::clog << "number of trials = " << double(trials) << std::endl; + std::clog << "number of calls = " << double(size) * double(trials) << + std::endl; +} + +void display(const unsigned long& size, const unsigned long& trials, + const double& sum, const double& trials_sec, + const double& decl_sec = 0.0) { + std::clog << "sum = " << sum << std::endl; + std::clog << "declaration run-time [s] = " << decl_sec << std::endl; + std::clog << "trials run-time [s] = " << trials_sec << std::endl; + + double avg_sec = decl_sec + trials_sec / trials; + std::clog << "average run-time [s] = declaration run-time + trials " << + "run-time / number of trials = " << std::endl; + std::cout << avg_sec << std::endl; // To cout so it can be parsed easily. + + assert(sum == double(size) * double(trials)); +} + +} // namespace + +#endif // #include guard + diff --git a/example/profile_lambda.cpp b/example/profile_lambda.cpp new file mode 100644 index 0000000..a30ef8c --- /dev/null +++ b/example/profile_lambda.cpp @@ -0,0 +1,46 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#ifndef BOOST_NO_LAMBDAS + +#include +#include +#include +#include +#include "profile_helpers.hpp" + +int main(int argc, char* argv[]) { + unsigned long size = 0, trials = 0; + profile::args(argc, argv, size, trials); + + double sum = 0.0; + int factor = 1; + + std::vector v(size); + std::fill(v.begin(), v.end(), 1.0); + + boost::chrono::duration trials_sec; + for(unsigned long i = 0; i < trials; ++i) { + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + std::for_each(v.begin(), v.end(), [&sum, factor](const double& num) { + sum += factor * num; + }); + trials_sec += boost::chrono::system_clock::now() - start; + } + + profile::display(size, trials, sum, trials_sec.count()); + return 0; +} + +#else // NO_LAMBDAS + +int main(void) { return 0; } // Trivial program. + +#endif // NO_LAMBDAS + diff --git a/example/profile_legend_global_functor.png b/example/profile_legend_global_functor.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f5b70fdc645ce47cdb13a5dd648e6fa3855bde GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0y~yU~pt$U=ZS9VqjqC?pN_;_2(keuq&?#9Y?-kp4dg1_s&8kcblJ{M_8syb=Zw za4t$sEJ;mKD9TWoKYuF!OYA4DmSr_BmdKI;Vst0JBRs A`2YX_ literal 0 HcmV?d00001 diff --git a/example/profile_legend_lambda.png b/example/profile_legend_lambda.png new file mode 100644 index 0000000000000000000000000000000000000000..58770b195e80df0f1dda679fef1681f2b5be3f5c GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU~pt$U=ZS9VqjqC?pN_;_2(keuq&?#7wg~_Z7%A+02lL66gHf+|;}h1`u#A zN=+;_2(keuq&?#7M6(b=O)31_s&8kcblJ{M_8syb=Zw za4t$sEJ;mKD9TWoKYuF!ywE4DmSr_Iw~GgMtXl!O$~FNtaK4KCQG( zfUiu-=XNQFdBe`UFAFE1Z)WG0v#I#-;9xU5f4xm#4@=lXPlah9vprq?T-G@yGywo{ CK{{jr literal 0 HcmV?d00001 diff --git a/example/profile_legend_local_function_inline.png b/example/profile_legend_local_function_inline.png new file mode 100644 index 0000000000000000000000000000000000000000..809de56d945e64efe127608ffe98be7fa26bc9f5 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0y~yU~pt$U=ZS9VqjqC?pN_;_2(keuq&?#7sn)b(u5+1A}a4NJNQqer|4RUI_yT zI2WZRmZYXAlxLP?D7bt22BhevvNJF+n0vZ7hIkx*d!CV#K|z4!V5rZcg#R}EWgA-y zHe61Kn(MuT@r~(X{<$@BHWeQp9BgLim$Rw(@tBcy9<$1i*qj+4vprq?T-G@yGywpr CuQ=2I literal 0 HcmV?d00001 diff --git a/example/profile_legend_local_functor.png b/example/profile_legend_local_functor.png new file mode 100644 index 0000000000000000000000000000000000000000..6038c5776e3aae67152f3b0234ed11bc73b70f00 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0y~yU~pt$U=ZS9VqjqC?pN_;_2(keuq&?#GFNaWxE{%1A}a4NJNQqer|4RUI_yT zI2WZRmZYXAlxLP?D7bt22BhevvNJF+n0dN5hIkx*d!CV#K|z4!U}(;wZ|^^6h(~j< zTk|fvy0b<4K%DWf3n!l+Y-Z<|v#I#-;9zsRy`0c&X4Q<$>6bx9d%F6$taD0e0szRI BIgS7T literal 0 HcmV?d00001 diff --git a/example/profile_legend_phoenix.png b/example/profile_legend_phoenix.png new file mode 100644 index 0000000000000000000000000000000000000000..249962540e7528a48e40d59d4d3cce99e0ffefe9 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU~pt$U=ZS9VqjqC?pN_;_2(keuq&?#N6zC-L-uT3=FcFArU3c`MJ5Nc_j=W z;9QiNSdyBeP@Y+mq2TW68<3)x%Fe*RVBzWF7~*mK?RiE{1_c3@gP}P}-`*?dvn$_l zvbd3Hkb7P64#Ty%7u)^p_~mRWK0G+s%+4=o^XDT&UMlm)%ct|^fDHF^^>bP0l+XkK D(GEM1 literal 0 HcmV?d00001 diff --git a/example/profile_local_function.cpp b/example/profile_local_function.cpp new file mode 100644 index 0000000..1e2029a --- /dev/null +++ b/example/profile_local_function.cpp @@ -0,0 +1,45 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#include +#include +#include +#include +#include "profile_helpers.hpp" + +int main(int argc, char* argv[]) { + unsigned long size = 0, trials = 0; + profile::args(argc, argv, size, trials); + + double sum = 0.0; + int factor = 1; + + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + void BOOST_LOCAL_FUNCTION( + const double& num, bind& sum, const bind& factor) { + sum += factor * num; + } BOOST_LOCAL_FUNCTION_NAME(add) + boost::chrono::duration decl_sec = + boost::chrono::system_clock::now() - start; + + std::vector v(size); + std::fill(v.begin(), v.end(), 1.0); + + boost::chrono::duration trials_sec; + for(unsigned long i = 0; i < trials; ++i) { + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + std::for_each(v.begin(), v.end(), add); + trials_sec += boost::chrono::system_clock::now() - start; + } + + profile::display(size, trials, sum, trials_sec.count(), decl_sec.count()); + return 0; +} + diff --git a/example/profile_local_function_inline.cpp b/example/profile_local_function_inline.cpp new file mode 100644 index 0000000..8b113ac --- /dev/null +++ b/example/profile_local_function_inline.cpp @@ -0,0 +1,45 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#include +#include +#include +#include +#include "profile_helpers.hpp" + +int main(int argc, char* argv[]) { + unsigned long size = 0, trials = 0; + profile::args(argc, argv, size, trials); + + double sum = 0.0; + int factor = 1; + + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + void BOOST_LOCAL_FUNCTION( + const double& num, bind& sum, const bind& factor) { + sum += factor * num; + } BOOST_LOCAL_FUNCTION_NAME(inline add) // Inlined. + boost::chrono::duration decl_sec = + boost::chrono::system_clock::now() - start; + + std::vector v(size); + std::fill(v.begin(), v.end(), 1.0); + + boost::chrono::duration trials_sec; + for(unsigned long i = 0; i < trials; ++i) { + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + for(unsigned long j = 0; j < v.size(); ++j) add(v[j]); // No for_each. + trials_sec += boost::chrono::system_clock::now() - start; + } + + profile::display(size, trials, sum, trials_sec.count(), decl_sec.count()); + return 0; +} + diff --git a/example/profile_local_functor.cpp b/example/profile_local_functor.cpp new file mode 100644 index 0000000..abdef0b --- /dev/null +++ b/example/profile_local_functor.cpp @@ -0,0 +1,50 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include +#include +#include +#include +#include "profile_helpers.hpp" + +int main(int argc, char* argv[]) { + unsigned long size = 0, trials = 0; + profile::args(argc, argv, size, trials); + + double sum = 0.0; + int factor = 1; + + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + struct local_add { + local_add(double& _sum, const int& _factor): + sum(_sum), factor(_factor) {} + inline void operator()(const double& num) { + sum += factor * num; + } + private: + double& sum; + const int& factor; + } add(sum, factor); + boost::chrono::duration decl_sec = + boost::chrono::system_clock::now() - start; + + std::vector v(size); + std::fill(v.begin(), v.end(), 1.0); + + boost::chrono::duration trials_sec; + for(unsigned long i = 0; i < trials; ++i) { + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + for(unsigned long j = 0; j < v.size(); ++j) add(v[j]); // No for_each. + trials_sec += boost::chrono::system_clock::now() - start; + } + + profile::display(size, trials, sum, trials_sec.count(), decl_sec.count()); + return 0; +} + diff --git a/example/profile_msvc_debug.png b/example/profile_msvc_debug.png new file mode 100644 index 0000000000000000000000000000000000000000..225f12217404978dc5fada80ce9ee7e7dc26bc51 GIT binary patch literal 48009 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 YWB#dl?_1AAd_V!^>FVdQ&MBb@0N;2#fdBvi literal 0 HcmV?d00001 diff --git a/example/profile_msvc_release.png b/example/profile_msvc_release.png new file mode 100644 index 0000000000000000000000000000000000000000..b447211fd5ee2347692fa6ee2fdc9a611c0a973d GIT binary patch literal 56674 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 +#include +#include +#include +#include +#include +#include +#include +#include "profile_helpers.hpp" + +int main(int argc, char* argv[]) { + unsigned long size = 0, trials = 0; + profile::args(argc, argv, size, trials); + + double sum = 0.0; + int factor = 1; + + std::vector v(size); + std::fill(v.begin(), v.end(), 1.0); + + boost::chrono::duration trials_sec; + for(unsigned long i = 0; i < trials; ++i) { + boost::chrono::system_clock::time_point start = + boost::chrono::system_clock::now(); + + using boost::phoenix::ref; + using boost::phoenix::arg_names::_1; + std::for_each(v.begin(), v.end(), ( + ref(sum) += factor * _1 + )); + + trials_sec += boost::chrono::system_clock::now() - start; + } + + profile::display(size, trials, sum, trials_sec.count()); + return 0; +} + diff --git a/example/scope_exit.cpp b/example/scope_exit.cpp new file mode 100644 index 0000000..438f8ca --- /dev/null +++ b/example/scope_exit.cpp @@ -0,0 +1,110 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#include "scope_exit.hpp" +#include +#include +#include +#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() +#define BOOST_TEST_MODULE TestScopeExit +#include +#include +#include +#include + +class person; BOOST_TYPEOF_REGISTER_TYPE(person) +class person { + friend class world; +public: + typedef unsigned int id_t; + typedef unsigned int evolution_t; + + person(void): id_(0), evolution_(0) {} + + friend std::ostream& operator<<(std::ostream& o, person const& p) { + return o << "person(" << p.id_ << ", " << p.evolution_ << ")"; + } +private: + id_t id_; + evolution_t evolution_; +}; + +class world; BOOST_TYPEOF_REGISTER_TYPE(world) +class world { +public: + typedef unsigned int id_t; + + world(void): next_id_(1) {} + + void add_person(person const& a_person); + + friend std::ostream& operator<<(std::ostream& o, world const& w) { + o << "world(" << w.next_id_ << ", {"; + BOOST_FOREACH(person const& p, w.persons_) { + o << " " << p << ", "; + } + return o << "})"; + } +private: + id_t next_id_; + std::vector persons_; +}; + +void world::add_person(person const& a_person) { + persons_.push_back(a_person); + + // This block must be no-throw. + //[scope_exit + person& p = persons_.back(); + person::evolution_t checkpoint = p.evolution_; + + SCOPE_EXIT(const bind checkpoint, const bind& p, bind this_) { + if (checkpoint == p.evolution_) this_->persons_.pop_back(); + } SCOPE_EXIT_END + //] + + // ... + + checkpoint = ++p.evolution_; + + // Assign new id to the person. + world::id_t const prev_id = p.id_; + p.id_ = next_id_++; + SCOPE_EXIT(const bind checkpoint, const bind prev_id, bind& p, + bind& next_id_) { + if (checkpoint == p.evolution_) { + next_id_ = p.id_; + p.id_ = prev_id; + } + } SCOPE_EXIT_END + + // ... + + checkpoint = ++p.evolution_; +} + +BOOST_AUTO_TEST_CASE( test_scope_exit ) { + person adam, eva; + std::ostringstream oss; + oss << adam; + std::cout << oss.str() << std::endl; + BOOST_CHECK( oss.str() == "person(0, 0)" ); + + oss.str(""); + oss << eva; + std::cout << oss.str() << std::endl; + BOOST_CHECK( oss.str() == "person(0, 0)" ); + + world w; + w.add_person(adam); + w.add_person(eva); + oss.str(""); + oss << w; + std::cout << oss.str() << std::endl; + BOOST_CHECK( oss.str() == "world(3, { person(1, 2), person(2, 2), })" ); +} + diff --git a/example/scope_exit.hpp b/example/scope_exit.hpp new file mode 100644 index 0000000..2b1b387 --- /dev/null +++ b/example/scope_exit.hpp @@ -0,0 +1,47 @@ + +// Copyright (C) 2009-2012 Lorenzo Caminiti +// Distributed under the Boost Software License, Version 1.0 +// (see accompanying file LICENSE_1_0.txt or a copy at +// http://www.boost.org/LICENSE_1_0.txt) +// Home at http://www.boost.org/libs/local_function + +#ifndef SCOPE_EXIT_HPP_ +#define SCOPE_EXIT_HPP_ + +#include +#include +#include +#include +#include + +//[scope_exit_class +struct scope_exit { + scope_exit(boost::function f): f_(f) {} + ~scope_exit(void) { f_(); } +private: + boost::function f_; +}; +//] + +// PRIVATE // + +#define SCOPE_EXIT_END_(id) \ + BOOST_LOCAL_FUNCTION_NAME(BOOST_PP_CAT(scope_exit_func_, id)) \ + scope_exit BOOST_PP_CAT(scope_exit_, id)( \ + BOOST_PP_CAT(scope_exit_func_, id)); + +// PUBLIC // + +#ifdef BOOST_NO_VARIADIC_MACROS +# define SCOPE_EXIT(void_or_seq) \ + void BOOST_LOCAL_FUNCTION(void_or_seq) +#else +# define SCOPE_EXIT(...) \ + void BOOST_LOCAL_FUNCTION(__VA_ARGS__) +#endif + +#define SCOPE_EXIT_END \ + SCOPE_EXIT_END_(BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER) + +#endif // #include guard +