diff options
Diffstat (limited to '')
-rw-r--r-- | src/boost/libs/local_function/example/const_block_error_cxx11_lambda.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/boost/libs/local_function/example/const_block_error_cxx11_lambda.cpp b/src/boost/libs/local_function/example/const_block_error_cxx11_lambda.cpp new file mode 100644 index 000000000..d555cc876 --- /dev/null +++ b/src/boost/libs/local_function/example/const_block_error_cxx11_lambda.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 + +#include <boost/config.hpp> +#ifdef BOOST_NO_CXX11_LAMBDAS +# error "requires lambda functions" +#else + +#include <cassert> + +int main(void) { + //[const_block_cxx11_lambda + int x = 1, y = 2; + const decltype(x)& const_x = x; // Constant so cannot be modified + const decltype(y)& const_y = y; // and reference so no copy. + [&const_x, &const_y]() { // Lambda functions (C++11 only). + assert(const_x = const_y); // Unfortunately, `const_` names. + }(); + //] + return 0; +} + +#endif // LAMBDAS + |