Mercurial > octave
changeset 28760:f4ed4be5d809
Use lambda expression instead of file static one-line function in cset b6bed53f059f.
* jsonencode.cc: Use C++ lambda expression instead of declaring a file static
one-line function.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 18 Sep 2020 11:58:38 -0700 |
parents | b6bed53f059f |
children | b5461b1dc0ca |
files | libinterp/corefcn/jsonencode.cc |
diffstat | 1 files changed, 6 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/jsonencode.cc Fri Sep 18 19:17:12 2020 +0200 +++ b/libinterp/corefcn/jsonencode.cc Fri Sep 18 11:58:38 2020 -0700 @@ -375,12 +375,6 @@ } } -static void -warning_cleanup (const octave_value_list& args) -{ - set_warning_state (args); -} - //! Encodes any Octave object. This function only serves as an interface //! by choosing which function to call from the previous functions. //! @@ -419,7 +413,9 @@ octave_value_list ws = set_warning_state ("Octave:classdef-to-struct", "off"); octave::unwind_protect frame; - frame.add_fcn (warning_cleanup, ws); + auto cleanup_ptr = +[] (octave_value_list ws_orig) + { set_warning_state (ws_orig); } ; + frame.add_fcn (cleanup_ptr, ws); encode_struct (writer, obj.scalar_map_value ().getfield ("map"), ConvertInfAndNaN); @@ -429,7 +425,9 @@ octave_value_list ws = set_warning_state ("Octave:classdef-to-struct", "off"); octave::unwind_protect frame; - frame.add_fcn (warning_cleanup, ws); + auto cleanup_ptr = +[] (octave_value_list ws_orig) + { set_warning_state (ws_orig); } ; + frame.add_fcn (cleanup_ptr, ws); encode_struct (writer, obj.scalar_map_value (), ConvertInfAndNaN); }