[modularization] LocalFunction and ScopedExit cycle
Hi Lorenzo, Do you see an easy way remove the cycle between LocalFunction and ScopedExit? Best, Vcente /scope_exit/ <http://www.pdimov.com/tmp/report-6d1f271/scope_exit.html> |<boost/scope_exit.hpp>| * from |<boost/local_function/aux_/macro/code_/bind.hpp>| * from |<boost/local_function/aux_/macro/code_/functor.hpp>| * from |<boost/local_function/aux_/macro/code_/result.hpp>| * from |<boost/local_function/aux_/macro/decl.hpp>| /local_function/ <http://www.pdimov.com/tmp/report-6d1f271/local_function.html> |<boost/local_function/detail/preprocessor/keyword/thisunderscore.hpp>| * from |<boost/scope_exit.hpp>| |<boost/local_function/detail/preprocessor/line_counter.hpp>| * from |<boost/scope_exit.hpp>| |<boost/local_function/detail/preprocessor/void_list.hpp>| * from |<boost/scope_exit.hpp>|
Le 06/06/14 19:15, Vicente J. Botet Escriba a écrit :
Hi Lorenzo,
Do you see an easy way remove the cycle between LocalFunction and ScopedExit?
Best, Vcente
Lorenzo told me "So I'll move only the few macros that ScopeExit needs out of local_function/detail/preprocessor and put them in scope_exit.hpp. I'll leave the other macros needed by LocalFunction but not by ScopeExit in local_function/detail/preprocessor. I think that's best so scope_exit.hpp only defines the pp macros it needs, LocalFunction defines the additional macros it needs, ScopeExit no longer depends on LocalFunction, and LocalFunction will continue to depend on ScopeExit. " This will solve this cycle. Best, Vicente
Hello Vicente/all, On Mon, Jun 9, 2014 at 12:59 AM, Vicente J. Botet Escriba <vicente.botet@wanadoo.fr> wrote:
Lorenzo told me
"So I'll move only the few macros that ScopeExit needs out of local_function/detail/preprocessor and put them in scope_exit.hpp. I'll leave the other macros needed by LocalFunction but not by ScopeExit in local_function/detail/preprocessor. I think that's best so scope_exit.hpp only defines the pp macros it needs, LocalFunction defines the additional macros it needs, ScopeExit no longer depends on LocalFunction, and LocalFunction will continue to depend on ScopeExit. "
This will solve this cycle.
Please find attached a version of scope_exit.hpp that does /not/ use any of Boost.LocalFunction headers. I have tested it locally compiling and running all Boost.ScopeExit examples and tests using MSVC 2010. I am happy to commit this to boost/trunk/ at any time... Thanks, --Lorenzo
On Mon, Jun 9, 2014 at 12:59 AM, Vicente J. Botet Escriba <vicente.botet@wanadoo.fr> wrote:
Le 06/06/14 19:15, Vicente J. Botet Escriba a écrit :
Hi Lorenzo,
Do you see an easy way remove the cycle between LocalFunction and ScopedExit?
Best, Vcente
Lorenzo told me
"So I'll move only the few macros that ScopeExit needs out of local_function/detail/preprocessor and put them in scope_exit.hpp. I'll leave the other macros needed by LocalFunction but not by ScopeExit in local_function/detail/preprocessor. I think that's best so scope_exit.hpp only defines the pp macros it needs, LocalFunction defines the additional macros it needs, ScopeExit no longer depends on LocalFunction, and LocalFunction will continue to depend on ScopeExit. "
This will solve this cycle.
Hello all, I have made the above changes and pushed them to ScopeExit develop first and then master. ScopeExit no longer uses LocalFunction. These changes were already tested using ScopeExit develop regression tests. I also ran ScopeExit master local tests. I will be double checking ScopeExit master regression tests in the next few days. Regards, --Lorenzo
participants (2)
-
Lorenzo Caminiti
-
Vicente J. Botet Escriba