* installing *source* package ‘BioCro’ ...
** package ‘BioCro’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++-14 (GCC) 14.1.0’
using C++11
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/BioCro/src'
g++-14 -std=gnu++11 -MT R_dynamical_system.o -MMD -MP -MF .deps/R_dynamical_system.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o R_dynamical_system.o R_dynamical_system.cpp
mv -f .deps/R_dynamical_system.Td .deps/R_dynamical_system.d && touch R_dynamical_system.o
g++-14 -std=gnu++11 -MT R_framework_version.o -MMD -MP -MF .deps/R_framework_version.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o R_framework_version.o R_framework_version.cpp
mv -f .deps/R_framework_version.Td .deps/R_framework_version.d && touch R_framework_version.o
g++-14 -std=gnu++11 -MT R_get_all_ode_solvers.o -MMD -MP -MF .deps/R_get_all_ode_solvers.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o R_get_all_ode_solvers.o R_get_all_ode_solvers.cpp
mv -f .deps/R_get_all_ode_solvers.Td .deps/R_get_all_ode_solvers.d && touch R_get_all_ode_solvers.o
g++-14 -std=gnu++11 -MT R_module_library.o -MMD -MP -MF .deps/R_module_library.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o R_module_library.o R_module_library.cpp
mv -f .deps/R_module_library.Td .deps/R_module_library.d && touch R_module_library.o
g++-14 -std=gnu++11 -MT R_modules.o -MMD -MP -MF .deps/R_modules.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o R_modules.o R_modules.cpp
mv -f .deps/R_modules.Td .deps/R_modules.d && touch R_modules.o
g++-14 -std=gnu++11 -MT R_run_biocro.o -MMD -MP -MF .deps/R_run_biocro.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o R_run_biocro.o R_run_biocro.cpp
g++-14 -std=gnu++11 -MT R_system_derivatives.o -MMD -MP -MF .deps/R_system_derivatives.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o R_system_derivatives.o R_system_derivatives.cpp
g++-14 -std=gnu++11 -MT init.o -MMD -MP -MF .deps/init.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o init.o init.cpp
mv -f .deps/init.Td .deps/init.d && touch init.o
mv -f .deps/R_run_biocro.Td .deps/R_run_biocro.d && touch R_run_biocro.o
mv -f .deps/R_system_derivatives.Td .deps/R_system_derivatives.d && touch R_system_derivatives.o
g++-14 -std=gnu++11 -MT module_library/AuxBioCro.o -MMD -MP -MF .deps/module_library/AuxBioCro.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/AuxBioCro.o module_library/AuxBioCro.cpp
mv -f .deps/module_library/AuxBioCro.Td .deps/module_library/AuxBioCro.d && touch module_library/AuxBioCro.o
g++-14 -std=gnu++11 -MT module_library/CanAC.o -MMD -MP -MF .deps/module_library/CanAC.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/CanAC.o module_library/CanAC.cpp
mv -f .deps/module_library/CanAC.Td .deps/module_library/CanAC.d && touch module_library/CanAC.o
g++-14 -std=gnu++11 -MT module_library/FvCB_assim.o -MMD -MP -MF .deps/module_library/FvCB_assim.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/FvCB_assim.o module_library/FvCB_assim.cpp
mv -f .deps/module_library/FvCB_assim.Td .deps/module_library/FvCB_assim.d && touch module_library/FvCB_assim.o
g++-14 -std=gnu++11 -MT module_library/ball_berry_gs.o -MMD -MP -MF .deps/module_library/ball_berry_gs.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/ball_berry_gs.o module_library/ball_berry_gs.cpp
mv -f .deps/module_library/ball_berry_gs.Td .deps/module_library/ball_berry_gs.d && touch module_library/ball_berry_gs.o
g++-14 -std=gnu++11 -MT module_library/c3CanAC.o -MMD -MP -MF .deps/module_library/c3CanAC.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/c3CanAC.o module_library/c3CanAC.cpp
mv -f .deps/module_library/c3CanAC.Td .deps/module_library/c3CanAC.d && touch module_library/c3CanAC.o
g++-14 -std=gnu++11 -MT module_library/c3EvapoTrans.o -MMD -MP -MF .deps/module_library/c3EvapoTrans.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/c3EvapoTrans.o module_library/c3EvapoTrans.cpp
mv -f .deps/module_library/c3EvapoTrans.Td .deps/module_library/c3EvapoTrans.d && touch module_library/c3EvapoTrans.o
g++-14 -std=gnu++11 -MT module_library/c3_canopy.o -MMD -MP -MF .deps/module_library/c3_canopy.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/c3_canopy.o module_library/c3_canopy.cpp
In file included from module_library/c3_canopy.cpp:1:
module_library/c3_canopy.h: In constructor 'standardBML::c3_canopy::c3_canopy(const state_map&, state_map*)':
module_library/c3_canopy.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& lai;
      |                   ^~~
module_library/c3_canopy.h:18:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   18 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:19:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   19 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& solar;
      |                   ^~~~~
module_library/c3_canopy.h:20:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"solar"), std::allocator<char>()))'
   20 |           solar{get_input(input_quantities, "solar")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& temp;
      |                   ^~~~
module_library/c3_canopy.h:21:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   21 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& rh;
      |                   ^~
module_library/c3_canopy.h:22:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   22 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/c3_canopy.h:23:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   23 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& nlayers;
      |                   ^~~~~~~
module_library/c3_canopy.h:24:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nlayers"), std::allocator<char>()))'
   24 |           nlayers{get_input(input_quantities, "nlayers")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& vmax;
      |                   ^~~~
module_library/c3_canopy.h:25:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax"), std::allocator<char>()))'
   25 |           vmax{get_input(input_quantities, "vmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& jmax;
      |                   ^~~~
module_library/c3_canopy.h:26:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"jmax"), std::allocator<char>()))'
   26 |           jmax{get_input(input_quantities, "jmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& tpu_rate_max;
      |                   ^~~~~~~~~~~~
module_library/c3_canopy.h:27:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tpu_rate_max"), std::allocator<char>()))'
   27 |           tpu_rate_max{get_input(input_quantities, "tpu_rate_max")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& Rd;
      |                   ^~
module_library/c3_canopy.h:28:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   28 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& Catm;
      |                   ^~~~
module_library/c3_canopy.h:29:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   29 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& O2;
      |                   ^~
module_library/c3_canopy.h:30:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"O2"), std::allocator<char>()))'
   30 |           O2{get_input(input_quantities, "O2")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& b0;
      |                   ^~
module_library/c3_canopy.h:31:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   31 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& b1;
      |                   ^~
module_library/c3_canopy.h:32:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   32 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c3_canopy.h:33:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   33 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& theta;
      |                   ^~~~~
module_library/c3_canopy.h:34:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   34 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& kd;
      |                   ^~
module_library/c3_canopy.h:35:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kd"), std::allocator<char>()))'
   35 |           kd{get_input(input_quantities, "kd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& heightf;
      |                   ^~~~~~~
module_library/c3_canopy.h:36:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"heightf"), std::allocator<char>()))'
   36 |           heightf{get_input(input_quantities, "heightf")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& LeafN;
      |                   ^~~~~
module_library/c3_canopy.h:37:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafN"), std::allocator<char>()))'
   37 |           LeafN{get_input(input_quantities, "LeafN")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:94:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   94 |     double const& kpLN;
      |                   ^~~~
module_library/c3_canopy.h:38:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kpLN"), std::allocator<char>()))'
   38 |           kpLN{get_input(input_quantities, "kpLN")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:95:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   95 |     double const& lnb0;
      |                   ^~~~
module_library/c3_canopy.h:39:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnb0"), std::allocator<char>()))'
   39 |           lnb0{get_input(input_quantities, "lnb0")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     double const& lnb1;
      |                   ^~~~
module_library/c3_canopy.h:40:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnb1"), std::allocator<char>()))'
   40 |           lnb1{get_input(input_quantities, "lnb1")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     double const& lnfun;
      |                   ^~~~~
module_library/c3_canopy.h:41:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnfun"), std::allocator<char>()))'
   41 |           lnfun{get_input(input_quantities, "lnfun")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     double const& chil;
      |                   ^~~~
module_library/c3_canopy.h:42:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"chil"), std::allocator<char>()))'
   42 |           chil{get_input(input_quantities, "chil")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c3_canopy.h:43:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   43 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:44:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   44 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:101:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  101 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:45:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   45 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:102:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  102 |     double const& atmospheric_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:46:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_transmittance"), std::allocator<char>()))'
   46 |           atmospheric_transmittance{get_input(input_quantities, "atmospheric_transmittance")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:103:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  103 |     double const& atmospheric_scattering;
      |                   ^~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:47:43: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_scattering"), std::allocator<char>()))'
   47 |           atmospheric_scattering{get_input(input_quantities, "atmospheric_scattering")},
      |                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:104:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  104 |     double const& growth_respiration_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:48:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"growth_respiration_fraction"), std::allocator<char>()))'
   48 |           growth_respiration_fraction{get_input(input_quantities, "growth_respiration_fraction")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:105:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  105 |     double const& electrons_per_carboxylation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:49:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_carboxylation"), std::allocator<char>()))'
   49 |           electrons_per_carboxylation{get_input(input_quantities, "electrons_per_carboxylation")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:106:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  106 |     double const& electrons_per_oxygenation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:50:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_oxygenation"), std::allocator<char>()))'
   50 |           electrons_per_oxygenation{get_input(input_quantities, "electrons_per_oxygenation")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& absorptivity_par;
      |                   ^~~~~~~~~~~~~~~~
module_library/c3_canopy.h:51:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorptivity_par"), std::allocator<char>()))'
   51 |           absorptivity_par{get_input(input_quantities, "absorptivity_par")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:52:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   52 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& par_energy_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:53:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_fraction"), std::allocator<char>()))'
   53 |           par_energy_fraction{get_input(input_quantities, "par_energy_fraction")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& leaf_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:54:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_transmittance"), std::allocator<char>()))'
   54 |           leaf_transmittance{get_input(input_quantities, "leaf_transmittance")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& leaf_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/c3_canopy.h:55:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_reflectance"), std::allocator<char>()))'
   55 |           leaf_reflectance{get_input(input_quantities, "leaf_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/c3_canopy.h:56:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   56 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     double const& windspeed_height;
      |                   ^~~~~~~~~~~~~~~~
module_library/c3_canopy.h:57:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed_height"), std::allocator<char>()))'
   57 |           windspeed_height{get_input(input_quantities, "windspeed_height")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& beta_PSII;
      |                   ^~~~~~~~~
module_library/c3_canopy.h:58:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta_PSII"), std::allocator<char>()))'
   58 |           beta_PSII{get_input(input_quantities, "beta_PSII")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++-14 -std=gnu++11 -MT module_library/c3_leaf_photosynthesis.o -MMD -MP -MF .deps/module_library/c3_leaf_photosynthesis.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/c3_leaf_photosynthesis.o module_library/c3_leaf_photosynthesis.cpp
mv -f .deps/module_library/c3_canopy.Td .deps/module_library/c3_canopy.d && touch module_library/c3_canopy.o
g++-14 -std=gnu++11 -MT module_library/c3photo.o -MMD -MP -MF .deps/module_library/c3photo.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/c3photo.o module_library/c3photo.cpp
In file included from module_library/c3_leaf_photosynthesis.cpp:1:
module_library/c3_leaf_photosynthesis.h: In constructor 'standardBML::c3_leaf_photosynthesis::c3_leaf_photosynthesis(const state_map&, state_map*)':
module_library/c3_leaf_photosynthesis.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     double const& absorbed_ppfd;
      |                   ^~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:24:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorbed_ppfd"), std::allocator<char>()))'
   24 |           absorbed_ppfd{get_input(input_quantities, "absorbed_ppfd")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:71:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   71 |     double const& ambient_temperature;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:25:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   25 |           ambient_temperature{get_input(input_quantities, "temp")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:72:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   72 |     double const& rh;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:26:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   26 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:73:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   73 |     double const& vmax1;
      |                   ^~~~~
module_library/c3_leaf_photosynthesis.h:27:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax1"), std::allocator<char>()))'
   27 |           vmax1{get_input(input_quantities, "vmax1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& jmax;
      |                   ^~~~
module_library/c3_leaf_photosynthesis.h:28:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"jmax"), std::allocator<char>()))'
   28 |           jmax{get_input(input_quantities, "jmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& tpu_rate_max;
      |                   ^~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:29:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tpu_rate_max"), std::allocator<char>()))'
   29 |           tpu_rate_max{get_input(input_quantities, "tpu_rate_max")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& Rd;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:30:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   30 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& b0;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:31:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   31 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& b1;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:32:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   32 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c3_leaf_photosynthesis.h:33:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   33 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& Catm;
      |                   ^~~~
module_library/c3_leaf_photosynthesis.h:34:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   34 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:35:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   35 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& O2;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:36:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"O2"), std::allocator<char>()))'
   36 |           O2{get_input(input_quantities, "O2")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& theta;
      |                   ^~~~~
module_library/c3_leaf_photosynthesis.h:37:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   37 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c3_leaf_photosynthesis.h:38:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   38 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& electrons_per_carboxylation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:39:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_carboxylation"), std::allocator<char>()))'
   39 |           electrons_per_carboxylation{get_input(input_quantities, "electrons_per_carboxylation")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& electrons_per_oxygenation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:40:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_oxygenation"), std::allocator<char>()))'
   40 |           electrons_per_oxygenation{get_input(input_quantities, "electrons_per_oxygenation")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& average_absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:41:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"average_absorbed_shortwave"), std::allocator<char>()))'
   41 |           average_absorbed_shortwave{get_input(input_quantities, "average_absorbed_shortwave")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/c3_leaf_photosynthesis.h:42:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   42 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& height;
      |                   ^~~~~~
module_library/c3_leaf_photosynthesis.h:43:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"height"), std::allocator<char>()))'
   43 |           height{get_input(input_quantities, "height")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:44:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   44 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:45:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   45 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& windspeed_height;
      |                   ^~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:46:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed_height"), std::allocator<char>()))'
   46 |           windspeed_height{get_input(input_quantities, "windspeed_height")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& beta_PSII;
      |                   ^~~~~~~~~
module_library/c3_leaf_photosynthesis.h:47:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta_PSII"), std::allocator<char>()))'
   47 |           beta_PSII{get_input(input_quantities, "beta_PSII")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/module_library/c3_leaf_photosynthesis.Td .deps/module_library/c3_leaf_photosynthesis.d && touch module_library/c3_leaf_photosynthesis.o
g++-14 -std=gnu++11 -MT module_library/c4_leaf_photosynthesis.o -MMD -MP -MF .deps/module_library/c4_leaf_photosynthesis.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/c4_leaf_photosynthesis.o module_library/c4_leaf_photosynthesis.cpp
mv -f .deps/module_library/c3photo.Td .deps/module_library/c3photo.d && touch module_library/c3photo.o
In file included from module_library/c4_leaf_photosynthesis.cpp:1:
module_library/c4_leaf_photosynthesis.h: In constructor 'standardBML::c4_leaf_photosynthesis::c4_leaf_photosynthesis(const state_map&, state_map*)':
module_library/c4_leaf_photosynthesis.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     double const& incident_ppfd;
      |                   ^~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:24:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"incident_ppfd"), std::allocator<char>()))'
   24 |           incident_ppfd{get_input(input_quantities, "incident_ppfd")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:71:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   71 |     double const& ambient_temperature;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:25:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   25 |           ambient_temperature{get_input(input_quantities, "temp")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:72:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   72 |     double const& rh;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:26:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   26 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:73:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   73 |     double const& vmax1;
      |                   ^~~~~
module_library/c4_leaf_photosynthesis.h:27:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax1"), std::allocator<char>()))'
   27 |           vmax1{get_input(input_quantities, "vmax1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& alpha1;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:28:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha1"), std::allocator<char>()))'
   28 |           alpha1{get_input(input_quantities, "alpha1")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& kparm;
      |                   ^~~~~
module_library/c4_leaf_photosynthesis.h:29:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kparm"), std::allocator<char>()))'
   29 |           kparm{get_input(input_quantities, "kparm")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& theta;
      |                   ^~~~~
module_library/c4_leaf_photosynthesis.h:30:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   30 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& beta;
      |                   ^~~~
module_library/c4_leaf_photosynthesis.h:31:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta"), std::allocator<char>()))'
   31 |           beta{get_input(input_quantities, "beta")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& Rd;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:32:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   32 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& b0;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:33:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   33 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& b1;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:34:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   34 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:35:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   35 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c4_leaf_photosynthesis.h:36:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   36 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& Catm;
      |                   ^~~~
module_library/c4_leaf_photosynthesis.h:37:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   37 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:38:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   38 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& upperT;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:39:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"upperT"), std::allocator<char>()))'
   39 |           upperT{get_input(input_quantities, "upperT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& lowerT;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:40:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lowerT"), std::allocator<char>()))'
   40 |           lowerT{get_input(input_quantities, "lowerT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& average_absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:41:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"average_absorbed_shortwave"), std::allocator<char>()))'
   41 |           average_absorbed_shortwave{get_input(input_quantities, "average_absorbed_shortwave")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:42:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorbed_shortwave"), std::allocator<char>()))'
   42 |           absorbed_shortwave{get_input(input_quantities, "absorbed_shortwave")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/c4_leaf_photosynthesis.h:43:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   43 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& leafwidth;
      |                   ^~~~~~~~~
module_library/c4_leaf_photosynthesis.h:44:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leafwidth"), std::allocator<char>()))'
   44 |           leafwidth{get_input(input_quantities, "leafwidth")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:45:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   45 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:46:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   46 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& et_equation;
      |                   ^~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:47:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"et_equation"), std::allocator<char>()))'
   47 |           et_equation{get_input(input_quantities, "et_equation")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/module_library/c4_leaf_photosynthesis.Td .deps/module_library/c4_leaf_photosynthesis.d && touch module_library/c4_leaf_photosynthesis.o
g++-14 -std=gnu++11 -MT module_library/c4photo.o -MMD -MP -MF .deps/module_library/c4photo.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/c4photo.o module_library/c4photo.cpp
mv -f .deps/module_library/c4photo.Td .deps/module_library/c4photo.d && touch module_library/c4photo.o
g++-14 -std=gnu++11 -MT module_library/collatz_photo.o -MMD -MP -MF .deps/module_library/collatz_photo.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/collatz_photo.o module_library/collatz_photo.cpp
mv -f .deps/module_library/collatz_photo.Td .deps/module_library/collatz_photo.d && touch module_library/collatz_photo.o
g++-14 -std=gnu++11 -MT module_library/eC4photo.o -MMD -MP -MF .deps/module_library/eC4photo.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/eC4photo.o module_library/eC4photo.cpp
mv -f .deps/module_library/eC4photo.Td .deps/module_library/eC4photo.d && touch module_library/eC4photo.o
g++-14 -std=gnu++11 -MT module_library/lightME.o -MMD -MP -MF .deps/module_library/lightME.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/lightME.o module_library/lightME.cpp
mv -f .deps/module_library/lightME.Td .deps/module_library/lightME.d && touch module_library/lightME.o
g++-14 -std=gnu++11 -MT module_library/module_library.o -MMD -MP -MF .deps/module_library/module_library.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/module_library.o module_library/module_library.cpp
g++-14 -std=gnu++11 -MT module_library/multilayer_c3_canopy.o -MMD -MP -MF .deps/module_library/multilayer_c3_canopy.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/multilayer_c3_canopy.o module_library/multilayer_c3_canopy.cpp
In file included from module_library/multilayer_c3_canopy.h:6,
                 from module_library/multilayer_c3_canopy.cpp:1:
module_library/multilayer_canopy_properties.h: In constructor 'standardBML::multilayer_canopy_properties::multilayer_canopy_properties(const int&, const state_map&, state_map*)':
module_library/multilayer_canopy_properties.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& par_incident_direct;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:66:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_direct"), std::allocator<char>()))'
   66 |           par_incident_direct{get_input(input_quantities, "par_incident_direct")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& par_incident_diffuse;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:67:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_diffuse"), std::allocator<char>()))'
   67 |           par_incident_diffuse{get_input(input_quantities, "par_incident_diffuse")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& absorptivity_par;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:68:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorptivity_par"), std::allocator<char>()))'
   68 |           absorptivity_par{get_input(input_quantities, "absorptivity_par")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& lai;
      |                   ^~~
module_library/multilayer_canopy_properties.h:69:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   69 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:70:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   70 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& kd;
      |                   ^~
module_library/multilayer_canopy_properties.h:71:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kd"), std::allocator<char>()))'
   71 |           kd{get_input(input_quantities, "kd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     double const& chil;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:72:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"chil"), std::allocator<char>()))'
   72 |           chil{get_input(input_quantities, "chil")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& heightf;
      |                   ^~~~~~~
module_library/multilayer_canopy_properties.h:73:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"heightf"), std::allocator<char>()))'
   73 |           heightf{get_input(input_quantities, "heightf")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/multilayer_canopy_properties.h:74:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   74 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     double const& LeafN;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:75:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafN"), std::allocator<char>()))'
   75 |           LeafN{get_input(input_quantities, "LeafN")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     double const& kpLN;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:76:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kpLN"), std::allocator<char>()))'
   76 |           kpLN{get_input(input_quantities, "kpLN")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     double const& lnfun;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:77:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnfun"), std::allocator<char>()))'
   77 |           lnfun{get_input(input_quantities, "lnfun")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:78:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   78 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:120:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  120 |     double const& par_energy_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:79:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_fraction"), std::allocator<char>()))'
   79 |           par_energy_fraction{get_input(input_quantities, "par_energy_fraction")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:121:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  121 |     double const& leaf_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:80:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_transmittance"), std::allocator<char>()))'
   80 |           leaf_transmittance{get_input(input_quantities, "leaf_transmittance")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:122:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  122 |     double const& leaf_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:81:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_reflectance"), std::allocator<char>()))'
   81 |           leaf_reflectance{get_input(input_quantities, "leaf_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/multilayer_c3_canopy.h:7:
module_library/c3_leaf_photosynthesis.h: In constructor 'standardBML::c3_leaf_photosynthesis::c3_leaf_photosynthesis(const state_map&, state_map*)':
module_library/c3_leaf_photosynthesis.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     double const& absorbed_ppfd;
      |                   ^~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:24:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorbed_ppfd"), std::allocator<char>()))'
   24 |           absorbed_ppfd{get_input(input_quantities, "absorbed_ppfd")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:71:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   71 |     double const& ambient_temperature;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:25:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   25 |           ambient_temperature{get_input(input_quantities, "temp")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:72:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   72 |     double const& rh;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:26:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   26 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:73:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   73 |     double const& vmax1;
      |                   ^~~~~
module_library/c3_leaf_photosynthesis.h:27:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax1"), std::allocator<char>()))'
   27 |           vmax1{get_input(input_quantities, "vmax1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& jmax;
      |                   ^~~~
module_library/c3_leaf_photosynthesis.h:28:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"jmax"), std::allocator<char>()))'
   28 |           jmax{get_input(input_quantities, "jmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& tpu_rate_max;
      |                   ^~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:29:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tpu_rate_max"), std::allocator<char>()))'
   29 |           tpu_rate_max{get_input(input_quantities, "tpu_rate_max")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& Rd;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:30:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   30 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& b0;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:31:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   31 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& b1;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:32:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   32 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c3_leaf_photosynthesis.h:33:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   33 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& Catm;
      |                   ^~~~
module_library/c3_leaf_photosynthesis.h:34:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   34 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:35:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   35 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& O2;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:36:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"O2"), std::allocator<char>()))'
   36 |           O2{get_input(input_quantities, "O2")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& theta;
      |                   ^~~~~
module_library/c3_leaf_photosynthesis.h:37:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   37 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c3_leaf_photosynthesis.h:38:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   38 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& electrons_per_carboxylation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:39:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_carboxylation"), std::allocator<char>()))'
   39 |           electrons_per_carboxylation{get_input(input_quantities, "electrons_per_carboxylation")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& electrons_per_oxygenation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:40:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_oxygenation"), std::allocator<char>()))'
   40 |           electrons_per_oxygenation{get_input(input_quantities, "electrons_per_oxygenation")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& average_absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:41:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"average_absorbed_shortwave"), std::allocator<char>()))'
   41 |           average_absorbed_shortwave{get_input(input_quantities, "average_absorbed_shortwave")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/c3_leaf_photosynthesis.h:42:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   42 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& height;
      |                   ^~~~~~
module_library/c3_leaf_photosynthesis.h:43:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"height"), std::allocator<char>()))'
   43 |           height{get_input(input_quantities, "height")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:44:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   44 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:45:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   45 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& windspeed_height;
      |                   ^~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:46:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed_height"), std::allocator<char>()))'
   46 |           windspeed_height{get_input(input_quantities, "windspeed_height")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& beta_PSII;
      |                   ^~~~~~~~~
module_library/c3_leaf_photosynthesis.h:47:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta_PSII"), std::allocator<char>()))'
   47 |           beta_PSII{get_input(input_quantities, "beta_PSII")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:11:
module_library/harmonic_oscillator.h: In constructor 'standardBML::harmonic_oscillator::harmonic_oscillator(const state_map&, state_map*)':
module_library/harmonic_oscillator.h:35:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   35 |     double const& mass;
      |                   ^~~~
module_library/harmonic_oscillator.h:19:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mass"), std::allocator<char>()))'
   19 |           mass{get_input(input_quantities, "mass")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/harmonic_oscillator.h:36:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   36 |     double const& spring_constant;
      |                   ^~~~~~~~~~~~~~~
module_library/harmonic_oscillator.h:20:36: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"spring_constant"), std::allocator<char>()))'
   20 |           spring_constant{get_input(input_quantities, "spring_constant")},
      |                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/harmonic_oscillator.h:37:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   37 |     double const& position;
      |                   ^~~~~~~~
module_library/harmonic_oscillator.h:21:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"position"), std::allocator<char>()))'
   21 |           position{get_input(input_quantities, "position")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/harmonic_oscillator.h:38:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   38 |     double const& velocity;
      |                   ^~~~~~~~
module_library/harmonic_oscillator.h:22:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"velocity"), std::allocator<char>()))'
   22 |           velocity{get_input(input_quantities, "velocity")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/harmonic_oscillator.h: In constructor 'standardBML::harmonic_energy::harmonic_energy(const state_map&, state_map*)':
module_library/harmonic_oscillator.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     double const& mass;
      |                   ^~~~
module_library/harmonic_oscillator.h:81:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mass"), std::allocator<char>()))'
   81 |           mass{get_input(input_quantities, "mass")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/harmonic_oscillator.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     double const& spring_constant;
      |                   ^~~~~~~~~~~~~~~
module_library/harmonic_oscillator.h:82:36: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"spring_constant"), std::allocator<char>()))'
   82 |           spring_constant{get_input(input_quantities, "spring_constant")},
      |                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/harmonic_oscillator.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     double const& position;
      |                   ^~~~~~~~
module_library/harmonic_oscillator.h:83:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"position"), std::allocator<char>()))'
   83 |           position{get_input(input_quantities, "position")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/harmonic_oscillator.h:101:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  101 |     double const& velocity;
      |                   ^~~~~~~~
module_library/harmonic_oscillator.h:84:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"velocity"), std::allocator<char>()))'
   84 |           velocity{get_input(input_quantities, "velocity")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/module_library/multilayer_c3_canopy.Td .deps/module_library/multilayer_c3_canopy.d && touch module_library/multilayer_c3_canopy.o
g++-14 -std=gnu++11 -MT module_library/multilayer_c4_canopy.o -MMD -MP -MF .deps/module_library/multilayer_c4_canopy.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/multilayer_c4_canopy.o module_library/multilayer_c4_canopy.cpp
In file included from module_library/module_library.cpp:14:
module_library/one_layer_soil_profile_derivatives.h: In constructor 'standardBML::one_layer_soil_profile_derivatives::one_layer_soil_profile_derivatives(const state_map&, state_map*)':
module_library/one_layer_soil_profile_derivatives.h:44:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   44 |     double const& soil_water_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:20:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_water_content"), std::allocator<char>()))'
   20 |           soil_water_content{get_input(input_quantities, "soil_water_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:45:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   45 |     double const& soil_depth;
      |                   ^~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:21:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_depth"), std::allocator<char>()))'
   21 |           soil_depth{get_input(input_quantities, "soil_depth")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:46:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   46 |     double const& soil_field_capacity;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:22:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_field_capacity"), std::allocator<char>()))'
   22 |           soil_field_capacity{get_input(input_quantities, "soil_field_capacity")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:47:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   47 |     double const& soil_wilting_point;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:23:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_wilting_point"), std::allocator<char>()))'
   23 |           soil_wilting_point{get_input(input_quantities, "soil_wilting_point")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:48:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   48 |     double const& soil_saturated_conductivity;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:24:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_saturated_conductivity"), std::allocator<char>()))'
   24 |           soil_saturated_conductivity{get_input(input_quantities, "soil_saturated_conductivity")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:49:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   49 |     double const& soil_air_entry;
      |                   ^~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:25:35: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_air_entry"), std::allocator<char>()))'
   25 |           soil_air_entry{get_input(input_quantities, "soil_air_entry")},
      |                          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:50:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   50 |     double const& soil_b_coefficient;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:26:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_b_coefficient"), std::allocator<char>()))'
   26 |           soil_b_coefficient{get_input(input_quantities, "soil_b_coefficient")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:51:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   51 |     double const& acceleration_from_gravity;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:27:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"acceleration_from_gravity"), std::allocator<char>()))'
   27 |           acceleration_from_gravity{get_input(input_quantities, "acceleration_from_gravity")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:52:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   52 |     double const& precipitation_rate;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:28:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"precipitation_rate"), std::allocator<char>()))'
   28 |           precipitation_rate{get_input(input_quantities, "precipitation_rate")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:53:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   53 |     double const& soil_saturation_capacity;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:29:45: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_saturation_capacity"), std::allocator<char>()))'
   29 |           soil_saturation_capacity{get_input(input_quantities, "soil_saturation_capacity")},
      |                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:54:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   54 |     double const& soil_sand_content;
      |                   ^~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:30:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_sand_content"), std::allocator<char>()))'
   30 |           soil_sand_content{get_input(input_quantities, "soil_sand_content")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:55:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   55 |     double const& evapotranspiration;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/one_layer_soil_profile_derivatives.h:31:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"evapotranspiration"), std::allocator<char>()))'
   31 |           evapotranspiration{get_input(input_quantities, "evapotranspiration")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:15:
module_library/two_layer_soil_profile.h: In constructor 'standardBML::two_layer_soil_profile::two_layer_soil_profile(const state_map&, state_map*)':
module_library/two_layer_soil_profile.h:66:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   66 |     double const& cws1;
      |                   ^~~~
module_library/two_layer_soil_profile.h:20:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cws1"), std::allocator<char>()))'
   20 |           cws1{get_input(input_quantities, "cws1")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:67:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   67 |     double const& cws2;
      |                   ^~~~
module_library/two_layer_soil_profile.h:21:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cws2"), std::allocator<char>()))'
   21 |           cws2{get_input(input_quantities, "cws2")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:68:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   68 |     double const& soil_depth1;
      |                   ^~~~~~~~~~~
module_library/two_layer_soil_profile.h:22:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_depth1"), std::allocator<char>()))'
   22 |           soil_depth1{get_input(input_quantities, "soil_depth1")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:69:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   69 |     double const& soil_depth2;
      |                   ^~~~~~~~~~~
module_library/two_layer_soil_profile.h:23:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_depth2"), std::allocator<char>()))'
   23 |           soil_depth2{get_input(input_quantities, "soil_depth2")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     double const& soil_depth3;
      |                   ^~~~~~~~~~~
module_library/two_layer_soil_profile.h:24:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_depth3"), std::allocator<char>()))'
   24 |           soil_depth3{get_input(input_quantities, "soil_depth3")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:71:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   71 |     double const& precip;
      |                   ^~~~~~
module_library/two_layer_soil_profile.h:25:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"precip"), std::allocator<char>()))'
   25 |           precip{get_input(input_quantities, "precip")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:72:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   72 |     double const& canopy_transpiration_rate;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:26:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"canopy_transpiration_rate"), std::allocator<char>()))'
   26 |           canopy_transpiration_rate{get_input(input_quantities, "canopy_transpiration_rate")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:73:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   73 |     double const& soil_field_capacity;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:27:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_field_capacity"), std::allocator<char>()))'
   27 |           soil_field_capacity{get_input(input_quantities, "soil_field_capacity")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& soil_wilting_point;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:28:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_wilting_point"), std::allocator<char>()))'
   28 |           soil_wilting_point{get_input(input_quantities, "soil_wilting_point")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& soil_saturation_capacity;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:29:45: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_saturation_capacity"), std::allocator<char>()))'
   29 |           soil_saturation_capacity{get_input(input_quantities, "soil_saturation_capacity")},
      |                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& soil_air_entry;
      |                   ^~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:30:35: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_air_entry"), std::allocator<char>()))'
   30 |           soil_air_entry{get_input(input_quantities, "soil_air_entry")},
      |                          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& soil_saturated_conductivity;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:31:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_saturated_conductivity"), std::allocator<char>()))'
   31 |           soil_saturated_conductivity{get_input(input_quantities, "soil_saturated_conductivity")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& soil_b_coefficient;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:32:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_b_coefficient"), std::allocator<char>()))'
   32 |           soil_b_coefficient{get_input(input_quantities, "soil_b_coefficient")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& soil_sand_content;
      |                   ^~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:33:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_sand_content"), std::allocator<char>()))'
   33 |           soil_sand_content{get_input(input_quantities, "soil_sand_content")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& phi1;
      |                   ^~~~
module_library/two_layer_soil_profile.h:34:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"phi1"), std::allocator<char>()))'
   34 |           phi1{get_input(input_quantities, "phi1")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& phi2;
      |                   ^~~~
module_library/two_layer_soil_profile.h:35:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"phi2"), std::allocator<char>()))'
   35 |           phi2{get_input(input_quantities, "phi2")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& wsFun;
      |                   ^~~~~
module_library/two_layer_soil_profile.h:36:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"wsFun"), std::allocator<char>()))'
   36 |           wsFun{get_input(input_quantities, "wsFun")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& Root;
      |                   ^~~~
module_library/two_layer_soil_profile.h:37:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Root"), std::allocator<char>()))'
   37 |           Root{get_input(input_quantities, "Root")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& lai;
      |                   ^~~
module_library/two_layer_soil_profile.h:38:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   38 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& temp;
      |                   ^~~~
module_library/two_layer_soil_profile.h:39:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   39 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& solar;
      |                   ^~~~~
module_library/two_layer_soil_profile.h:40:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"solar"), std::allocator<char>()))'
   40 |           solar{get_input(input_quantities, "solar")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/two_layer_soil_profile.h:41:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   41 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& rh;
      |                   ^~
module_library/two_layer_soil_profile.h:42:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   42 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& hydrDist;
      |                   ^~~~~~~~
module_library/two_layer_soil_profile.h:43:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"hydrDist"), std::allocator<char>()))'
   43 |           hydrDist{get_input(input_quantities, "hydrDist")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& rfl;
      |                   ^~~
module_library/two_layer_soil_profile.h:44:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rfl"), std::allocator<char>()))'
   44 |           rfl{get_input(input_quantities, "rfl")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& rsec;
      |                   ^~~~
module_library/two_layer_soil_profile.h:45:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rsec"), std::allocator<char>()))'
   45 |           rsec{get_input(input_quantities, "rsec")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& rsdf;
      |                   ^~~~
module_library/two_layer_soil_profile.h:46:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rsdf"), std::allocator<char>()))'
   46 |           rsdf{get_input(input_quantities, "rsdf")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& soil_clod_size;
      |                   ^~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:47:35: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_clod_size"), std::allocator<char>()))'
   47 |           soil_clod_size{get_input(input_quantities, "soil_clod_size")},
      |                          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:94:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   94 |     double const& soil_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:48:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_reflectance"), std::allocator<char>()))'
   48 |           soil_reflectance{get_input(input_quantities, "soil_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:95:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   95 |     double const& soil_transmission;
      |                   ^~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:49:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_transmission"), std::allocator<char>()))'
   49 |           soil_transmission{get_input(input_quantities, "soil_transmission")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:50:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   50 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     double const& soil_water_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:51:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_water_content"), std::allocator<char>()))'
   51 |           soil_water_content{get_input(input_quantities, "soil_water_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/two_layer_soil_profile.h:52:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   52 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:16:
module_library/soil_evaporation.h: In constructor 'standardBML::soil_evaporation::soil_evaporation(const state_map&, state_map*)':
module_library/soil_evaporation.h:44:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   44 |     double const& lai;
      |                   ^~~
module_library/soil_evaporation.h:19:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   19 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:45:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   45 |     double const& temp;
      |                   ^~~~
module_library/soil_evaporation.h:20:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   20 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:46:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   46 |     double const& solar;
      |                   ^~~~~
module_library/soil_evaporation.h:21:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"solar"), std::allocator<char>()))'
   21 |           solar{get_input(input_quantities, "solar")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:47:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   47 |     double const& soil_water_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:22:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_water_content"), std::allocator<char>()))'
   22 |           soil_water_content{get_input(input_quantities, "soil_water_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:48:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   48 |     double const& soil_field_capacity;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:23:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_field_capacity"), std::allocator<char>()))'
   23 |           soil_field_capacity{get_input(input_quantities, "soil_field_capacity")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:49:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   49 |     double const& soil_wilting_point;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:24:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_wilting_point"), std::allocator<char>()))'
   24 |           soil_wilting_point{get_input(input_quantities, "soil_wilting_point")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:50:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   50 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/soil_evaporation.h:25:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   25 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:51:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   51 |     double const& rh;
      |                   ^~
module_library/soil_evaporation.h:26:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   26 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:52:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   52 |     double const& rsec;
      |                   ^~~~
module_library/soil_evaporation.h:27:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rsec"), std::allocator<char>()))'
   27 |           rsec{get_input(input_quantities, "rsec")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:53:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   53 |     double const& soil_clod_size;
      |                   ^~~~~~~~~~~~~~
module_library/soil_evaporation.h:28:35: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_clod_size"), std::allocator<char>()))'
   28 |           soil_clod_size{get_input(input_quantities, "soil_clod_size")},
      |                          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:54:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   54 |     double const& soil_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:29:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_reflectance"), std::allocator<char>()))'
   29 |           soil_reflectance{get_input(input_quantities, "soil_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:55:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   55 |     double const& soil_transmission;
      |                   ^~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:30:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"soil_transmission"), std::allocator<char>()))'
   30 |           soil_transmission{get_input(input_quantities, "soil_transmission")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:56:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   56 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:31:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   31 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:57:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   57 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/soil_evaporation.h:32:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   32 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:18:
module_library/c3_canopy.h: In constructor 'standardBML::c3_canopy::c3_canopy(const state_map&, state_map*)':
module_library/c3_canopy.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& lai;
      |                   ^~~
module_library/c3_canopy.h:18:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   18 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:19:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   19 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& solar;
      |                   ^~~~~
module_library/c3_canopy.h:20:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"solar"), std::allocator<char>()))'
   20 |           solar{get_input(input_quantities, "solar")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& temp;
      |                   ^~~~
module_library/c3_canopy.h:21:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   21 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& rh;
      |                   ^~
module_library/c3_canopy.h:22:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   22 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/c3_canopy.h:23:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   23 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& nlayers;
      |                   ^~~~~~~
module_library/c3_canopy.h:24:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nlayers"), std::allocator<char>()))'
   24 |           nlayers{get_input(input_quantities, "nlayers")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& vmax;
      |                   ^~~~
module_library/c3_canopy.h:25:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax"), std::allocator<char>()))'
   25 |           vmax{get_input(input_quantities, "vmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& jmax;
      |                   ^~~~
module_library/c3_canopy.h:26:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"jmax"), std::allocator<char>()))'
   26 |           jmax{get_input(input_quantities, "jmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& tpu_rate_max;
      |                   ^~~~~~~~~~~~
module_library/c3_canopy.h:27:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tpu_rate_max"), std::allocator<char>()))'
   27 |           tpu_rate_max{get_input(input_quantities, "tpu_rate_max")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& Rd;
      |                   ^~
module_library/c3_canopy.h:28:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   28 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& Catm;
      |                   ^~~~
module_library/c3_canopy.h:29:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   29 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& O2;
      |                   ^~
module_library/c3_canopy.h:30:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"O2"), std::allocator<char>()))'
   30 |           O2{get_input(input_quantities, "O2")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& b0;
      |                   ^~
module_library/c3_canopy.h:31:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   31 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& b1;
      |                   ^~
module_library/c3_canopy.h:32:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   32 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c3_canopy.h:33:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   33 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& theta;
      |                   ^~~~~
module_library/c3_canopy.h:34:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   34 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& kd;
      |                   ^~
module_library/c3_canopy.h:35:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kd"), std::allocator<char>()))'
   35 |           kd{get_input(input_quantities, "kd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& heightf;
      |                   ^~~~~~~
module_library/c3_canopy.h:36:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"heightf"), std::allocator<char>()))'
   36 |           heightf{get_input(input_quantities, "heightf")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& LeafN;
      |                   ^~~~~
module_library/c3_canopy.h:37:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafN"), std::allocator<char>()))'
   37 |           LeafN{get_input(input_quantities, "LeafN")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:94:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   94 |     double const& kpLN;
      |                   ^~~~
module_library/c3_canopy.h:38:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kpLN"), std::allocator<char>()))'
   38 |           kpLN{get_input(input_quantities, "kpLN")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:95:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   95 |     double const& lnb0;
      |                   ^~~~
module_library/c3_canopy.h:39:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnb0"), std::allocator<char>()))'
   39 |           lnb0{get_input(input_quantities, "lnb0")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     double const& lnb1;
      |                   ^~~~
module_library/c3_canopy.h:40:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnb1"), std::allocator<char>()))'
   40 |           lnb1{get_input(input_quantities, "lnb1")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     double const& lnfun;
      |                   ^~~~~
module_library/c3_canopy.h:41:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnfun"), std::allocator<char>()))'
   41 |           lnfun{get_input(input_quantities, "lnfun")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     double const& chil;
      |                   ^~~~
module_library/c3_canopy.h:42:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"chil"), std::allocator<char>()))'
   42 |           chil{get_input(input_quantities, "chil")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c3_canopy.h:43:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   43 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:44:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   44 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:101:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  101 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:45:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   45 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:102:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  102 |     double const& atmospheric_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:46:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_transmittance"), std::allocator<char>()))'
   46 |           atmospheric_transmittance{get_input(input_quantities, "atmospheric_transmittance")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:103:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  103 |     double const& atmospheric_scattering;
      |                   ^~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:47:43: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_scattering"), std::allocator<char>()))'
   47 |           atmospheric_scattering{get_input(input_quantities, "atmospheric_scattering")},
      |                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:104:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  104 |     double const& growth_respiration_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:48:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"growth_respiration_fraction"), std::allocator<char>()))'
   48 |           growth_respiration_fraction{get_input(input_quantities, "growth_respiration_fraction")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:105:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  105 |     double const& electrons_per_carboxylation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:49:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_carboxylation"), std::allocator<char>()))'
   49 |           electrons_per_carboxylation{get_input(input_quantities, "electrons_per_carboxylation")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:106:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  106 |     double const& electrons_per_oxygenation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:50:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_oxygenation"), std::allocator<char>()))'
   50 |           electrons_per_oxygenation{get_input(input_quantities, "electrons_per_oxygenation")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& absorptivity_par;
      |                   ^~~~~~~~~~~~~~~~
module_library/c3_canopy.h:51:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorptivity_par"), std::allocator<char>()))'
   51 |           absorptivity_par{get_input(input_quantities, "absorptivity_par")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:52:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   52 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& par_energy_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:53:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_fraction"), std::allocator<char>()))'
   53 |           par_energy_fraction{get_input(input_quantities, "par_energy_fraction")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& leaf_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:54:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_transmittance"), std::allocator<char>()))'
   54 |           leaf_transmittance{get_input(input_quantities, "leaf_transmittance")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& leaf_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/c3_canopy.h:55:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_reflectance"), std::allocator<char>()))'
   55 |           leaf_reflectance{get_input(input_quantities, "leaf_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/c3_canopy.h:56:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   56 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     double const& windspeed_height;
      |                   ^~~~~~~~~~~~~~~~
module_library/c3_canopy.h:57:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed_height"), std::allocator<char>()))'
   57 |           windspeed_height{get_input(input_quantities, "windspeed_height")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_canopy.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& beta_PSII;
      |                   ^~~~~~~~~
module_library/c3_canopy.h:58:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta_PSII"), std::allocator<char>()))'
   58 |           beta_PSII{get_input(input_quantities, "beta_PSII")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:19:
module_library/c4_canopy.h: In constructor 'standardBML::c4_canopy::c4_canopy(const state_map&, state_map*)':
module_library/c4_canopy.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& nileafn;
      |                   ^~~~~~~
module_library/c4_canopy.h:19:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nileafn"), std::allocator<char>()))'
   19 |           nileafn{get_input(input_quantities, "nileafn")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& nkln;
      |                   ^~~~
module_library/c4_canopy.h:20:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nkln"), std::allocator<char>()))'
   20 |           nkln{get_input(input_quantities, "nkln")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& nvmaxb1;
      |                   ^~~~~~~
module_library/c4_canopy.h:21:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nvmaxb1"), std::allocator<char>()))'
   21 |           nvmaxb1{get_input(input_quantities, "nvmaxb1")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& nvmaxb0;
      |                   ^~~~~~~
module_library/c4_canopy.h:22:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nvmaxb0"), std::allocator<char>()))'
   22 |           nvmaxb0{get_input(input_quantities, "nvmaxb0")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& nalphab1;
      |                   ^~~~~~~~
module_library/c4_canopy.h:23:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nalphab1"), std::allocator<char>()))'
   23 |           nalphab1{get_input(input_quantities, "nalphab1")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& nalphab0;
      |                   ^~~~~~~~
module_library/c4_canopy.h:24:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nalphab0"), std::allocator<char>()))'
   24 |           nalphab0{get_input(input_quantities, "nalphab0")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& nRdb1;
      |                   ^~~~~
module_library/c4_canopy.h:25:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nRdb1"), std::allocator<char>()))'
   25 |           nRdb1{get_input(input_quantities, "nRdb1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& nRdb0;
      |                   ^~~~~
module_library/c4_canopy.h:26:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nRdb0"), std::allocator<char>()))'
   26 |           nRdb0{get_input(input_quantities, "nRdb0")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& nkpLN;
      |                   ^~~~~
module_library/c4_canopy.h:27:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nkpLN"), std::allocator<char>()))'
   27 |           nkpLN{get_input(input_quantities, "nkpLN")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& nlnb0;
      |                   ^~~~~
module_library/c4_canopy.h:28:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nlnb0"), std::allocator<char>()))'
   28 |           nlnb0{get_input(input_quantities, "nlnb0")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& nlnb1;
      |                   ^~~~~
module_library/c4_canopy.h:29:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nlnb1"), std::allocator<char>()))'
   29 |           nlnb1{get_input(input_quantities, "nlnb1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& lai;
      |                   ^~~
module_library/c4_canopy.h:30:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   30 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:94:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   94 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:31:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   31 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:95:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   95 |     double const& solar;
      |                   ^~~~~
module_library/c4_canopy.h:32:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"solar"), std::allocator<char>()))'
   32 |           solar{get_input(input_quantities, "solar")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     double const& temp;
      |                   ^~~~
module_library/c4_canopy.h:33:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   33 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     double const& rh;
      |                   ^~
module_library/c4_canopy.h:34:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   34 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/c4_canopy.h:35:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   35 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     double const& nlayers;
      |                   ^~~~~~~
module_library/c4_canopy.h:36:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"nlayers"), std::allocator<char>()))'
   36 |           nlayers{get_input(input_quantities, "nlayers")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     double const& vmax1;
      |                   ^~~~~
module_library/c4_canopy.h:37:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax1"), std::allocator<char>()))'
   37 |           vmax1{get_input(input_quantities, "vmax1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:101:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  101 |     double const& alpha1;
      |                   ^~~~~~
module_library/c4_canopy.h:38:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha1"), std::allocator<char>()))'
   38 |           alpha1{get_input(input_quantities, "alpha1")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:102:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  102 |     double const& kparm;
      |                   ^~~~~
module_library/c4_canopy.h:39:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kparm"), std::allocator<char>()))'
   39 |           kparm{get_input(input_quantities, "kparm")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:103:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  103 |     double const& beta;
      |                   ^~~~
module_library/c4_canopy.h:40:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta"), std::allocator<char>()))'
   40 |           beta{get_input(input_quantities, "beta")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:104:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  104 |     double const& Rd;
      |                   ^~
module_library/c4_canopy.h:41:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   41 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:105:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  105 |     double const& Catm;
      |                   ^~~~
module_library/c4_canopy.h:42:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   42 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:106:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  106 |     double const& b0;
      |                   ^~
module_library/c4_canopy.h:43:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   43 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& b1;
      |                   ^~
module_library/c4_canopy.h:44:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   44 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c4_canopy.h:45:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   45 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& theta;
      |                   ^~~~~
module_library/c4_canopy.h:46:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   46 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& kd;
      |                   ^~
module_library/c4_canopy.h:47:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kd"), std::allocator<char>()))'
   47 |           kd{get_input(input_quantities, "kd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& chil;
      |                   ^~~~
module_library/c4_canopy.h:48:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"chil"), std::allocator<char>()))'
   48 |           chil{get_input(input_quantities, "chil")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& LeafN;
      |                   ^~~~~
module_library/c4_canopy.h:49:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafN"), std::allocator<char>()))'
   49 |           LeafN{get_input(input_quantities, "LeafN")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     double const& kpLN;
      |                   ^~~~
module_library/c4_canopy.h:50:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kpLN"), std::allocator<char>()))'
   50 |           kpLN{get_input(input_quantities, "kpLN")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& lnfun;
      |                   ^~~~~
module_library/c4_canopy.h:51:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnfun"), std::allocator<char>()))'
   51 |           lnfun{get_input(input_quantities, "lnfun")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     double const& upperT;
      |                   ^~~~~~
module_library/c4_canopy.h:52:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"upperT"), std::allocator<char>()))'
   52 |           upperT{get_input(input_quantities, "upperT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     double const& lowerT;
      |                   ^~~~~~
module_library/c4_canopy.h:53:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lowerT"), std::allocator<char>()))'
   53 |           lowerT{get_input(input_quantities, "lowerT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     double const& leafwidth;
      |                   ^~~~~~~~~
module_library/c4_canopy.h:54:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leafwidth"), std::allocator<char>()))'
   54 |           leafwidth{get_input(input_quantities, "leafwidth")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     double const& et_equation;
      |                   ^~~~~~~~~~~
module_library/c4_canopy.h:55:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"et_equation"), std::allocator<char>()))'
   55 |           et_equation{get_input(input_quantities, "et_equation")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c4_canopy.h:56:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   56 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:120:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  120 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:57:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   57 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:121:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  121 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:58:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   58 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:122:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  122 |     double const& atmospheric_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:59:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_transmittance"), std::allocator<char>()))'
   59 |           atmospheric_transmittance{get_input(input_quantities, "atmospheric_transmittance")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:123:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  123 |     double const& atmospheric_scattering;
      |                   ^~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:60:43: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_scattering"), std::allocator<char>()))'
   60 |           atmospheric_scattering{get_input(input_quantities, "atmospheric_scattering")},
      |                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:124:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  124 |     double const& absorptivity_par;
      |                   ^~~~~~~~~~~~~~~~
module_library/c4_canopy.h:61:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorptivity_par"), std::allocator<char>()))'
   61 |           absorptivity_par{get_input(input_quantities, "absorptivity_par")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:125:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  125 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:62:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   62 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:126:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  126 |     double const& par_energy_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:63:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_fraction"), std::allocator<char>()))'
   63 |           par_energy_fraction{get_input(input_quantities, "par_energy_fraction")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:127:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  127 |     double const& leaf_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:64:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_transmittance"), std::allocator<char>()))'
   64 |           leaf_transmittance{get_input(input_quantities, "leaf_transmittance")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:128:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  128 |     double const& leaf_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/c4_canopy.h:65:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_reflectance"), std::allocator<char>()))'
   65 |           leaf_reflectance{get_input(input_quantities, "leaf_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_canopy.h:129:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  129 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/c4_canopy.h:66:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   66 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:20:
module_library/varying_Jmax25.h: In constructor 'standardBML::varying_Jmax25::varying_Jmax25(const state_map&, state_map*)':
module_library/varying_Jmax25.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& DVI;
      |                   ^~~
module_library/varying_Jmax25.h:92:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"DVI"), std::allocator<char>()))'
   92 |           DVI{get_input(input_quantities, "DVI")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/varying_Jmax25.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& jmax_mature;
      |                   ^~~~~~~~~~~
module_library/varying_Jmax25.h:93:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"jmax_mature"), std::allocator<char>()))'
   93 |           jmax_mature{get_input(input_quantities, "jmax_mature")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/varying_Jmax25.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& DVI0_jmax;
      |                   ^~~~~~~~~
module_library/varying_Jmax25.h:94:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"DVI0_jmax"), std::allocator<char>()))'
   94 |           DVI0_jmax{get_input(input_quantities, "DVI0_jmax")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/varying_Jmax25.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& D_DVI;
      |                   ^~~~~
module_library/varying_Jmax25.h:95:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Delta_DVI_jmax"), std::allocator<char>()))'
   95 |           D_DVI{get_input(input_quantities, "Delta_DVI_jmax")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/varying_Jmax25.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& sf_jmax;
      |                   ^~~~~~~
module_library/varying_Jmax25.h:96:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"sf_jmax"), std::allocator<char>()))'
   96 |           sf_jmax{get_input(input_quantities, "sf_jmax")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:25:
module_library/thermal_time_linear.h: In constructor 'standardBML::thermal_time_linear::thermal_time_linear(const state_map&, state_map*)':
module_library/thermal_time_linear.h:94:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   94 |     double const& time;
      |                   ^~~~
module_library/thermal_time_linear.h:79:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
   79 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_linear.h:95:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   95 |     double const& sowing_time;
      |                   ^~~~~~~~~~~
module_library/thermal_time_linear.h:80:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"sowing_time"), std::allocator<char>()))'
   80 |           sowing_time{get_input(input_quantities, "sowing_time")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_linear.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     double const& temp;
      |                   ^~~~
module_library/thermal_time_linear.h:81:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   81 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_linear.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     double const& tbase;
      |                   ^~~~~
module_library/thermal_time_linear.h:82:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tbase"), std::allocator<char>()))'
   82 |           tbase{get_input(input_quantities, "tbase")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:26:
module_library/thermal_time_linear_extended.h: In constructor 'standardBML::thermal_time_linear_extended::thermal_time_linear_extended(const state_map&, state_map*)':
module_library/thermal_time_linear_extended.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     double const& time;
      |                   ^~~~
module_library/thermal_time_linear_extended.h:84:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
   84 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_linear_extended.h:101:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  101 |     double const& sowing_time;
      |                   ^~~~~~~~~~~
module_library/thermal_time_linear_extended.h:85:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"sowing_time"), std::allocator<char>()))'
   85 |           sowing_time{get_input(input_quantities, "sowing_time")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_linear_extended.h:102:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  102 |     double const& temp;
      |                   ^~~~
module_library/thermal_time_linear_extended.h:86:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   86 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_linear_extended.h:103:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  103 |     double const& tbase;
      |                   ^~~~~
module_library/thermal_time_linear_extended.h:87:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tbase"), std::allocator<char>()))'
   87 |           tbase{get_input(input_quantities, "tbase")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_linear_extended.h:104:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  104 |     double const& tupper;
      |                   ^~~~~~
module_library/thermal_time_linear_extended.h:88:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tupper"), std::allocator<char>()))'
   88 |           tupper{get_input(input_quantities, "tupper")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:27:
module_library/thermal_time_bilinear.h: In constructor 'standardBML::thermal_time_bilinear::thermal_time_bilinear(const state_map&, state_map*)':
module_library/thermal_time_bilinear.h:106:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  106 |     double const& time;
      |                   ^~~~
module_library/thermal_time_bilinear.h:89:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
   89 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_bilinear.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& sowing_time;
      |                   ^~~~~~~~~~~
module_library/thermal_time_bilinear.h:90:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"sowing_time"), std::allocator<char>()))'
   90 |           sowing_time{get_input(input_quantities, "sowing_time")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_bilinear.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& temp;
      |                   ^~~~
module_library/thermal_time_bilinear.h:91:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   91 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_bilinear.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& tbase;
      |                   ^~~~~
module_library/thermal_time_bilinear.h:92:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tbase"), std::allocator<char>()))'
   92 |           tbase{get_input(input_quantities, "tbase")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_bilinear.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& topt;
      |                   ^~~~
module_library/thermal_time_bilinear.h:93:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"topt"), std::allocator<char>()))'
   93 |           topt{get_input(input_quantities, "topt")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_bilinear.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& tmax;
      |                   ^~~~
module_library/thermal_time_bilinear.h:94:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tmax"), std::allocator<char>()))'
   94 |           tmax{get_input(input_quantities, "tmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:28:
module_library/thermal_time_trilinear.h: In constructor 'standardBML::thermal_time_trilinear::thermal_time_trilinear(const state_map&, state_map*)':
module_library/thermal_time_trilinear.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     double const& time;
      |                   ^~~~
module_library/thermal_time_trilinear.h:95:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
   95 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_trilinear.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& sowing_time;
      |                   ^~~~~~~~~~~
module_library/thermal_time_trilinear.h:96:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"sowing_time"), std::allocator<char>()))'
   96 |           sowing_time{get_input(input_quantities, "sowing_time")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_trilinear.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     double const& temp;
      |                   ^~~~
module_library/thermal_time_trilinear.h:97:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   97 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_trilinear.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     double const& tbase;
      |                   ^~~~~
module_library/thermal_time_trilinear.h:98:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tbase"), std::allocator<char>()))'
   98 |           tbase{get_input(input_quantities, "tbase")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_trilinear.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     double const& topt_lower;
      |                   ^~~~~~~~~~
module_library/thermal_time_trilinear.h:99:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"topt_lower"), std::allocator<char>()))'
   99 |           topt_lower{get_input(input_quantities, "topt_lower")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_trilinear.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     double const& topt_upper;
      |                   ^~~~~~~~~~
module_library/thermal_time_trilinear.h:100:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"topt_upper"), std::allocator<char>()))'
  100 |           topt_upper{get_input(input_quantities, "topt_upper")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_trilinear.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     double const& tmax;
      |                   ^~~~
module_library/thermal_time_trilinear.h:101:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tmax"), std::allocator<char>()))'
  101 |           tmax{get_input(input_quantities, "tmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:29:
module_library/thermal_time_beta.h: In constructor 'standardBML::thermal_time_beta::thermal_time_beta(const state_map&, state_map*)':
module_library/thermal_time_beta.h:134:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  134 |     double const& time;
      |                   ^~~~
module_library/thermal_time_beta.h:115:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
  115 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_beta.h:135:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  135 |     double const& sowing_time;
      |                   ^~~~~~~~~~~
module_library/thermal_time_beta.h:116:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"sowing_time"), std::allocator<char>()))'
  116 |           sowing_time{get_input(input_quantities, "sowing_time")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_beta.h:136:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  136 |     double const& temp;
      |                   ^~~~
module_library/thermal_time_beta.h:117:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
  117 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_beta.h:137:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  137 |     double const& tbase;
      |                   ^~~~~
module_library/thermal_time_beta.h:118:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tbase"), std::allocator<char>()))'
  118 |           tbase{get_input(input_quantities, "tbase")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_beta.h:138:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  138 |     double const& tmax;
      |                   ^~~~
module_library/thermal_time_beta.h:119:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tmax"), std::allocator<char>()))'
  119 |           tmax{get_input(input_quantities, "tmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_beta.h:139:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  139 |     double const& talpha;
      |                   ^~~~~~
module_library/thermal_time_beta.h:120:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"talpha"), std::allocator<char>()))'
  120 |           talpha{get_input(input_quantities, "talpha")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_beta.h:140:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  140 |     double const& tbeta;
      |                   ^~~~~
module_library/thermal_time_beta.h:121:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tbeta"), std::allocator<char>()))'
  121 |           tbeta{get_input(input_quantities, "tbeta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_beta.h:141:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  141 |     double const& ttc_scale;
      |                   ^~~~~~~~~
module_library/thermal_time_beta.h:122:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"ttc_scale"), std::allocator<char>()))'
  122 |           ttc_scale{get_input(input_quantities, "ttc_scale")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:35:
module_library/partitioning_growth.h: In constructor 'standardBML::partitioning_growth::partitioning_growth(const state_map&, state_map*)':
module_library/partitioning_growth.h:105:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  105 |     const double& retrans;
      |                   ^~~~~~~
module_library/partitioning_growth.h:71:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"retrans"), std::allocator<char>()))'
   71 |           retrans{get_input(input_quantities, "retrans")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:106:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  106 |     const double& retrans_rhizome;
      |                   ^~~~~~~~~~~~~~~
module_library/partitioning_growth.h:72:36: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"retrans_rhizome"), std::allocator<char>()))'
   72 |           retrans_rhizome{get_input(input_quantities, "retrans_rhizome")},
      |                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     const double& kLeaf;
      |                   ^~~~~
module_library/partitioning_growth.h:73:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kLeaf"), std::allocator<char>()))'
   73 |           kLeaf{get_input(input_quantities, "kLeaf")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     const double& kStem;
      |                   ^~~~~
module_library/partitioning_growth.h:74:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kStem"), std::allocator<char>()))'
   74 |           kStem{get_input(input_quantities, "kStem")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     const double& kRoot;
      |                   ^~~~~
module_library/partitioning_growth.h:75:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRoot"), std::allocator<char>()))'
   75 |           kRoot{get_input(input_quantities, "kRoot")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     const double& kRhizome;
      |                   ^~~~~~~~
module_library/partitioning_growth.h:76:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRhizome"), std::allocator<char>()))'
   76 |           kRhizome{get_input(input_quantities, "kRhizome")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     const double& kGrain;
      |                   ^~~~~~
module_library/partitioning_growth.h:77:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kGrain"), std::allocator<char>()))'
   77 |           kGrain{get_input(input_quantities, "kGrain")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     const double& kShell;
      |                   ^~~~~~
module_library/partitioning_growth.h:78:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kShell"), std::allocator<char>()))'
   78 |           kShell{get_input(input_quantities, "kShell")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     const double& net_assimilation_rate_leaf;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:79:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_leaf"), std::allocator<char>()))'
   79 |           net_assimilation_rate_leaf{get_input(input_quantities, "net_assimilation_rate_leaf")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     const double& net_assimilation_rate_stem;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:80:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_stem"), std::allocator<char>()))'
   80 |           net_assimilation_rate_stem{get_input(input_quantities, "net_assimilation_rate_stem")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     const double& net_assimilation_rate_root;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:81:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_root"), std::allocator<char>()))'
   81 |           net_assimilation_rate_root{get_input(input_quantities, "net_assimilation_rate_root")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     const double& net_assimilation_rate_rhizome;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:82:50: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_rhizome"), std::allocator<char>()))'
   82 |           net_assimilation_rate_rhizome{get_input(input_quantities, "net_assimilation_rate_rhizome")},
      |                                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     const double& net_assimilation_rate_grain;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:83:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_grain"), std::allocator<char>()))'
   83 |           net_assimilation_rate_grain{get_input(input_quantities, "net_assimilation_rate_grain")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     const double& net_assimilation_rate_shell;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:84:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_shell"), std::allocator<char>()))'
   84 |           net_assimilation_rate_shell{get_input(input_quantities, "net_assimilation_rate_shell")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     const double& Leaf;
      |                   ^~~~
module_library/partitioning_growth.h:85:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Leaf"), std::allocator<char>()))'
   85 |           Leaf{get_input(input_quantities, "Leaf")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:120:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  120 |     const double& Stem;
      |                   ^~~~
module_library/partitioning_growth.h:86:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Stem"), std::allocator<char>()))'
   86 |           Stem{get_input(input_quantities, "Stem")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:121:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  121 |     const double& Root;
      |                   ^~~~
module_library/partitioning_growth.h:87:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Root"), std::allocator<char>()))'
   87 |           Root{get_input(input_quantities, "Root")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth.h:122:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  122 |     const double& Rhizome;
      |                   ^~~~~~~
module_library/partitioning_growth.h:88:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rhizome"), std::allocator<char>()))'
   88 |           Rhizome{get_input(input_quantities, "Rhizome")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:36:
module_library/partitioning_growth_calculator.h: In constructor 'standardBML::partitioning_growth_calculator::partitioning_growth_calculator(const state_map&, state_map*)':
module_library/partitioning_growth_calculator.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     const double& kLeaf;
      |                   ^~~~~
module_library/partitioning_growth_calculator.h:74:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kLeaf"), std::allocator<char>()))'
   74 |           kLeaf{get_input(input_quantities, "kLeaf")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     const double& kStem;
      |                   ^~~~~
module_library/partitioning_growth_calculator.h:75:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kStem"), std::allocator<char>()))'
   75 |           kStem{get_input(input_quantities, "kStem")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:101:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  101 |     const double& kRoot;
      |                   ^~~~~
module_library/partitioning_growth_calculator.h:76:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRoot"), std::allocator<char>()))'
   76 |           kRoot{get_input(input_quantities, "kRoot")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:102:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  102 |     const double& kRhizome;
      |                   ^~~~~~~~
module_library/partitioning_growth_calculator.h:77:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRhizome"), std::allocator<char>()))'
   77 |           kRhizome{get_input(input_quantities, "kRhizome")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:103:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  103 |     const double& kGrain;
      |                   ^~~~~~
module_library/partitioning_growth_calculator.h:78:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kGrain"), std::allocator<char>()))'
   78 |           kGrain{get_input(input_quantities, "kGrain")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:104:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  104 |     const double& canopy_assimilation_rate;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:79:45: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"canopy_assimilation_rate"), std::allocator<char>()))'
   79 |           canopy_assimilation_rate{get_input(input_quantities, "canopy_assimilation_rate")},
      |                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:105:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  105 |     const double& LeafWS;
      |                   ^~~~~~
module_library/partitioning_growth_calculator.h:80:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafWS"), std::allocator<char>()))'
   80 |           LeafWS{get_input(input_quantities, "LeafWS")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:106:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  106 |     const double& mrc1;
      |                   ^~~~
module_library/partitioning_growth_calculator.h:81:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mrc1"), std::allocator<char>()))'
   81 |           mrc1{get_input(input_quantities, "mrc1")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     const double& mrc2;
      |                   ^~~~
module_library/partitioning_growth_calculator.h:82:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mrc2"), std::allocator<char>()))'
   82 |           mrc2{get_input(input_quantities, "mrc2")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_growth_calculator.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     const double& temp;
      |                   ^~~~
module_library/partitioning_growth_calculator.h:83:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   83 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:37:
module_library/no_leaf_resp_partitioning_growth_calculator.h: In constructor 'standardBML::no_leaf_resp_partitioning_growth_calculator::no_leaf_resp_partitioning_growth_calculator(const state_map&, state_map*)':
module_library/no_leaf_resp_partitioning_growth_calculator.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     const double& kLeaf;
      |                   ^~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:68:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kLeaf"), std::allocator<char>()))'
   68 |           kLeaf{get_input(input_quantities, "kLeaf")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     const double& kStem;
      |                   ^~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:69:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kStem"), std::allocator<char>()))'
   69 |           kStem{get_input(input_quantities, "kStem")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:94:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   94 |     const double& kRoot;
      |                   ^~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:70:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRoot"), std::allocator<char>()))'
   70 |           kRoot{get_input(input_quantities, "kRoot")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:95:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   95 |     const double& kRhizome;
      |                   ^~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:71:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRhizome"), std::allocator<char>()))'
   71 |           kRhizome{get_input(input_quantities, "kRhizome")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     const double& kGrain;
      |                   ^~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:72:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kGrain"), std::allocator<char>()))'
   72 |           kGrain{get_input(input_quantities, "kGrain")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     const double& canopy_assimilation_rate;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:73:45: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"canopy_assimilation_rate"), std::allocator<char>()))'
   73 |           canopy_assimilation_rate{get_input(input_quantities, "canopy_assimilation_rate")},
      |                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     const double& mrc1;
      |                   ^~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:74:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mrc1"), std::allocator<char>()))'
   74 |           mrc1{get_input(input_quantities, "mrc1")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     const double& mrc2;
      |                   ^~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:75:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mrc2"), std::allocator<char>()))'
   75 |           mrc2{get_input(input_quantities, "mrc2")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     const double& temp;
      |                   ^~~~
module_library/no_leaf_resp_partitioning_growth_calculator.h:76:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   76 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:38:
module_library/thermal_time_senescence.h: In constructor 'standardBML::thermal_time_senescence::thermal_time_senescence(const state_map&, state_map*)':
module_library/thermal_time_senescence.h:152:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  152 |     double const& TTc;
      |                   ^~~
module_library/thermal_time_senescence.h:101:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"TTc"), std::allocator<char>()))'
  101 |           TTc{get_input(input_quantities, "TTc")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:153:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  153 |     double const& seneLeaf;
      |                   ^~~~~~~~
module_library/thermal_time_senescence.h:102:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"seneLeaf"), std::allocator<char>()))'
  102 |           seneLeaf{get_input(input_quantities, "seneLeaf")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:154:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  154 |     double const& seneStem;
      |                   ^~~~~~~~
module_library/thermal_time_senescence.h:103:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"seneStem"), std::allocator<char>()))'
  103 |           seneStem{get_input(input_quantities, "seneStem")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:155:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  155 |     double const& seneRoot;
      |                   ^~~~~~~~
module_library/thermal_time_senescence.h:104:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"seneRoot"), std::allocator<char>()))'
  104 |           seneRoot{get_input(input_quantities, "seneRoot")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:156:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  156 |     double const& seneRhizome;
      |                   ^~~~~~~~~~~
module_library/thermal_time_senescence.h:105:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"seneRhizome"), std::allocator<char>()))'
  105 |           seneRhizome{get_input(input_quantities, "seneRhizome")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:157:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  157 |     double const& leaf_senescence_index;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:106:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_senescence_index"), std::allocator<char>()))'
  106 |           leaf_senescence_index{get_input(input_quantities, "leaf_senescence_index")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:158:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  158 |     double const& stem_senescence_index;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:107:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"stem_senescence_index"), std::allocator<char>()))'
  107 |           stem_senescence_index{get_input(input_quantities, "stem_senescence_index")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:159:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  159 |     double const& root_senescence_index;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:108:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"root_senescence_index"), std::allocator<char>()))'
  108 |           root_senescence_index{get_input(input_quantities, "root_senescence_index")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:160:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  160 |     double const& rhizome_senescence_index;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:109:45: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rhizome_senescence_index"), std::allocator<char>()))'
  109 |           rhizome_senescence_index{get_input(input_quantities, "rhizome_senescence_index")},
      |                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:161:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  161 |     double const& kStem;
      |                   ^~~~~
module_library/thermal_time_senescence.h:110:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kStem"), std::allocator<char>()))'
  110 |           kStem{get_input(input_quantities, "kStem")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:162:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  162 |     double const& kRoot;
      |                   ^~~~~
module_library/thermal_time_senescence.h:111:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRoot"), std::allocator<char>()))'
  111 |           kRoot{get_input(input_quantities, "kRoot")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:163:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  163 |     double const& kRhizome;
      |                   ^~~~~~~~
module_library/thermal_time_senescence.h:112:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRhizome"), std::allocator<char>()))'
  112 |           kRhizome{get_input(input_quantities, "kRhizome")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:164:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  164 |     double const& kGrain;
      |                   ^~~~~~
module_library/thermal_time_senescence.h:113:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kGrain"), std::allocator<char>()))'
  113 |           kGrain{get_input(input_quantities, "kGrain")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:165:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  165 |     const double& remobilization_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:114:44: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"remobilization_fraction"), std::allocator<char>()))'
  114 |           remobilization_fraction{get_input(input_quantities, "remobilization_fraction")},
      |                                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:166:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  166 |     double const& net_assimilation_rate_leaf;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:115:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_leaf"), std::allocator<char>()))'
  115 |           net_assimilation_rate_leaf{get_input(input_quantities, "net_assimilation_rate_leaf")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:167:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  167 |     double const& net_assimilation_rate_stem;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:116:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_stem"), std::allocator<char>()))'
  116 |           net_assimilation_rate_stem{get_input(input_quantities, "net_assimilation_rate_stem")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:168:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  168 |     double const& net_assimilation_rate_root;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:117:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_root"), std::allocator<char>()))'
  117 |           net_assimilation_rate_root{get_input(input_quantities, "net_assimilation_rate_root")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:169:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  169 |     double const& net_assimilation_rate_rhizome;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_senescence.h:118:50: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_rhizome"), std::allocator<char>()))'
  118 |           net_assimilation_rate_rhizome{get_input(input_quantities, "net_assimilation_rate_rhizome")},
      |                                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:39:
module_library/thermal_time_and_frost_senescence.h: In constructor 'standardBML::thermal_time_and_frost_senescence::thermal_time_and_frost_senescence(const state_map&, state_map*)':
module_library/thermal_time_and_frost_senescence.h:157:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  157 |     double const& TTc;
      |                   ^~~
module_library/thermal_time_and_frost_senescence.h:100:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"TTc"), std::allocator<char>()))'
  100 |           TTc{get_input(input_quantities, "TTc")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:158:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  158 |     double const& seneLeaf;
      |                   ^~~~~~~~
module_library/thermal_time_and_frost_senescence.h:101:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"seneLeaf"), std::allocator<char>()))'
  101 |           seneLeaf{get_input(input_quantities, "seneLeaf")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:159:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  159 |     double const& seneStem;
      |                   ^~~~~~~~
module_library/thermal_time_and_frost_senescence.h:102:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"seneStem"), std::allocator<char>()))'
  102 |           seneStem{get_input(input_quantities, "seneStem")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:160:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  160 |     double const& seneRoot;
      |                   ^~~~~~~~
module_library/thermal_time_and_frost_senescence.h:103:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"seneRoot"), std::allocator<char>()))'
  103 |           seneRoot{get_input(input_quantities, "seneRoot")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:161:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  161 |     double const& seneRhizome;
      |                   ^~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:104:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"seneRhizome"), std::allocator<char>()))'
  104 |           seneRhizome{get_input(input_quantities, "seneRhizome")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:162:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  162 |     double const& Leaf;
      |                   ^~~~
module_library/thermal_time_and_frost_senescence.h:105:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Leaf"), std::allocator<char>()))'
  105 |           Leaf{get_input(input_quantities, "Leaf")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:163:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  163 |     double const& leafdeathrate;
      |                   ^~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:106:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leafdeathrate"), std::allocator<char>()))'
  106 |           leafdeathrate{get_input(input_quantities, "leafdeathrate")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:164:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  164 |     double const& lat;
      |                   ^~~
module_library/thermal_time_and_frost_senescence.h:107:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lat"), std::allocator<char>()))'
  107 |           lat{get_input(input_quantities, "lat")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:165:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  165 |     double const& time;
      |                   ^~~~
module_library/thermal_time_and_frost_senescence.h:108:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
  108 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:166:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  166 |     double const& temp;
      |                   ^~~~
module_library/thermal_time_and_frost_senescence.h:109:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
  109 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:167:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  167 |     double const& Tfrostlow;
      |                   ^~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:110:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tfrostlow"), std::allocator<char>()))'
  110 |           Tfrostlow{get_input(input_quantities, "Tfrostlow")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:168:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  168 |     double const& Tfrosthigh;
      |                   ^~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:111:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tfrosthigh"), std::allocator<char>()))'
  111 |           Tfrosthigh{get_input(input_quantities, "Tfrosthigh")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:169:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  169 |     double const& stem_senescence_index;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:112:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"stem_senescence_index"), std::allocator<char>()))'
  112 |           stem_senescence_index{get_input(input_quantities, "stem_senescence_index")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:170:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  170 |     double const& root_senescence_index;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:113:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"root_senescence_index"), std::allocator<char>()))'
  113 |           root_senescence_index{get_input(input_quantities, "root_senescence_index")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:171:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  171 |     double const& rhizome_senescence_index;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:114:45: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rhizome_senescence_index"), std::allocator<char>()))'
  114 |           rhizome_senescence_index{get_input(input_quantities, "rhizome_senescence_index")},
      |                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:172:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  172 |     double const& kLeaf;
      |                   ^~~~~
module_library/thermal_time_and_frost_senescence.h:115:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kLeaf"), std::allocator<char>()))'
  115 |           kLeaf{get_input(input_quantities, "kLeaf")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:173:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  173 |     double const& kStem;
      |                   ^~~~~
module_library/thermal_time_and_frost_senescence.h:116:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kStem"), std::allocator<char>()))'
  116 |           kStem{get_input(input_quantities, "kStem")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:174:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  174 |     double const& kRoot;
      |                   ^~~~~
module_library/thermal_time_and_frost_senescence.h:117:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRoot"), std::allocator<char>()))'
  117 |           kRoot{get_input(input_quantities, "kRoot")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:175:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  175 |     double const& kRhizome;
      |                   ^~~~~~~~
module_library/thermal_time_and_frost_senescence.h:118:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRhizome"), std::allocator<char>()))'
  118 |           kRhizome{get_input(input_quantities, "kRhizome")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:176:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  176 |     double const& kGrain;
      |                   ^~~~~~
module_library/thermal_time_and_frost_senescence.h:119:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kGrain"), std::allocator<char>()))'
  119 |           kGrain{get_input(input_quantities, "kGrain")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:177:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  177 |     const double& remobilization_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:120:44: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"remobilization_fraction"), std::allocator<char>()))'
  120 |           remobilization_fraction{get_input(input_quantities, "remobilization_fraction")},
      |                                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:178:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  178 |     double const& net_assimilation_rate_leaf;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:121:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_leaf"), std::allocator<char>()))'
  121 |           net_assimilation_rate_leaf{get_input(input_quantities, "net_assimilation_rate_leaf")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:179:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  179 |     double const& net_assimilation_rate_stem;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:122:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_stem"), std::allocator<char>()))'
  122 |           net_assimilation_rate_stem{get_input(input_quantities, "net_assimilation_rate_stem")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:180:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  180 |     double const& net_assimilation_rate_root;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:123:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_root"), std::allocator<char>()))'
  123 |           net_assimilation_rate_root{get_input(input_quantities, "net_assimilation_rate_root")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:181:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  181 |     double const& net_assimilation_rate_rhizome;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_and_frost_senescence.h:124:50: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate_rhizome"), std::allocator<char>()))'
  124 |           net_assimilation_rate_rhizome{get_input(input_quantities, "net_assimilation_rate_rhizome")},
      |                                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:41:
module_library/ball_berry.h: In constructor 'standardBML::ball_berry::ball_berry(const state_map&, state_map*)':
module_library/ball_berry.h:44:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   44 |     double const& net_assimilation_rate;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/ball_berry.h:23:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"net_assimilation_rate"), std::allocator<char>()))'
   23 |           net_assimilation_rate{get_input(input_quantities, "net_assimilation_rate")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/ball_berry.h:45:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   45 |     double const& ambient_c;
      |                   ^~~~~~~~~
module_library/ball_berry.h:24:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   24 |           ambient_c{get_input(input_quantities, "Catm")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/ball_berry.h:46:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   46 |     double const& ambient_rh;
      |                   ^~~~~~~~~~
module_library/ball_berry.h:25:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   25 |           ambient_rh{get_input(input_quantities, "rh")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/ball_berry.h:47:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   47 |     double const& b0;
      |                   ^~
module_library/ball_berry.h:26:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   26 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/ball_berry.h:48:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   48 |     double const& b1;
      |                   ^~
module_library/ball_berry.h:27:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   27 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/ball_berry.h:49:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   49 |     double const& gbw;
      |                   ^~~
module_library/ball_berry.h:28:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"gbw"), std::allocator<char>()))'
   28 |           gbw{get_input(input_quantities, "gbw")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/ball_berry.h:50:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   50 |     double const& leaf_temperature;
      |                   ^~~~~~~~~~~~~~~~
module_library/ball_berry.h:29:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_temperature"), std::allocator<char>()))'
   29 |           leaf_temperature{get_input(input_quantities, "leaf_temperature")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/ball_berry.h:51:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   51 |     double const& ambient_air_temperature;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
module_library/ball_berry.h:30:44: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   30 |           ambient_air_temperature{get_input(input_quantities, "temp")},
      |                                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:42:
module_library/water_vapor_properties_from_air_temperature.h: In constructor 'standardBML::water_vapor_properties_from_air_temperature::water_vapor_properties_from_air_temperature(const state_map&, state_map*)':
module_library/water_vapor_properties_from_air_temperature.h:41:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   41 |     double const& temp;
      |                   ^~~~
module_library/water_vapor_properties_from_air_temperature.h:22:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   22 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/water_vapor_properties_from_air_temperature.h:42:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   42 |     double const& rh;
      |                   ^~
module_library/water_vapor_properties_from_air_temperature.h:23:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   23 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/water_vapor_properties_from_air_temperature.h:43:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   43 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/water_vapor_properties_from_air_temperature.h:24:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   24 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:43:
module_library/penman_monteith_transpiration.h: In constructor 'standardBML::penman_monteith_transpiration::penman_monteith_transpiration(const state_map&, state_map*)':
module_library/penman_monteith_transpiration.h:36:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   36 |     double const& slope_water_vapor;
      |                   ^~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:18:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"slope_water_vapor"), std::allocator<char>()))'
   18 |           slope_water_vapor{get_input(input_quantities, "slope_water_vapor")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:37:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   37 |     double const& psychrometric_parameter;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:19:44: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"psychrometric_parameter"), std::allocator<char>()))'
   19 |           psychrometric_parameter{get_input(input_quantities, "psychrometric_parameter")},
      |                                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:38:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   38 |     double const& latent_heat_vaporization_of_water;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:20:54: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"latent_heat_vaporization_of_water"), std::allocator<char>()))'
   20 |           latent_heat_vaporization_of_water{get_input(input_quantities, "latent_heat_vaporization_of_water")},
      |                                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:39:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   39 |     double const& leaf_boundary_layer_conductance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:21:52: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_boundary_layer_conductance"), std::allocator<char>()))'
   21 |           leaf_boundary_layer_conductance{get_input(input_quantities, "leaf_boundary_layer_conductance")},
      |                                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:40:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   40 |     double const& leaf_stomatal_conductance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:22:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_stomatal_conductance"), std::allocator<char>()))'
   22 |           leaf_stomatal_conductance{get_input(input_quantities, "leaf_stomatal_conductance")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:41:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   41 |     double const& leaf_net_irradiance;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:23:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_net_irradiance"), std::allocator<char>()))'
   23 |           leaf_net_irradiance{get_input(input_quantities, "leaf_net_irradiance")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:42:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   42 |     double const& vapor_density_deficit;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_transpiration.h:24:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vapor_density_deficit"), std::allocator<char>()))'
   24 |           vapor_density_deficit{get_input(input_quantities, "vapor_density_deficit")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:44:
module_library/penman_monteith_leaf_temperature.h: In constructor 'standardBML::penman_monteith_leaf_temperature::penman_monteith_leaf_temperature(const state_map&, state_map*)':
module_library/penman_monteith_leaf_temperature.h:37:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   37 |     double const& slope_water_vapor;
      |                   ^~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:18:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"slope_water_vapor"), std::allocator<char>()))'
   18 |           slope_water_vapor{get_input(input_quantities, "slope_water_vapor")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:38:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   38 |     double const& psychrometric_parameter;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:19:44: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"psychrometric_parameter"), std::allocator<char>()))'
   19 |           psychrometric_parameter{get_input(input_quantities, "psychrometric_parameter")},
      |                                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:39:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   39 |     double const& latent_heat_vaporization_of_water;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:20:54: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"latent_heat_vaporization_of_water"), std::allocator<char>()))'
   20 |           latent_heat_vaporization_of_water{get_input(input_quantities, "latent_heat_vaporization_of_water")},
      |                                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:40:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   40 |     double const& leaf_boundary_layer_conductance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:21:52: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_boundary_layer_conductance"), std::allocator<char>()))'
   21 |           leaf_boundary_layer_conductance{get_input(input_quantities, "leaf_boundary_layer_conductance")},
      |                                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:41:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   41 |     double const& leaf_stomatal_conductance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:22:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_stomatal_conductance"), std::allocator<char>()))'
   22 |           leaf_stomatal_conductance{get_input(input_quantities, "leaf_stomatal_conductance")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:42:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   42 |     double const& leaf_net_irradiance;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:23:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_net_irradiance"), std::allocator<char>()))'
   23 |           leaf_net_irradiance{get_input(input_quantities, "leaf_net_irradiance")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:43:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   43 |     double const& vapor_density_deficit;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:24:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vapor_density_deficit"), std::allocator<char>()))'
   24 |           vapor_density_deficit{get_input(input_quantities, "vapor_density_deficit")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:44:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   44 |     double const& temp;
      |                   ^~~~
module_library/penman_monteith_leaf_temperature.h:25:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   25 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:46:
module_library/FvCB.h: In constructor 'standardBML::FvCB::FvCB(const state_map&, state_map*)':
module_library/FvCB.h:53:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   53 |     double const& Ci;
      |                   ^~
module_library/FvCB.h:23:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Ci"), std::allocator<char>()))'
   23 |           Ci{get_input(input_quantities, "Ci")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:54:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   54 |     double const& Gstar;
      |                   ^~~~~
module_library/FvCB.h:24:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gstar"), std::allocator<char>()))'
   24 |           Gstar{get_input(input_quantities, "Gstar")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:55:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   55 |     double const& J;
      |                   ^
module_library/FvCB.h:25:22: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"J"), std::allocator<char>()))'
   25 |           J{get_input(input_quantities, "J")},
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:56:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   56 |     double const& Kc;
      |                   ^~
module_library/FvCB.h:26:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Kc"), std::allocator<char>()))'
   26 |           Kc{get_input(input_quantities, "Kc")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:57:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   57 |     double const& Ko;
      |                   ^~
module_library/FvCB.h:27:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Ko"), std::allocator<char>()))'
   27 |           Ko{get_input(input_quantities, "Ko")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:58:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   58 |     double const& Oi;
      |                   ^~
module_library/FvCB.h:28:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Oi"), std::allocator<char>()))'
   28 |           Oi{get_input(input_quantities, "Oi")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:59:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   59 |     double const& Rd;
      |                   ^~
module_library/FvCB.h:29:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   29 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:60:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   60 |     double const& TPU;
      |                   ^~~
module_library/FvCB.h:30:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"TPU"), std::allocator<char>()))'
   30 |           TPU{get_input(input_quantities, "TPU")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:61:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   61 |     double const& Vcmax;
      |                   ^~~~~
module_library/FvCB.h:31:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Vcmax"), std::allocator<char>()))'
   31 |           Vcmax{get_input(input_quantities, "Vcmax")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:62:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   62 |     double const& alpha_TPU;
      |                   ^~~~~~~~~
module_library/FvCB.h:32:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha_TPU"), std::allocator<char>()))'
   32 |           alpha_TPU{get_input(input_quantities, "alpha_TPU")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:63:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   63 |     double const& electrons_per_carboxylation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:33:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_carboxylation"), std::allocator<char>()))'
   33 |           electrons_per_carboxylation{get_input(input_quantities, "electrons_per_carboxylation")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:64:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   64 |     double const& electrons_per_oxygenation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/FvCB.h:34:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_oxygenation"), std::allocator<char>()))'
   34 |           electrons_per_oxygenation{get_input(input_quantities, "electrons_per_oxygenation")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:50:
module_library/shortwave_atmospheric_scattering.h: In constructor 'standardBML::shortwave_atmospheric_scattering::shortwave_atmospheric_scattering(const state_map&, state_map*)':
module_library/shortwave_atmospheric_scattering.h:44:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   44 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/shortwave_atmospheric_scattering.h:26:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   26 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/shortwave_atmospheric_scattering.h:45:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   45 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/shortwave_atmospheric_scattering.h:27:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   27 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/shortwave_atmospheric_scattering.h:46:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   46 |     double const& atmospheric_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/shortwave_atmospheric_scattering.h:28:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_transmittance"), std::allocator<char>()))'
   28 |           atmospheric_transmittance{get_input(input_quantities, "atmospheric_transmittance")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/shortwave_atmospheric_scattering.h:47:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   47 |     double const& atmospheric_scattering;
      |                   ^~~~~~~~~~~~~~~~~~~~~~
module_library/shortwave_atmospheric_scattering.h:29:43: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_scattering"), std::allocator<char>()))'
   29 |           atmospheric_scattering{get_input(input_quantities, "atmospheric_scattering")},
      |                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:51:
module_library/incident_shortwave_from_ground_par.h: In constructor 'standardBML::incident_shortwave_from_ground_par::incident_shortwave_from_ground_par(const state_map&, state_map*)':
module_library/incident_shortwave_from_ground_par.h:55:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   55 |     double const& solar;
      |                   ^~~~~
module_library/incident_shortwave_from_ground_par.h:36:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"solar"), std::allocator<char>()))'
   36 |           solar{get_input(input_quantities, "solar")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/incident_shortwave_from_ground_par.h:56:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   56 |     double const& irradiance_direct_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/incident_shortwave_from_ground_par.h:37:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"irradiance_direct_fraction"), std::allocator<char>()))'
   37 |           irradiance_direct_fraction{get_input(input_quantities, "irradiance_direct_fraction")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/incident_shortwave_from_ground_par.h:57:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   57 |     double const& irradiance_diffuse_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/incident_shortwave_from_ground_par.h:38:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"irradiance_diffuse_fraction"), std::allocator<char>()))'
   38 |           irradiance_diffuse_fraction{get_input(input_quantities, "irradiance_diffuse_fraction")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/incident_shortwave_from_ground_par.h:58:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   58 |     double const& par_energy_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/incident_shortwave_from_ground_par.h:39:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_fraction"), std::allocator<char>()))'
   39 |           par_energy_fraction{get_input(input_quantities, "par_energy_fraction")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/incident_shortwave_from_ground_par.h:59:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   59 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/incident_shortwave_from_ground_par.h:40:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   40 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:52:
module_library/leaf_shape_factor.h: In constructor 'standardBML::leaf_shape_factor::leaf_shape_factor(const state_map&, state_map*)':
module_library/leaf_shape_factor.h:58:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   58 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/leaf_shape_factor.h:45:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   45 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_shape_factor.h:59:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   59 |     double const& chil;
      |                   ^~~~
module_library/leaf_shape_factor.h:46:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"chil"), std::allocator<char>()))'
   46 |           chil{get_input(input_quantities, "chil")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:53:
module_library/rue_leaf_photosynthesis.h: In constructor 'standardBML::rue_leaf_photosynthesis::rue_leaf_photosynthesis(const state_map&, state_map*)':
module_library/rue_leaf_photosynthesis.h:171:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  171 |     double const& incident_ppfd;
      |                   ^~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:137:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"incident_ppfd"), std::allocator<char>()))'
  137 |           incident_ppfd{get_input(input_quantities, "incident_ppfd")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:172:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  172 |     double const& alpha_rue;
      |                   ^~~~~~~~~
module_library/rue_leaf_photosynthesis.h:138:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha_rue"), std::allocator<char>()))'
  138 |           alpha_rue{get_input(input_quantities, "alpha_rue")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:173:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  173 |     double const& temp;
      |                   ^~~~
module_library/rue_leaf_photosynthesis.h:139:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
  139 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:174:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  174 |     double const& rh;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:140:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
  140 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:175:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  175 |     double const& Rd;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:141:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
  141 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:176:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  176 |     double const& b0;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:142:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
  142 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:177:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  177 |     double const& b1;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:143:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
  143 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:178:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  178 |     double const& Catm;
      |                   ^~~~
module_library/rue_leaf_photosynthesis.h:144:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
  144 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:179:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  179 |     double const& average_absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:145:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"average_absorbed_shortwave"), std::allocator<char>()))'
  145 |           average_absorbed_shortwave{get_input(input_quantities, "average_absorbed_shortwave")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:180:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  180 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/rue_leaf_photosynthesis.h:146:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
  146 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:181:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  181 |     double const& height;
      |                   ^~~~~~
module_library/rue_leaf_photosynthesis.h:147:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"height"), std::allocator<char>()))'
  147 |           height{get_input(input_quantities, "height")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:182:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  182 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:148:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
  148 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:183:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  183 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:149:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
  149 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:184:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  184 |     double const& windspeed_height;
      |                   ^~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:150:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed_height"), std::allocator<char>()))'
  150 |           windspeed_height{get_input(input_quantities, "windspeed_height")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:54:
module_library/c3_assimilation.h: In constructor 'standardBML::c3_assimilation::c3_assimilation(const state_map&, state_map*)':
module_library/c3_assimilation.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     double const& Qabs;
      |                   ^~~~
module_library/c3_assimilation.h:76:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Qabs"), std::allocator<char>()))'
   76 |           Qabs{get_input(input_quantities, "Qabs")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     double const& Tleaf;
      |                   ^~~~~
module_library/c3_assimilation.h:77:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tleaf"), std::allocator<char>()))'
   77 |           Tleaf{get_input(input_quantities, "Tleaf")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     double const& Tambient;
      |                   ^~~~~~~~
module_library/c3_assimilation.h:78:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   78 |           Tambient{get_input(input_quantities, "temp")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     double const& rh;
      |                   ^~
module_library/c3_assimilation.h:79:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   79 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     double const& vmax1;
      |                   ^~~~~
module_library/c3_assimilation.h:80:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax1"), std::allocator<char>()))'
   80 |           vmax1{get_input(input_quantities, "vmax1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:120:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  120 |     double const& jmax;
      |                   ^~~~
module_library/c3_assimilation.h:81:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"jmax"), std::allocator<char>()))'
   81 |           jmax{get_input(input_quantities, "jmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:121:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  121 |     double const& tpu_rate_max;
      |                   ^~~~~~~~~~~~
module_library/c3_assimilation.h:82:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tpu_rate_max"), std::allocator<char>()))'
   82 |           tpu_rate_max{get_input(input_quantities, "tpu_rate_max")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:122:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  122 |     double const& Rd;
      |                   ^~
module_library/c3_assimilation.h:83:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   83 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:123:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  123 |     double const& b0;
      |                   ^~
module_library/c3_assimilation.h:84:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   84 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:124:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  124 |     double const& b1;
      |                   ^~
module_library/c3_assimilation.h:85:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   85 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:125:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  125 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c3_assimilation.h:86:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   86 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:126:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  126 |     double const& Catm;
      |                   ^~~~
module_library/c3_assimilation.h:87:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   87 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:127:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  127 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:88:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   88 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:128:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  128 |     double const& O2;
      |                   ^~
module_library/c3_assimilation.h:89:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"O2"), std::allocator<char>()))'
   89 |           O2{get_input(input_quantities, "O2")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:129:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  129 |     double const& theta;
      |                   ^~~~~
module_library/c3_assimilation.h:90:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   90 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:130:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  130 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c3_assimilation.h:91:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   91 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:131:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  131 |     double const& electrons_per_carboxylation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:92:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_carboxylation"), std::allocator<char>()))'
   92 |           electrons_per_carboxylation{get_input(input_quantities, "electrons_per_carboxylation")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:132:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  132 |     double const& electrons_per_oxygenation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:93:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_oxygenation"), std::allocator<char>()))'
   93 |           electrons_per_oxygenation{get_input(input_quantities, "electrons_per_oxygenation")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:133:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  133 |     double const& beta_PSII;
      |                   ^~~~~~~~~
module_library/c3_assimilation.h:94:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta_PSII"), std::allocator<char>()))'
   94 |           beta_PSII{get_input(input_quantities, "beta_PSII")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_assimilation.h:134:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  134 |     double const& gbw;
      |                   ^~~
module_library/c3_assimilation.h:95:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"gbw"), std::allocator<char>()))'
   95 |           gbw{get_input(input_quantities, "gbw")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:55:
module_library/c3_leaf_photosynthesis.h: In constructor 'standardBML::c3_leaf_photosynthesis::c3_leaf_photosynthesis(const state_map&, state_map*)':
module_library/c3_leaf_photosynthesis.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     double const& absorbed_ppfd;
      |                   ^~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:24:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorbed_ppfd"), std::allocator<char>()))'
   24 |           absorbed_ppfd{get_input(input_quantities, "absorbed_ppfd")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:71:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   71 |     double const& ambient_temperature;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:25:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   25 |           ambient_temperature{get_input(input_quantities, "temp")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:72:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   72 |     double const& rh;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:26:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   26 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:73:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   73 |     double const& vmax1;
      |                   ^~~~~
module_library/c3_leaf_photosynthesis.h:27:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax1"), std::allocator<char>()))'
   27 |           vmax1{get_input(input_quantities, "vmax1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& jmax;
      |                   ^~~~
module_library/c3_leaf_photosynthesis.h:28:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"jmax"), std::allocator<char>()))'
   28 |           jmax{get_input(input_quantities, "jmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& tpu_rate_max;
      |                   ^~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:29:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tpu_rate_max"), std::allocator<char>()))'
   29 |           tpu_rate_max{get_input(input_quantities, "tpu_rate_max")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& Rd;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:30:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   30 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& b0;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:31:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   31 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& b1;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:32:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   32 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c3_leaf_photosynthesis.h:33:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   33 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& Catm;
      |                   ^~~~
module_library/c3_leaf_photosynthesis.h:34:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   34 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:35:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   35 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& O2;
      |                   ^~
module_library/c3_leaf_photosynthesis.h:36:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"O2"), std::allocator<char>()))'
   36 |           O2{get_input(input_quantities, "O2")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& theta;
      |                   ^~~~~
module_library/c3_leaf_photosynthesis.h:37:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   37 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c3_leaf_photosynthesis.h:38:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   38 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& electrons_per_carboxylation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:39:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_carboxylation"), std::allocator<char>()))'
   39 |           electrons_per_carboxylation{get_input(input_quantities, "electrons_per_carboxylation")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& electrons_per_oxygenation;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:40:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"electrons_per_oxygenation"), std::allocator<char>()))'
   40 |           electrons_per_oxygenation{get_input(input_quantities, "electrons_per_oxygenation")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& average_absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:41:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"average_absorbed_shortwave"), std::allocator<char>()))'
   41 |           average_absorbed_shortwave{get_input(input_quantities, "average_absorbed_shortwave")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/c3_leaf_photosynthesis.h:42:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   42 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& height;
      |                   ^~~~~~
module_library/c3_leaf_photosynthesis.h:43:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"height"), std::allocator<char>()))'
   43 |           height{get_input(input_quantities, "height")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:44:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   44 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:45:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   45 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& windspeed_height;
      |                   ^~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:46:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed_height"), std::allocator<char>()))'
   46 |           windspeed_height{get_input(input_quantities, "windspeed_height")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c3_leaf_photosynthesis.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& beta_PSII;
      |                   ^~~~~~~~~
module_library/c3_leaf_photosynthesis.h:47:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta_PSII"), std::allocator<char>()))'
   47 |           beta_PSII{get_input(input_quantities, "beta_PSII")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:56:
module_library/c4_assimilation.h: In constructor 'standardBML::c4_assimilation::c4_assimilation(const state_map&, state_map*)':
module_library/c4_assimilation.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& Qp;
      |                   ^~
module_library/c4_assimilation.h:76:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Qp"), std::allocator<char>()))'
   76 |           Qp{get_input(input_quantities, "Qp")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     double const& Tleaf;
      |                   ^~~~~
module_library/c4_assimilation.h:77:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tleaf"), std::allocator<char>()))'
   77 |           Tleaf{get_input(input_quantities, "Tleaf")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     double const& Tambient;
      |                   ^~~~~~~~
module_library/c4_assimilation.h:78:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   78 |           Tambient{get_input(input_quantities, "temp")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     double const& rh;
      |                   ^~
module_library/c4_assimilation.h:79:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   79 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     double const& vmax;
      |                   ^~~~
module_library/c4_assimilation.h:80:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax"), std::allocator<char>()))'
   80 |           vmax{get_input(input_quantities, "vmax")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     double const& alpha;
      |                   ^~~~~
module_library/c4_assimilation.h:81:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha"), std::allocator<char>()))'
   81 |           alpha{get_input(input_quantities, "alpha")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:120:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  120 |     double const& kparm;
      |                   ^~~~~
module_library/c4_assimilation.h:82:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kparm"), std::allocator<char>()))'
   82 |           kparm{get_input(input_quantities, "kparm")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:121:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  121 |     double const& theta;
      |                   ^~~~~
module_library/c4_assimilation.h:83:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   83 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:122:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  122 |     double const& beta;
      |                   ^~~~
module_library/c4_assimilation.h:84:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta"), std::allocator<char>()))'
   84 |           beta{get_input(input_quantities, "beta")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:123:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  123 |     double const& Rd;
      |                   ^~
module_library/c4_assimilation.h:85:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   85 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:124:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  124 |     double const& b0;
      |                   ^~
module_library/c4_assimilation.h:86:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   86 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:125:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  125 |     double const& b1;
      |                   ^~
module_library/c4_assimilation.h:87:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   87 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:126:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  126 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c4_assimilation.h:88:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   88 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:127:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  127 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c4_assimilation.h:89:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   89 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:128:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  128 |     double const& Catm;
      |                   ^~~~
module_library/c4_assimilation.h:90:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   90 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:129:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  129 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:91:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   91 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:130:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  130 |     double const& upperT;
      |                   ^~~~~~
module_library/c4_assimilation.h:92:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"upperT"), std::allocator<char>()))'
   92 |           upperT{get_input(input_quantities, "upperT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:131:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  131 |     double const& lowerT;
      |                   ^~~~~~
module_library/c4_assimilation.h:93:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lowerT"), std::allocator<char>()))'
   93 |           lowerT{get_input(input_quantities, "lowerT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_assimilation.h:132:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  132 |     double const& gbw;
      |                   ^~~
module_library/c4_assimilation.h:94:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"gbw"), std::allocator<char>()))'
   94 |           gbw{get_input(input_quantities, "gbw")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:57:
module_library/c4_leaf_photosynthesis.h: In constructor 'standardBML::c4_leaf_photosynthesis::c4_leaf_photosynthesis(const state_map&, state_map*)':
module_library/c4_leaf_photosynthesis.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     double const& incident_ppfd;
      |                   ^~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:24:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"incident_ppfd"), std::allocator<char>()))'
   24 |           incident_ppfd{get_input(input_quantities, "incident_ppfd")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:71:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   71 |     double const& ambient_temperature;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:25:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   25 |           ambient_temperature{get_input(input_quantities, "temp")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:72:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   72 |     double const& rh;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:26:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   26 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:73:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   73 |     double const& vmax1;
      |                   ^~~~~
module_library/c4_leaf_photosynthesis.h:27:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax1"), std::allocator<char>()))'
   27 |           vmax1{get_input(input_quantities, "vmax1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& alpha1;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:28:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha1"), std::allocator<char>()))'
   28 |           alpha1{get_input(input_quantities, "alpha1")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& kparm;
      |                   ^~~~~
module_library/c4_leaf_photosynthesis.h:29:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kparm"), std::allocator<char>()))'
   29 |           kparm{get_input(input_quantities, "kparm")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& theta;
      |                   ^~~~~
module_library/c4_leaf_photosynthesis.h:30:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   30 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& beta;
      |                   ^~~~
module_library/c4_leaf_photosynthesis.h:31:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta"), std::allocator<char>()))'
   31 |           beta{get_input(input_quantities, "beta")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& Rd;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:32:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   32 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& b0;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:33:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   33 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& b1;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:34:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   34 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:35:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   35 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c4_leaf_photosynthesis.h:36:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   36 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& Catm;
      |                   ^~~~
module_library/c4_leaf_photosynthesis.h:37:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   37 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:38:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   38 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& upperT;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:39:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"upperT"), std::allocator<char>()))'
   39 |           upperT{get_input(input_quantities, "upperT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& lowerT;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:40:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lowerT"), std::allocator<char>()))'
   40 |           lowerT{get_input(input_quantities, "lowerT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& average_absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:41:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"average_absorbed_shortwave"), std::allocator<char>()))'
   41 |           average_absorbed_shortwave{get_input(input_quantities, "average_absorbed_shortwave")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:42:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorbed_shortwave"), std::allocator<char>()))'
   42 |           absorbed_shortwave{get_input(input_quantities, "absorbed_shortwave")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/c4_leaf_photosynthesis.h:43:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   43 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& leafwidth;
      |                   ^~~~~~~~~
module_library/c4_leaf_photosynthesis.h:44:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leafwidth"), std::allocator<char>()))'
   44 |           leafwidth{get_input(input_quantities, "leafwidth")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:45:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   45 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:46:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   46 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& et_equation;
      |                   ^~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:47:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"et_equation"), std::allocator<char>()))'
   47 |           et_equation{get_input(input_quantities, "et_equation")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:58:
module_library/multilayer_canopy_properties.h: In constructor 'standardBML::multilayer_canopy_properties::multilayer_canopy_properties(const int&, const state_map&, state_map*)':
module_library/multilayer_canopy_properties.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& par_incident_direct;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:66:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_direct"), std::allocator<char>()))'
   66 |           par_incident_direct{get_input(input_quantities, "par_incident_direct")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& par_incident_diffuse;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:67:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_diffuse"), std::allocator<char>()))'
   67 |           par_incident_diffuse{get_input(input_quantities, "par_incident_diffuse")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& absorptivity_par;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:68:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorptivity_par"), std::allocator<char>()))'
   68 |           absorptivity_par{get_input(input_quantities, "absorptivity_par")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& lai;
      |                   ^~~
module_library/multilayer_canopy_properties.h:69:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   69 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:70:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   70 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& kd;
      |                   ^~
module_library/multilayer_canopy_properties.h:71:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kd"), std::allocator<char>()))'
   71 |           kd{get_input(input_quantities, "kd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     double const& chil;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:72:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"chil"), std::allocator<char>()))'
   72 |           chil{get_input(input_quantities, "chil")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& heightf;
      |                   ^~~~~~~
module_library/multilayer_canopy_properties.h:73:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"heightf"), std::allocator<char>()))'
   73 |           heightf{get_input(input_quantities, "heightf")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/multilayer_canopy_properties.h:74:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   74 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     double const& LeafN;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:75:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafN"), std::allocator<char>()))'
   75 |           LeafN{get_input(input_quantities, "LeafN")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     double const& kpLN;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:76:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kpLN"), std::allocator<char>()))'
   76 |           kpLN{get_input(input_quantities, "kpLN")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     double const& lnfun;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:77:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnfun"), std::allocator<char>()))'
   77 |           lnfun{get_input(input_quantities, "lnfun")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:78:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   78 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:120:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  120 |     double const& par_energy_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:79:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_fraction"), std::allocator<char>()))'
   79 |           par_energy_fraction{get_input(input_quantities, "par_energy_fraction")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:121:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  121 |     double const& leaf_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:80:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_transmittance"), std::allocator<char>()))'
   80 |           leaf_transmittance{get_input(input_quantities, "leaf_transmittance")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:122:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  122 |     double const& leaf_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:81:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_reflectance"), std::allocator<char>()))'
   81 |           leaf_reflectance{get_input(input_quantities, "leaf_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:62:
module_library/multilayer_canopy_integrator.h: In constructor 'standardBML::multilayer_canopy_integrator::multilayer_canopy_integrator(const int&, const state_map&, state_map*)':
module_library/multilayer_canopy_integrator.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& lai;
      |                   ^~~
module_library/multilayer_canopy_integrator.h:49:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   49 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_integrator.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& growth_respiration_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_integrator.h:50:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"growth_respiration_fraction"), std::allocator<char>()))'
   50 |           growth_respiration_fraction{get_input(input_quantities, "growth_respiration_fraction")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:70:
module_library/partitioning_coefficient_logistic.h: In constructor 'standardBML::partitioning_coefficient_logistic::partitioning_coefficient_logistic(const state_map&, state_map*)':
module_library/partitioning_coefficient_logistic.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     const double& DVI;
      |                   ^~~
module_library/partitioning_coefficient_logistic.h:65:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"DVI"), std::allocator<char>()))'
   65 |           DVI{get_input(input_quantities, "DVI")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     const double& alphaRoot;
      |                   ^~~~~~~~~
module_library/partitioning_coefficient_logistic.h:66:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alphaRoot"), std::allocator<char>()))'
   66 |           alphaRoot{get_input(input_quantities, "alphaRoot")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     const double& alphaStem;
      |                   ^~~~~~~~~
module_library/partitioning_coefficient_logistic.h:67:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alphaStem"), std::allocator<char>()))'
   67 |           alphaStem{get_input(input_quantities, "alphaStem")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:94:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   94 |     const double& alphaLeaf;
      |                   ^~~~~~~~~
module_library/partitioning_coefficient_logistic.h:68:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alphaLeaf"), std::allocator<char>()))'
   68 |           alphaLeaf{get_input(input_quantities, "alphaLeaf")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:95:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   95 |     const double& alphaShell;
      |                   ^~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:69:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alphaShell"), std::allocator<char>()))'
   69 |           alphaShell{get_input(input_quantities, "alphaShell")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     const double& betaRoot;
      |                   ^~~~~~~~
module_library/partitioning_coefficient_logistic.h:70:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"betaRoot"), std::allocator<char>()))'
   70 |           betaRoot{get_input(input_quantities, "betaRoot")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     const double& betaStem;
      |                   ^~~~~~~~
module_library/partitioning_coefficient_logistic.h:71:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"betaStem"), std::allocator<char>()))'
   71 |           betaStem{get_input(input_quantities, "betaStem")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     const double& betaLeaf;
      |                   ^~~~~~~~
module_library/partitioning_coefficient_logistic.h:72:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"betaLeaf"), std::allocator<char>()))'
   72 |           betaLeaf{get_input(input_quantities, "betaLeaf")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     const double& betaShell;
      |                   ^~~~~~~~~
module_library/partitioning_coefficient_logistic.h:73:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"betaShell"), std::allocator<char>()))'
   73 |           betaShell{get_input(input_quantities, "betaShell")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     const double& kRhizome_emr;
      |                   ^~~~~~~~~~~~
module_library/partitioning_coefficient_logistic.h:74:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRhizome_emr"), std::allocator<char>()))'
   74 |           kRhizome_emr{get_input(input_quantities, "kRhizome_emr")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:71:
module_library/senescence_coefficient_logistic.h: In constructor 'standardBML::senescence_coefficient_logistic::senescence_coefficient_logistic(const state_map&, state_map*)':
module_library/senescence_coefficient_logistic.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     const double& DVI;
      |                   ^~~
module_library/senescence_coefficient_logistic.h:60:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"DVI"), std::allocator<char>()))'
   60 |           DVI{get_input(input_quantities, "DVI")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     const double& alphaSeneStem;
      |                   ^~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:61:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alphaSeneStem"), std::allocator<char>()))'
   61 |           alphaSeneStem{get_input(input_quantities, "alphaSeneStem")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     const double& alphaSeneLeaf;
      |                   ^~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:62:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alphaSeneLeaf"), std::allocator<char>()))'
   62 |           alphaSeneLeaf{get_input(input_quantities, "alphaSeneLeaf")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     const double& betaSeneStem;
      |                   ^~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:63:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"betaSeneStem"), std::allocator<char>()))'
   63 |           betaSeneStem{get_input(input_quantities, "betaSeneStem")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     const double& betaSeneLeaf;
      |                   ^~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:64:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"betaSeneLeaf"), std::allocator<char>()))'
   64 |           betaSeneLeaf{get_input(input_quantities, "betaSeneLeaf")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     const double& rateSeneLeaf;
      |                   ^~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:65:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rateSeneLeaf"), std::allocator<char>()))'
   65 |           rateSeneLeaf{get_input(input_quantities, "rateSeneLeaf")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     const double& rateSeneStem;
      |                   ^~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:66:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rateSeneStem"), std::allocator<char>()))'
   66 |           rateSeneStem{get_input(input_quantities, "rateSeneStem")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:94:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   94 |     const double& alphaSeneRoot;
      |                   ^~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:67:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alphaSeneRoot"), std::allocator<char>()))'
   67 |           alphaSeneRoot{get_input(input_quantities, "alphaSeneRoot")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:95:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   95 |     const double& alphaSeneRhizome;
      |                   ^~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:68:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alphaSeneRhizome"), std::allocator<char>()))'
   68 |           alphaSeneRhizome{get_input(input_quantities, "alphaSeneRhizome")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     const double& betaSeneRoot;
      |                   ^~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:69:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"betaSeneRoot"), std::allocator<char>()))'
   69 |           betaSeneRoot{get_input(input_quantities, "betaSeneRoot")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     const double& betaSeneRhizome;
      |                   ^~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:70:36: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"betaSeneRhizome"), std::allocator<char>()))'
   70 |           betaSeneRhizome{get_input(input_quantities, "betaSeneRhizome")},
      |                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     const double& rateSeneRoot;
      |                   ^~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:71:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rateSeneRoot"), std::allocator<char>()))'
   71 |           rateSeneRoot{get_input(input_quantities, "rateSeneRoot")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     const double& rateSeneRhizome;
      |                   ^~~~~~~~~~~~~~~
module_library/senescence_coefficient_logistic.h:72:36: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rateSeneRhizome"), std::allocator<char>()))'
   72 |           rateSeneRhizome{get_input(input_quantities, "rateSeneRhizome")},
      |                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:72:
module_library/senescence_logistic.h: In constructor 'standardBML::senescence_logistic::senescence_logistic(const state_map&, state_map*)':
module_library/senescence_logistic.h:66:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   66 |     const double& Leaf;
      |                   ^~~~
module_library/senescence_logistic.h:31:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Leaf"), std::allocator<char>()))'
   31 |           Leaf{get_input(input_quantities, "Leaf")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:67:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   67 |     const double& Stem;
      |                   ^~~~
module_library/senescence_logistic.h:32:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Stem"), std::allocator<char>()))'
   32 |           Stem{get_input(input_quantities, "Stem")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:68:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   68 |     const double& Root;
      |                   ^~~~
module_library/senescence_logistic.h:33:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Root"), std::allocator<char>()))'
   33 |           Root{get_input(input_quantities, "Root")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:69:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   69 |     const double& Rhizome;
      |                   ^~~~~~~
module_library/senescence_logistic.h:34:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rhizome"), std::allocator<char>()))'
   34 |           Rhizome{get_input(input_quantities, "Rhizome")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     const double& kSeneLeaf;
      |                   ^~~~~~~~~
module_library/senescence_logistic.h:35:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kSeneLeaf"), std::allocator<char>()))'
   35 |           kSeneLeaf{get_input(input_quantities, "kSeneLeaf")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:71:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   71 |     const double& kSeneStem;
      |                   ^~~~~~~~~
module_library/senescence_logistic.h:36:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kSeneStem"), std::allocator<char>()))'
   36 |           kSeneStem{get_input(input_quantities, "kSeneStem")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:72:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   72 |     const double& kSeneRoot;
      |                   ^~~~~~~~~
module_library/senescence_logistic.h:37:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kSeneRoot"), std::allocator<char>()))'
   37 |           kSeneRoot{get_input(input_quantities, "kSeneRoot")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:73:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   73 |     const double& kSeneRhizome;
      |                   ^~~~~~~~~~~~
module_library/senescence_logistic.h:38:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kSeneRhizome"), std::allocator<char>()))'
   38 |           kSeneRhizome{get_input(input_quantities, "kSeneRhizome")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     const double& kLeaf;
      |                   ^~~~~
module_library/senescence_logistic.h:39:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kLeaf"), std::allocator<char>()))'
   39 |           kLeaf{get_input(input_quantities, "kLeaf")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     const double& kStem;
      |                   ^~~~~
module_library/senescence_logistic.h:40:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kStem"), std::allocator<char>()))'
   40 |           kStem{get_input(input_quantities, "kStem")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     const double& kRoot;
      |                   ^~~~~
module_library/senescence_logistic.h:41:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRoot"), std::allocator<char>()))'
   41 |           kRoot{get_input(input_quantities, "kRoot")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     const double& kRhizome;
      |                   ^~~~~~~~
module_library/senescence_logistic.h:42:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRhizome"), std::allocator<char>()))'
   42 |           kRhizome{get_input(input_quantities, "kRhizome")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     const double& kGrain;
      |                   ^~~~~~
module_library/senescence_logistic.h:43:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kGrain"), std::allocator<char>()))'
   43 |           kGrain{get_input(input_quantities, "kGrain")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     const double& kShell;
      |                   ^~~~~~
module_library/senescence_logistic.h:44:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kShell"), std::allocator<char>()))'
   44 |           kShell{get_input(input_quantities, "kShell")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     const double& remobilization_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
module_library/senescence_logistic.h:45:44: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"remobilization_fraction"), std::allocator<char>()))'
   45 |           remobilization_fraction{get_input(input_quantities, "remobilization_fraction")},
      |                                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:73:
module_library/development_index.h: In constructor 'standardBML::development_index::development_index(const state_map&, state_map*)':
module_library/development_index.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     const double& development_rate_per_hour;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/development_index.h:64:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"development_rate_per_hour"), std::allocator<char>()))'
   64 |           development_rate_per_hour{get_input(input_quantities, "development_rate_per_hour")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:74:
module_library/soybean_development_rate_calculator.h: In constructor 'standardBML::soybean_development_rate_calculator::soybean_development_rate_calculator(const state_map&, state_map*)':
module_library/soybean_development_rate_calculator.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& time;
      |                   ^~~~
module_library/soybean_development_rate_calculator.h:63:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
   63 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& sowing_time;
      |                   ^~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:64:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"sowing_time"), std::allocator<char>()))'
   64 |           sowing_time{get_input(input_quantities, "sowing_time")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:94:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   94 |     double const& maturity_group;
      |                   ^~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:65:35: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"maturity_group"), std::allocator<char>()))'
   65 |           maturity_group{get_input(input_quantities, "maturity_group")},
      |                          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:95:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   95 |     double const& DVI;
      |                   ^~~
module_library/soybean_development_rate_calculator.h:66:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"DVI"), std::allocator<char>()))'
   66 |           DVI{get_input(input_quantities, "DVI")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     double const& day_length;
      |                   ^~~~~~~~~~
module_library/soybean_development_rate_calculator.h:67:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"day_length"), std::allocator<char>()))'
   67 |           day_length{get_input(input_quantities, "day_length")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     double const& temp;
      |                   ^~~~
module_library/soybean_development_rate_calculator.h:68:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   68 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     double const& Tbase_emr;
      |                   ^~~~~~~~~
module_library/soybean_development_rate_calculator.h:69:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tbase_emr"), std::allocator<char>()))'
   69 |           Tbase_emr{get_input(input_quantities, "Tbase_emr")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     double const& TTemr_threshold;
      |                   ^~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:70:36: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"TTemr_threshold"), std::allocator<char>()))'
   70 |           TTemr_threshold{get_input(input_quantities, "TTemr_threshold")},
      |                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     double const& Rmax_emrV0;
      |                   ^~~~~~~~~~
module_library/soybean_development_rate_calculator.h:71:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rmax_emrV0"), std::allocator<char>()))'
   71 |           Rmax_emrV0{get_input(input_quantities, "Rmax_emrV0")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:101:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  101 |     double const& Tmin_emrV0;
      |                   ^~~~~~~~~~
module_library/soybean_development_rate_calculator.h:72:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tmin_emrV0"), std::allocator<char>()))'
   72 |           Tmin_emrV0{get_input(input_quantities, "Tmin_emrV0")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:102:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  102 |     double const& Topt_emrV0;
      |                   ^~~~~~~~~~
module_library/soybean_development_rate_calculator.h:73:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Topt_emrV0"), std::allocator<char>()))'
   73 |           Topt_emrV0{get_input(input_quantities, "Topt_emrV0")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:103:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  103 |     double const& Tmax_emrV0;
      |                   ^~~~~~~~~~
module_library/soybean_development_rate_calculator.h:74:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tmax_emrV0"), std::allocator<char>()))'
   74 |           Tmax_emrV0{get_input(input_quantities, "Tmax_emrV0")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:104:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  104 |     double const& Tmin_R0R1;
      |                   ^~~~~~~~~
module_library/soybean_development_rate_calculator.h:75:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tmin_R0R1"), std::allocator<char>()))'
   75 |           Tmin_R0R1{get_input(input_quantities, "Tmin_R0R1")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:105:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  105 |     double const& Topt_R0R1;
      |                   ^~~~~~~~~
module_library/soybean_development_rate_calculator.h:76:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Topt_R0R1"), std::allocator<char>()))'
   76 |           Topt_R0R1{get_input(input_quantities, "Topt_R0R1")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:106:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  106 |     double const& Tmax_R0R1;
      |                   ^~~~~~~~~
module_library/soybean_development_rate_calculator.h:77:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tmax_R0R1"), std::allocator<char>()))'
   77 |           Tmax_R0R1{get_input(input_quantities, "Tmax_R0R1")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& Tmin_R1R7;
      |                   ^~~~~~~~~
module_library/soybean_development_rate_calculator.h:78:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tmin_R1R7"), std::allocator<char>()))'
   78 |           Tmin_R1R7{get_input(input_quantities, "Tmin_R1R7")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& Topt_R1R7;
      |                   ^~~~~~~~~
module_library/soybean_development_rate_calculator.h:79:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Topt_R1R7"), std::allocator<char>()))'
   79 |           Topt_R1R7{get_input(input_quantities, "Topt_R1R7")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soybean_development_rate_calculator.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& Tmax_R1R7;
      |                   ^~~~~~~~~
module_library/soybean_development_rate_calculator.h:80:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Tmax_R1R7"), std::allocator<char>()))'
   80 |           Tmax_R1R7{get_input(input_quantities, "Tmax_R1R7")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:75:
module_library/thermal_time_development_rate_calculator.h: In constructor 'standardBML::thermal_time_development_rate_calculator::thermal_time_development_rate_calculator(const state_map&, state_map*)':
module_library/thermal_time_development_rate_calculator.h:72:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   72 |     double const& time;
      |                   ^~~~
module_library/thermal_time_development_rate_calculator.h:52:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
   52 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_development_rate_calculator.h:73:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   73 |     double const& sowing_time;
      |                   ^~~~~~~~~~~
module_library/thermal_time_development_rate_calculator.h:53:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"sowing_time"), std::allocator<char>()))'
   53 |           sowing_time{get_input(input_quantities, "sowing_time")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_development_rate_calculator.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& DVI;
      |                   ^~~
module_library/thermal_time_development_rate_calculator.h:54:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"DVI"), std::allocator<char>()))'
   54 |           DVI{get_input(input_quantities, "DVI")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_development_rate_calculator.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& temp;
      |                   ^~~~
module_library/thermal_time_development_rate_calculator.h:55:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   55 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_development_rate_calculator.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& tbase;
      |                   ^~~~~
module_library/thermal_time_development_rate_calculator.h:56:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"tbase"), std::allocator<char>()))'
   56 |           tbase{get_input(input_quantities, "tbase")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_development_rate_calculator.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& TTemr;
      |                   ^~~~~
module_library/thermal_time_development_rate_calculator.h:57:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"TTemr"), std::allocator<char>()))'
   57 |           TTemr{get_input(input_quantities, "TTemr")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_development_rate_calculator.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& TTveg;
      |                   ^~~~~
module_library/thermal_time_development_rate_calculator.h:58:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"TTveg"), std::allocator<char>()))'
   58 |           TTveg{get_input(input_quantities, "TTveg")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/thermal_time_development_rate_calculator.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& TTrep;
      |                   ^~~~~
module_library/thermal_time_development_rate_calculator.h:59:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"TTrep"), std::allocator<char>()))'
   59 |           TTrep{get_input(input_quantities, "TTrep")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:76:
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h: In constructor 'standardBML::no_leaf_resp_neg_assim_partitioning_growth_calculator::no_leaf_resp_neg_assim_partitioning_growth_calculator(const state_map&, state_map*)':
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:96:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   96 |     const double& kLeaf;
      |                   ^~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:69:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kLeaf"), std::allocator<char>()))'
   69 |           kLeaf{get_input(input_quantities, "kLeaf")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:97:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   97 |     const double& kStem;
      |                   ^~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:70:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kStem"), std::allocator<char>()))'
   70 |           kStem{get_input(input_quantities, "kStem")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     const double& kRoot;
      |                   ^~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:71:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRoot"), std::allocator<char>()))'
   71 |           kRoot{get_input(input_quantities, "kRoot")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     const double& kRhizome;
      |                   ^~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:72:29: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kRhizome"), std::allocator<char>()))'
   72 |           kRhizome{get_input(input_quantities, "kRhizome")},
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     const double& kGrain;
      |                   ^~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:73:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kGrain"), std::allocator<char>()))'
   73 |           kGrain{get_input(input_quantities, "kGrain")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:101:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  101 |     const double& kShell;
      |                   ^~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:74:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kShell"), std::allocator<char>()))'
   74 |           kShell{get_input(input_quantities, "kShell")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:102:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  102 |     const double& canopy_assim;
      |                   ^~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:75:33: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"canopy_assimilation_rate"), std::allocator<char>()))'
   75 |           canopy_assim{get_input(input_quantities, "canopy_assimilation_rate")},
      |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:103:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  103 |     const double& mrc1;
      |                   ^~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:76:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mrc1"), std::allocator<char>()))'
   76 |           mrc1{get_input(input_quantities, "mrc1")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:104:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  104 |     const double& mrc2;
      |                   ^~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:77:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mrc2"), std::allocator<char>()))'
   77 |           mrc2{get_input(input_quantities, "mrc2")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:105:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  105 |     const double& temp;
      |                   ^~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:78:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   78 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:106:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  106 |     const double& LeafWS;
      |                   ^~~~~~
module_library/no_leaf_resp_neg_assim_partitioning_growth_calculator.h:79:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafWS"), std::allocator<char>()))'
   79 |           LeafWS{get_input(input_quantities, "LeafWS")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:77:
module_library/rasmussen_specific_heat.h: In constructor 'standardBML::rasmussen_specific_heat::rasmussen_specific_heat(const state_map&, state_map*)':
module_library/rasmussen_specific_heat.h:64:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   64 |     double const& temp;
      |                   ^~~~
module_library/rasmussen_specific_heat.h:51:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   51 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rasmussen_specific_heat.h:65:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   65 |     double const& mole_fraction_h2o_atmosphere;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rasmussen_specific_heat.h:52:49: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mole_fraction_h2o_atmosphere"), std::allocator<char>()))'
   52 |           mole_fraction_h2o_atmosphere{get_input(input_quantities, "mole_fraction_h2o_atmosphere")},
      |                                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:78:
module_library/buck_swvp.h: In constructor 'standardBML::buck_swvp::buck_swvp(const state_map&, state_map*)':
module_library/buck_swvp.h:38:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   38 |     double const& temp;
      |                   ^~~~
module_library/buck_swvp.h:26:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   26 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:79:
module_library/rh_to_mole_fraction.h: In constructor 'standardBML::rh_to_mole_fraction::rh_to_mole_fraction(const state_map&, state_map*)':
module_library/rh_to_mole_fraction.h:64:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   64 |     double const& rh;
      |                   ^~
module_library/rh_to_mole_fraction.h:50:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   50 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rh_to_mole_fraction.h:65:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   65 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/rh_to_mole_fraction.h:51:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   51 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rh_to_mole_fraction.h:66:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   66 |     double const& saturation_water_vapor_pressure_atmosphere;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rh_to_mole_fraction.h:52:63: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"saturation_water_vapor_pressure_atmosphere"), std::allocator<char>()))'
   52 |           saturation_water_vapor_pressure_atmosphere{get_input(input_quantities, "saturation_water_vapor_pressure_atmosphere")},
      |                                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:80:
module_library/total_biomass.h: In constructor 'standardBML::total_biomass::total_biomass(const state_map&, state_map*)':
module_library/total_biomass.h:41:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   41 |     const double& Leaf;
      |                   ^~~~
module_library/total_biomass.h:24:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Leaf"), std::allocator<char>()))'
   24 |           Leaf{get_input(input_quantities, "Leaf")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/total_biomass.h:42:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   42 |     const double& Stem;
      |                   ^~~~
module_library/total_biomass.h:25:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Stem"), std::allocator<char>()))'
   25 |           Stem{get_input(input_quantities, "Stem")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/total_biomass.h:43:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   43 |     const double& Root;
      |                   ^~~~
module_library/total_biomass.h:26:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Root"), std::allocator<char>()))'
   26 |           Root{get_input(input_quantities, "Root")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/total_biomass.h:44:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   44 |     const double& Rhizome;
      |                   ^~~~~~~
module_library/total_biomass.h:27:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rhizome"), std::allocator<char>()))'
   27 |           Rhizome{get_input(input_quantities, "Rhizome")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/total_biomass.h:45:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   45 |     const double& Shell;
      |                   ^~~~~
module_library/total_biomass.h:28:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Shell"), std::allocator<char>()))'
   28 |           Shell{get_input(input_quantities, "Shell")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/total_biomass.h:46:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   46 |     const double& Grain;
      |                   ^~~~~
module_library/total_biomass.h:29:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Grain"), std::allocator<char>()))'
   29 |           Grain{get_input(input_quantities, "Grain")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:81:
module_library/grimm_soybean_flowering.h: In constructor 'standardBML::grimm_soybean_flowering::grimm_soybean_flowering(const state_map&, state_map*)':
module_library/grimm_soybean_flowering.h:38:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   38 |     double const& grimm_rate;
      |                   ^~~~~~~~~~
module_library/grimm_soybean_flowering.h:26:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_rate"), std::allocator<char>()))'
   26 |           grimm_rate{get_input(input_quantities, "grimm_rate")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:82:
module_library/grimm_soybean_flowering_calculator.h: In constructor 'standardBML::grimm_soybean_flowering_calculator::grimm_soybean_flowering_calculator(const state_map&, state_map*)':
module_library/grimm_soybean_flowering_calculator.h:98:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   98 |     double const& sowing_time;
      |                   ^~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:69:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"sowing_time"), std::allocator<char>()))'
   69 |           sowing_time{get_input(input_quantities, "sowing_time")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:99:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   99 |     double const& grimm_physiological_age;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:70:44: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_physiological_age"), std::allocator<char>()))'
   70 |           grimm_physiological_age{get_input(input_quantities, "grimm_physiological_age")},
      |                                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:100:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  100 |     double const& grimm_juvenile_T0;
      |                   ^~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:71:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_juvenile_T0"), std::allocator<char>()))'
   71 |           grimm_juvenile_T0{get_input(input_quantities, "grimm_juvenile_T0")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:101:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  101 |     double const& grimm_juvenile_T1;
      |                   ^~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:72:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_juvenile_T1"), std::allocator<char>()))'
   72 |           grimm_juvenile_T1{get_input(input_quantities, "grimm_juvenile_T1")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:102:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  102 |     double const& grimm_juvenile_T2;
      |                   ^~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:73:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_juvenile_T2"), std::allocator<char>()))'
   73 |           grimm_juvenile_T2{get_input(input_quantities, "grimm_juvenile_T2")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:103:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  103 |     double const& grimm_juvenile_T3;
      |                   ^~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:74:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_juvenile_T3"), std::allocator<char>()))'
   74 |           grimm_juvenile_T3{get_input(input_quantities, "grimm_juvenile_T3")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:104:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  104 |     double const& grimm_juvenile_pd_threshold;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:75:48: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_juvenile_pd_threshold"), std::allocator<char>()))'
   75 |           grimm_juvenile_pd_threshold{get_input(input_quantities, "grimm_juvenile_pd_threshold")},
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:105:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  105 |     double const& grimm_T_min;
      |                   ^~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:76:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_T_min"), std::allocator<char>()))'
   76 |           grimm_T_min{get_input(input_quantities, "grimm_T_min")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:106:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  106 |     double const& grimm_T_opt;
      |                   ^~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:77:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_T_opt"), std::allocator<char>()))'
   77 |           grimm_T_opt{get_input(input_quantities, "grimm_T_opt")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& grimm_N_min;
      |                   ^~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:78:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_N_min"), std::allocator<char>()))'
   78 |           grimm_N_min{get_input(input_quantities, "grimm_N_min")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& grimm_N_opt;
      |                   ^~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:79:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_N_opt"), std::allocator<char>()))'
   79 |           grimm_N_opt{get_input(input_quantities, "grimm_N_opt")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& grimm_flowering_threshold;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:80:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"grimm_flowering_threshold"), std::allocator<char>()))'
   80 |           grimm_flowering_threshold{get_input(input_quantities, "grimm_flowering_threshold")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& time;
      |                   ^~~~
module_library/grimm_soybean_flowering_calculator.h:81:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
   81 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& temp;
      |                   ^~~~
module_library/grimm_soybean_flowering_calculator.h:82:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   82 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& day_length;
      |                   ^~~~~~~~~~
module_library/grimm_soybean_flowering_calculator.h:83:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"day_length"), std::allocator<char>()))'
   83 |           day_length{get_input(input_quantities, "day_length")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:83:
module_library/solar_position_michalsky.h: In constructor 'standardBML::solar_position_michalsky::solar_position_michalsky(const state_map&, state_map*)':
module_library/solar_position_michalsky.h:133:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  133 |     double const& lat;
      |                   ^~~
module_library/solar_position_michalsky.h:105:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lat"), std::allocator<char>()))'
  105 |           lat{get_input(input_quantities, "lat")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/solar_position_michalsky.h:134:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  134 |     double const& longitude;
      |                   ^~~~~~~~~
module_library/solar_position_michalsky.h:106:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"longitude"), std::allocator<char>()))'
  106 |           longitude{get_input(input_quantities, "longitude")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/solar_position_michalsky.h:135:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  135 |     double const& time;
      |                   ^~~~
module_library/solar_position_michalsky.h:107:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time"), std::allocator<char>()))'
  107 |           time{get_input(input_quantities, "time")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/solar_position_michalsky.h:136:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  136 |     double const& time_zone_offset;
      |                   ^~~~~~~~~~~~~~~~
module_library/solar_position_michalsky.h:108:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"time_zone_offset"), std::allocator<char>()))'
  108 |           time_zone_offset{get_input(input_quantities, "time_zone_offset")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/solar_position_michalsky.h:137:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  137 |     double const& year;
      |                   ^~~~
module_library/solar_position_michalsky.h:109:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"year"), std::allocator<char>()))'
  109 |           year{get_input(input_quantities, "year")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:84:
module_library/leaf_gbw_thornley.h: In constructor 'standardBML::leaf_gbw_thornley::leaf_gbw_thornley(const state_map&, state_map*)':
module_library/leaf_gbw_thornley.h:55:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   55 |     double const& height;
      |                   ^~~~~~
module_library/leaf_gbw_thornley.h:40:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"height"), std::allocator<char>()))'
   40 |           height{get_input(input_quantities, "height")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_gbw_thornley.h:56:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   56 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/leaf_gbw_thornley.h:41:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   41 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_gbw_thornley.h:57:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   57 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/leaf_gbw_thornley.h:42:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   42 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_gbw_thornley.h:58:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   58 |     double const& windspeed_height;
      |                   ^~~~~~~~~~~~~~~~
module_library/leaf_gbw_thornley.h:43:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed_height"), std::allocator<char>()))'
   43 |           windspeed_height{get_input(input_quantities, "windspeed_height")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:85:
module_library/leaf_gbw_nikolov.h: In constructor 'standardBML::leaf_gbw_nikolov::leaf_gbw_nikolov(const state_map&, state_map*)':
module_library/leaf_gbw_nikolov.h:59:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   59 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/leaf_gbw_nikolov.h:41:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   41 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_gbw_nikolov.h:60:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   60 |     double const& leafwidth;
      |                   ^~~~~~~~~
module_library/leaf_gbw_nikolov.h:42:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leafwidth"), std::allocator<char>()))'
   42 |           leafwidth{get_input(input_quantities, "leafwidth")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_gbw_nikolov.h:61:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   61 |     double const& air_temperature;
      |                   ^~~~~~~~~~~~~~~
module_library/leaf_gbw_nikolov.h:43:36: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   43 |           air_temperature{get_input(input_quantities, "temp")},
      |                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_gbw_nikolov.h:62:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   62 |     double const& leaf_temperature;
      |                   ^~~~~~~~~~~~~~~~
module_library/leaf_gbw_nikolov.h:44:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_temperature"), std::allocator<char>()))'
   44 |           leaf_temperature{get_input(input_quantities, "leaf_temperature")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_gbw_nikolov.h:63:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   63 |     double const& Gs;
      |                   ^~
module_library/leaf_gbw_nikolov.h:45:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs"), std::allocator<char>()))'
   45 |           Gs{get_input(input_quantities, "Gs")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_gbw_nikolov.h:64:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   64 |     double const& rh;
      |                   ^~
module_library/leaf_gbw_nikolov.h:46:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   46 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/leaf_gbw_nikolov.h:65:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   65 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/leaf_gbw_nikolov.h:47:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   47 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:86:
module_library/example_model_mass_gain.h: In constructor 'standardBML::example_model_mass_gain::example_model_mass_gain(const state_map&, state_map*)':
module_library/example_model_mass_gain.h:67:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   67 |     double const& Q;
      |                   ^
module_library/example_model_mass_gain.h:51:22: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Q"), std::allocator<char>()))'
   51 |           Q{get_input(input_quantities, "Q")},
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
module_library/example_model_mass_gain.h:68:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   68 |     double const& alpha_rue;
      |                   ^~~~~~~~~
module_library/example_model_mass_gain.h:52:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha_rue"), std::allocator<char>()))'
   52 |           alpha_rue{get_input(input_quantities, "alpha_rue")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/example_model_mass_gain.h:69:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   69 |     double const& SLA;
      |                   ^~~
module_library/example_model_mass_gain.h:53:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"SLA"), std::allocator<char>()))'
   53 |           SLA{get_input(input_quantities, "SLA")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/example_model_mass_gain.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     double const& C_conv;
      |                   ^~~~~~
module_library/example_model_mass_gain.h:54:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"C_conv"), std::allocator<char>()))'
   54 |           C_conv{get_input(input_quantities, "C_conv")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/example_model_mass_gain.h:71:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   71 |     double const& Leaf;
      |                   ^~~~
module_library/example_model_mass_gain.h:55:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Leaf"), std::allocator<char>()))'
   55 |           Leaf{get_input(input_quantities, "Leaf")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:87:
module_library/example_model_partitioning.h: In constructor 'standardBML::example_model_partitioning::example_model_partitioning(const state_map&, state_map*)':
module_library/example_model_partitioning.h:57:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   57 |     double const& mass_gain;
      |                   ^~~~~~~~~
module_library/example_model_partitioning.h:42:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mass_gain"), std::allocator<char>()))'
   42 |           mass_gain{get_input(input_quantities, "mass_gain")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/example_model_partitioning.h:58:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   58 |     double const& f_leaf;
      |                   ^~~~~~
module_library/example_model_partitioning.h:43:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"f_leaf"), std::allocator<char>()))'
   43 |           f_leaf{get_input(input_quantities, "f_leaf")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/example_model_partitioning.h:59:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   59 |     double const& f_root;
      |                   ^~~~~~
module_library/example_model_partitioning.h:44:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"f_root"), std::allocator<char>()))'
   44 |           f_root{get_input(input_quantities, "f_root")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:88:
module_library/litter_cover.h: In constructor 'standardBML::litter_cover::litter_cover(const state_map&, state_map*)':
module_library/litter_cover.h:69:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   69 |     double const& LeafLitter;
      |                   ^~~~~~~~~~
module_library/litter_cover.h:56:31: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafLitter"), std::allocator<char>()))'
   56 |           LeafLitter{get_input(input_quantities, "LeafLitter")},
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/litter_cover.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     double const& km_leaf_litter;
      |                   ^~~~~~~~~~~~~~
module_library/litter_cover.h:57:35: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"km_leaf_litter"), std::allocator<char>()))'
   57 |           km_leaf_litter{get_input(input_quantities, "km_leaf_litter")},
      |                          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/module_library.cpp:89:
module_library/soil_sunlight.h: In constructor 'standardBML::soil_sunlight::soil_sunlight(const state_map&, state_map*)':
module_library/soil_sunlight.h:57:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   57 |     double const& canopy_direct_transmission_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_sunlight.h:44:56: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"canopy_direct_transmission_fraction"), std::allocator<char>()))'
   44 |           canopy_direct_transmission_fraction{get_input(input_quantities, "canopy_direct_transmission_fraction")},
      |                                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/soil_sunlight.h:58:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   58 |     double const& litter_cover_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/soil_sunlight.h:45:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"litter_cover_fraction"), std::allocator<char>()))'
   45 |           litter_cover_fraction{get_input(input_quantities, "litter_cover_fraction")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/multilayer_c4_canopy.h:6,
                 from module_library/multilayer_c4_canopy.cpp:1:
module_library/multilayer_canopy_properties.h: In constructor 'standardBML::multilayer_canopy_properties::multilayer_canopy_properties(const int&, const state_map&, state_map*)':
module_library/multilayer_canopy_properties.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& par_incident_direct;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:66:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_direct"), std::allocator<char>()))'
   66 |           par_incident_direct{get_input(input_quantities, "par_incident_direct")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& par_incident_diffuse;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:67:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_diffuse"), std::allocator<char>()))'
   67 |           par_incident_diffuse{get_input(input_quantities, "par_incident_diffuse")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& absorptivity_par;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:68:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorptivity_par"), std::allocator<char>()))'
   68 |           absorptivity_par{get_input(input_quantities, "absorptivity_par")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& lai;
      |                   ^~~
module_library/multilayer_canopy_properties.h:69:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   69 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:70:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   70 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& kd;
      |                   ^~
module_library/multilayer_canopy_properties.h:71:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kd"), std::allocator<char>()))'
   71 |           kd{get_input(input_quantities, "kd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     double const& chil;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:72:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"chil"), std::allocator<char>()))'
   72 |           chil{get_input(input_quantities, "chil")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& heightf;
      |                   ^~~~~~~
module_library/multilayer_canopy_properties.h:73:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"heightf"), std::allocator<char>()))'
   73 |           heightf{get_input(input_quantities, "heightf")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/multilayer_canopy_properties.h:74:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   74 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     double const& LeafN;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:75:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafN"), std::allocator<char>()))'
   75 |           LeafN{get_input(input_quantities, "LeafN")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     double const& kpLN;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:76:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kpLN"), std::allocator<char>()))'
   76 |           kpLN{get_input(input_quantities, "kpLN")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     double const& lnfun;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:77:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnfun"), std::allocator<char>()))'
   77 |           lnfun{get_input(input_quantities, "lnfun")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:78:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   78 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:120:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  120 |     double const& par_energy_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:79:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_fraction"), std::allocator<char>()))'
   79 |           par_energy_fraction{get_input(input_quantities, "par_energy_fraction")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:121:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  121 |     double const& leaf_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:80:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_transmittance"), std::allocator<char>()))'
   80 |           leaf_transmittance{get_input(input_quantities, "leaf_transmittance")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:122:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  122 |     double const& leaf_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:81:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_reflectance"), std::allocator<char>()))'
   81 |           leaf_reflectance{get_input(input_quantities, "leaf_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/multilayer_c4_canopy.h:7:
module_library/c4_leaf_photosynthesis.h: In constructor 'standardBML::c4_leaf_photosynthesis::c4_leaf_photosynthesis(const state_map&, state_map*)':
module_library/c4_leaf_photosynthesis.h:70:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |     double const& incident_ppfd;
      |                   ^~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:24:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"incident_ppfd"), std::allocator<char>()))'
   24 |           incident_ppfd{get_input(input_quantities, "incident_ppfd")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:71:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   71 |     double const& ambient_temperature;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:25:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   25 |           ambient_temperature{get_input(input_quantities, "temp")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:72:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   72 |     double const& rh;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:26:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
   26 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:73:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   73 |     double const& vmax1;
      |                   ^~~~~
module_library/c4_leaf_photosynthesis.h:27:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vmax1"), std::allocator<char>()))'
   27 |           vmax1{get_input(input_quantities, "vmax1")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:74:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   74 |     double const& alpha1;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:28:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha1"), std::allocator<char>()))'
   28 |           alpha1{get_input(input_quantities, "alpha1")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:75:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   75 |     double const& kparm;
      |                   ^~~~~
module_library/c4_leaf_photosynthesis.h:29:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kparm"), std::allocator<char>()))'
   29 |           kparm{get_input(input_quantities, "kparm")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:76:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   76 |     double const& theta;
      |                   ^~~~~
module_library/c4_leaf_photosynthesis.h:30:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"theta"), std::allocator<char>()))'
   30 |           theta{get_input(input_quantities, "theta")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:77:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   77 |     double const& beta;
      |                   ^~~~
module_library/c4_leaf_photosynthesis.h:31:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"beta"), std::allocator<char>()))'
   31 |           beta{get_input(input_quantities, "beta")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:78:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   78 |     double const& Rd;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:32:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
   32 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:79:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   79 |     double const& b0;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:33:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
   33 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:80:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   80 |     double const& b1;
      |                   ^~
module_library/c4_leaf_photosynthesis.h:34:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
   34 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:81:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   81 |     double const& Gs_min;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:35:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Gs_min"), std::allocator<char>()))'
   35 |           Gs_min{get_input(input_quantities, "Gs_min")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:82:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   82 |     double const& StomataWS;
      |                   ^~~~~~~~~
module_library/c4_leaf_photosynthesis.h:36:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"StomataWS"), std::allocator<char>()))'
   36 |           StomataWS{get_input(input_quantities, "StomataWS")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:83:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   83 |     double const& Catm;
      |                   ^~~~
module_library/c4_leaf_photosynthesis.h:37:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
   37 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:84:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   84 |     double const& atmospheric_pressure;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:38:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"atmospheric_pressure"), std::allocator<char>()))'
   38 |           atmospheric_pressure{get_input(input_quantities, "atmospheric_pressure")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:85:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   85 |     double const& upperT;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:39:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"upperT"), std::allocator<char>()))'
   39 |           upperT{get_input(input_quantities, "upperT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:86:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   86 |     double const& lowerT;
      |                   ^~~~~~
module_library/c4_leaf_photosynthesis.h:40:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lowerT"), std::allocator<char>()))'
   40 |           lowerT{get_input(input_quantities, "lowerT")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:87:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   87 |     double const& average_absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:41:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"average_absorbed_shortwave"), std::allocator<char>()))'
   41 |           average_absorbed_shortwave{get_input(input_quantities, "average_absorbed_shortwave")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:88:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   88 |     double const& absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:42:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorbed_shortwave"), std::allocator<char>()))'
   42 |           absorbed_shortwave{get_input(input_quantities, "absorbed_shortwave")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:89:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   89 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/c4_leaf_photosynthesis.h:43:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   43 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:90:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   90 |     double const& leafwidth;
      |                   ^~~~~~~~~
module_library/c4_leaf_photosynthesis.h:44:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leafwidth"), std::allocator<char>()))'
   44 |           leafwidth{get_input(input_quantities, "leafwidth")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:91:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   91 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:45:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
   45 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:92:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   92 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:46:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
   46 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:93:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   93 |     double const& et_equation;
      |                   ^~~~~~~~~~~
module_library/c4_leaf_photosynthesis.h:47:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"et_equation"), std::allocator<char>()))'
   47 |           et_equation{get_input(input_quantities, "et_equation")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/module_library/multilayer_c4_canopy.Td .deps/module_library/multilayer_c4_canopy.d && touch module_library/multilayer_c4_canopy.o
g++-14 -std=gnu++11 -MT module_library/multilayer_canopy_properties.o -MMD -MP -MF .deps/module_library/multilayer_canopy_properties.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/multilayer_canopy_properties.o module_library/multilayer_canopy_properties.cpp
In file included from module_library/multilayer_canopy_properties.cpp:2:
module_library/multilayer_canopy_properties.h: In constructor 'standardBML::multilayer_canopy_properties::multilayer_canopy_properties(const int&, const state_map&, state_map*)':
module_library/multilayer_canopy_properties.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& par_incident_direct;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:66:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_direct"), std::allocator<char>()))'
   66 |           par_incident_direct{get_input(input_quantities, "par_incident_direct")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& par_incident_diffuse;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:67:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_diffuse"), std::allocator<char>()))'
   67 |           par_incident_diffuse{get_input(input_quantities, "par_incident_diffuse")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& absorptivity_par;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:68:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorptivity_par"), std::allocator<char>()))'
   68 |           absorptivity_par{get_input(input_quantities, "absorptivity_par")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& lai;
      |                   ^~~
module_library/multilayer_canopy_properties.h:69:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   69 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:70:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   70 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& kd;
      |                   ^~
module_library/multilayer_canopy_properties.h:71:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kd"), std::allocator<char>()))'
   71 |           kd{get_input(input_quantities, "kd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     double const& chil;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:72:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"chil"), std::allocator<char>()))'
   72 |           chil{get_input(input_quantities, "chil")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& heightf;
      |                   ^~~~~~~
module_library/multilayer_canopy_properties.h:73:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"heightf"), std::allocator<char>()))'
   73 |           heightf{get_input(input_quantities, "heightf")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/multilayer_canopy_properties.h:74:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   74 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     double const& LeafN;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:75:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafN"), std::allocator<char>()))'
   75 |           LeafN{get_input(input_quantities, "LeafN")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     double const& kpLN;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:76:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kpLN"), std::allocator<char>()))'
   76 |           kpLN{get_input(input_quantities, "kpLN")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     double const& lnfun;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:77:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnfun"), std::allocator<char>()))'
   77 |           lnfun{get_input(input_quantities, "lnfun")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:78:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   78 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:120:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  120 |     double const& par_energy_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:79:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_fraction"), std::allocator<char>()))'
   79 |           par_energy_fraction{get_input(input_quantities, "par_energy_fraction")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:121:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  121 |     double const& leaf_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:80:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_transmittance"), std::allocator<char>()))'
   80 |           leaf_transmittance{get_input(input_quantities, "leaf_transmittance")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:122:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  122 |     double const& leaf_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:81:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_reflectance"), std::allocator<char>()))'
   81 |           leaf_reflectance{get_input(input_quantities, "leaf_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/module_library/multilayer_canopy_properties.Td .deps/module_library/multilayer_canopy_properties.d && touch module_library/multilayer_canopy_properties.o
mv -f .deps/module_library/module_library.Td .deps/module_library/module_library.d && touch module_library/module_library.o
g++-14 -std=gnu++11 -MT module_library/multilayer_rue_canopy.o -MMD -MP -MF .deps/module_library/multilayer_rue_canopy.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/multilayer_rue_canopy.o module_library/multilayer_rue_canopy.cpp
In file included from module_library/multilayer_rue_canopy.h:6,
                 from module_library/multilayer_rue_canopy.cpp:1:
module_library/multilayer_canopy_properties.h: In constructor 'standardBML::multilayer_canopy_properties::multilayer_canopy_properties(const int&, const state_map&, state_map*)':
module_library/multilayer_canopy_properties.h:107:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  107 |     double const& par_incident_direct;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:66:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_direct"), std::allocator<char>()))'
   66 |           par_incident_direct{get_input(input_quantities, "par_incident_direct")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:108:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  108 |     double const& par_incident_diffuse;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:67:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_incident_diffuse"), std::allocator<char>()))'
   67 |           par_incident_diffuse{get_input(input_quantities, "par_incident_diffuse")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:109:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  109 |     double const& absorptivity_par;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:68:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"absorptivity_par"), std::allocator<char>()))'
   68 |           absorptivity_par{get_input(input_quantities, "absorptivity_par")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:110:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  110 |     double const& lai;
      |                   ^~~
module_library/multilayer_canopy_properties.h:69:24: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lai"), std::allocator<char>()))'
   69 |           lai{get_input(input_quantities, "lai")},
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:111:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  111 |     double const& cosine_zenith_angle;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:70:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"cosine_zenith_angle"), std::allocator<char>()))'
   70 |           cosine_zenith_angle{get_input(input_quantities, "cosine_zenith_angle")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:112:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  112 |     double const& kd;
      |                   ^~
module_library/multilayer_canopy_properties.h:71:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kd"), std::allocator<char>()))'
   71 |           kd{get_input(input_quantities, "kd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:113:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  113 |     double const& chil;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:72:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"chil"), std::allocator<char>()))'
   72 |           chil{get_input(input_quantities, "chil")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:114:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     double const& heightf;
      |                   ^~~~~~~
module_library/multilayer_canopy_properties.h:73:28: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"heightf"), std::allocator<char>()))'
   73 |           heightf{get_input(input_quantities, "heightf")},
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:115:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  115 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/multilayer_canopy_properties.h:74:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
   74 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:116:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  116 |     double const& LeafN;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:75:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"LeafN"), std::allocator<char>()))'
   75 |           LeafN{get_input(input_quantities, "LeafN")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:117:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  117 |     double const& kpLN;
      |                   ^~~~
module_library/multilayer_canopy_properties.h:76:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"kpLN"), std::allocator<char>()))'
   76 |           kpLN{get_input(input_quantities, "kpLN")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:118:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  118 |     double const& lnfun;
      |                   ^~~~~
module_library/multilayer_canopy_properties.h:77:26: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"lnfun"), std::allocator<char>()))'
   77 |           lnfun{get_input(input_quantities, "lnfun")},
      |                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:119:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  119 |     double const& par_energy_content;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:78:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_content"), std::allocator<char>()))'
   78 |           par_energy_content{get_input(input_quantities, "par_energy_content")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:120:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  120 |     double const& par_energy_fraction;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:79:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"par_energy_fraction"), std::allocator<char>()))'
   79 |           par_energy_fraction{get_input(input_quantities, "par_energy_fraction")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:121:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  121 |     double const& leaf_transmittance;
      |                   ^~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:80:39: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_transmittance"), std::allocator<char>()))'
   80 |           leaf_transmittance{get_input(input_quantities, "leaf_transmittance")},
      |                              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:122:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  122 |     double const& leaf_reflectance;
      |                   ^~~~~~~~~~~~~~~~
module_library/multilayer_canopy_properties.h:81:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_reflectance"), std::allocator<char>()))'
   81 |           leaf_reflectance{get_input(input_quantities, "leaf_reflectance")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module_library/multilayer_rue_canopy.h:7:
module_library/rue_leaf_photosynthesis.h: In constructor 'standardBML::rue_leaf_photosynthesis::rue_leaf_photosynthesis(const state_map&, state_map*)':
module_library/rue_leaf_photosynthesis.h:171:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  171 |     double const& incident_ppfd;
      |                   ^~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:137:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"incident_ppfd"), std::allocator<char>()))'
  137 |           incident_ppfd{get_input(input_quantities, "incident_ppfd")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:172:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  172 |     double const& alpha_rue;
      |                   ^~~~~~~~~
module_library/rue_leaf_photosynthesis.h:138:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha_rue"), std::allocator<char>()))'
  138 |           alpha_rue{get_input(input_quantities, "alpha_rue")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:173:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  173 |     double const& temp;
      |                   ^~~~
module_library/rue_leaf_photosynthesis.h:139:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
  139 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:174:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  174 |     double const& rh;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:140:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
  140 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:175:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  175 |     double const& Rd;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:141:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
  141 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:176:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  176 |     double const& b0;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:142:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
  142 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:177:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  177 |     double const& b1;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:143:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
  143 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:178:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  178 |     double const& Catm;
      |                   ^~~~
module_library/rue_leaf_photosynthesis.h:144:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
  144 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:179:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  179 |     double const& average_absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:145:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"average_absorbed_shortwave"), std::allocator<char>()))'
  145 |           average_absorbed_shortwave{get_input(input_quantities, "average_absorbed_shortwave")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:180:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  180 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/rue_leaf_photosynthesis.h:146:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
  146 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:181:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  181 |     double const& height;
      |                   ^~~~~~
module_library/rue_leaf_photosynthesis.h:147:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"height"), std::allocator<char>()))'
  147 |           height{get_input(input_quantities, "height")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:182:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  182 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:148:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
  148 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:183:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  183 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:149:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
  149 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:184:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  184 |     double const& windspeed_height;
      |                   ^~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:150:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed_height"), std::allocator<char>()))'
  150 |           windspeed_height{get_input(input_quantities, "windspeed_height")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/module_library/multilayer_rue_canopy.Td .deps/module_library/multilayer_rue_canopy.d && touch module_library/multilayer_rue_canopy.o
g++-14 -std=gnu++11 -MT module_library/penman_monteith_leaf_temperature.o -MMD -MP -MF .deps/module_library/penman_monteith_leaf_temperature.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/penman_monteith_leaf_temperature.o module_library/penman_monteith_leaf_temperature.cpp
In file included from module_library/penman_monteith_leaf_temperature.cpp:1:
module_library/penman_monteith_leaf_temperature.h: In constructor 'standardBML::penman_monteith_leaf_temperature::penman_monteith_leaf_temperature(const state_map&, state_map*)':
module_library/penman_monteith_leaf_temperature.h:37:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   37 |     double const& slope_water_vapor;
      |                   ^~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:18:38: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"slope_water_vapor"), std::allocator<char>()))'
   18 |           slope_water_vapor{get_input(input_quantities, "slope_water_vapor")},
      |                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:38:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   38 |     double const& psychrometric_parameter;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:19:44: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"psychrometric_parameter"), std::allocator<char>()))'
   19 |           psychrometric_parameter{get_input(input_quantities, "psychrometric_parameter")},
      |                                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:39:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   39 |     double const& latent_heat_vaporization_of_water;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:20:54: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"latent_heat_vaporization_of_water"), std::allocator<char>()))'
   20 |           latent_heat_vaporization_of_water{get_input(input_quantities, "latent_heat_vaporization_of_water")},
      |                                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:40:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   40 |     double const& leaf_boundary_layer_conductance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:21:52: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_boundary_layer_conductance"), std::allocator<char>()))'
   21 |           leaf_boundary_layer_conductance{get_input(input_quantities, "leaf_boundary_layer_conductance")},
      |                                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:41:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   41 |     double const& leaf_stomatal_conductance;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:22:46: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_stomatal_conductance"), std::allocator<char>()))'
   22 |           leaf_stomatal_conductance{get_input(input_quantities, "leaf_stomatal_conductance")},
      |                                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:42:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   42 |     double const& leaf_net_irradiance;
      |                   ^~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:23:40: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"leaf_net_irradiance"), std::allocator<char>()))'
   23 |           leaf_net_irradiance{get_input(input_quantities, "leaf_net_irradiance")},
      |                               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:43:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   43 |     double const& vapor_density_deficit;
      |                   ^~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:24:42: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"vapor_density_deficit"), std::allocator<char>()))'
   24 |           vapor_density_deficit{get_input(input_quantities, "vapor_density_deficit")},
      |                                 ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/penman_monteith_leaf_temperature.h:44:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   44 |     double const& temp;
      |                   ^~~~
module_library/penman_monteith_leaf_temperature.h:25:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   25 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/module_library/penman_monteith_leaf_temperature.Td .deps/module_library/penman_monteith_leaf_temperature.d && touch module_library/penman_monteith_leaf_temperature.o
g++-14 -std=gnu++11 -MT module_library/rasmussen_specific_heat.o -MMD -MP -MF .deps/module_library/rasmussen_specific_heat.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/rasmussen_specific_heat.o module_library/rasmussen_specific_heat.cpp
In file included from module_library/rasmussen_specific_heat.cpp:1:
module_library/rasmussen_specific_heat.h: In constructor 'standardBML::rasmussen_specific_heat::rasmussen_specific_heat(const state_map&, state_map*)':
module_library/rasmussen_specific_heat.h:64:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   64 |     double const& temp;
      |                   ^~~~
module_library/rasmussen_specific_heat.h:51:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
   51 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rasmussen_specific_heat.h:65:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   65 |     double const& mole_fraction_h2o_atmosphere;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rasmussen_specific_heat.h:52:49: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"mole_fraction_h2o_atmosphere"), std::allocator<char>()))'
   52 |           mole_fraction_h2o_atmosphere{get_input(input_quantities, "mole_fraction_h2o_atmosphere")},
      |                                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/module_library/rasmussen_specific_heat.Td .deps/module_library/rasmussen_specific_heat.d && touch module_library/rasmussen_specific_heat.o
g++-14 -std=gnu++11 -MT module_library/rue_leaf_photosynthesis.o -MMD -MP -MF .deps/module_library/rue_leaf_photosynthesis.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/rue_leaf_photosynthesis.o module_library/rue_leaf_photosynthesis.cpp
g++-14 -std=gnu++11 -MT module_library/sunML.o -MMD -MP -MF .deps/module_library/sunML.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o module_library/sunML.o module_library/sunML.cpp
In file included from module_library/rue_leaf_photosynthesis.cpp:10:
module_library/rue_leaf_photosynthesis.h: In constructor 'standardBML::rue_leaf_photosynthesis::rue_leaf_photosynthesis(const state_map&, state_map*)':
module_library/rue_leaf_photosynthesis.h:171:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  171 |     double const& incident_ppfd;
      |                   ^~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:137:34: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"incident_ppfd"), std::allocator<char>()))'
  137 |           incident_ppfd{get_input(input_quantities, "incident_ppfd")},
      |                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:172:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  172 |     double const& alpha_rue;
      |                   ^~~~~~~~~
module_library/rue_leaf_photosynthesis.h:138:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"alpha_rue"), std::allocator<char>()))'
  138 |           alpha_rue{get_input(input_quantities, "alpha_rue")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:173:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  173 |     double const& temp;
      |                   ^~~~
module_library/rue_leaf_photosynthesis.h:139:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"temp"), std::allocator<char>()))'
  139 |           temp{get_input(input_quantities, "temp")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:174:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  174 |     double const& rh;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:140:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"rh"), std::allocator<char>()))'
  140 |           rh{get_input(input_quantities, "rh")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:175:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  175 |     double const& Rd;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:141:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Rd"), std::allocator<char>()))'
  141 |           Rd{get_input(input_quantities, "Rd")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:176:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  176 |     double const& b0;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:142:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b0"), std::allocator<char>()))'
  142 |           b0{get_input(input_quantities, "b0")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:177:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  177 |     double const& b1;
      |                   ^~
module_library/rue_leaf_photosynthesis.h:143:23: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"b1"), std::allocator<char>()))'
  143 |           b1{get_input(input_quantities, "b1")},
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:178:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  178 |     double const& Catm;
      |                   ^~~~
module_library/rue_leaf_photosynthesis.h:144:25: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"Catm"), std::allocator<char>()))'
  144 |           Catm{get_input(input_quantities, "Catm")},
      |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:179:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  179 |     double const& average_absorbed_shortwave;
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:145:47: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"average_absorbed_shortwave"), std::allocator<char>()))'
  145 |           average_absorbed_shortwave{get_input(input_quantities, "average_absorbed_shortwave")},
      |                                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:180:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  180 |     double const& windspeed;
      |                   ^~~~~~~~~
module_library/rue_leaf_photosynthesis.h:146:30: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed"), std::allocator<char>()))'
  146 |           windspeed{get_input(input_quantities, "windspeed")},
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:181:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  181 |     double const& height;
      |                   ^~~~~~
module_library/rue_leaf_photosynthesis.h:147:27: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"height"), std::allocator<char>()))'
  147 |           height{get_input(input_quantities, "height")},
      |                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:182:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  182 |     double const& specific_heat_of_air;
      |                   ^~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:148:41: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"specific_heat_of_air"), std::allocator<char>()))'
  148 |           specific_heat_of_air{get_input(input_quantities, "specific_heat_of_air")},
      |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:183:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  183 |     double const& minimum_gbw;
      |                   ^~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:149:32: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"minimum_gbw"), std::allocator<char>()))'
  149 |           minimum_gbw{get_input(input_quantities, "minimum_gbw")},
      |                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:184:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  184 |     double const& windspeed_height;
      |                   ^~~~~~~~~~~~~~~~
module_library/rue_leaf_photosynthesis.h:150:37: note: the temporary was destroyed at the end of the full expression 'get_input((* & input_quantities), std::__cxx11::basic_string<char>(((const char*)"windspeed_height"), std::allocator<char>()))'
  150 |           windspeed_height{get_input(input_quantities, "windspeed_height")},
      |                            ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/module_library/rue_leaf_photosynthesis.Td .deps/module_library/rue_leaf_photosynthesis.d && touch module_library/rue_leaf_photosynthesis.o
mv -f .deps/module_library/sunML.Td .deps/module_library/sunML.d && touch module_library/sunML.o
g++-14 -std=gnu++11 -MT framework/R_helper_functions.o -MMD -MP -MF .deps/framework/R_helper_functions.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/R_helper_functions.o framework/R_helper_functions.cpp
mv -f .deps/framework/R_helper_functions.Td .deps/framework/R_helper_functions.d && touch framework/R_helper_functions.o
g++-14 -std=gnu++11 -MT framework/dynamical_system.o -MMD -MP -MF .deps/framework/dynamical_system.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/dynamical_system.o framework/dynamical_system.cpp
g++-14 -std=gnu++11 -MT framework/dynamical_system_helper_functions.o -MMD -MP -MF .deps/framework/dynamical_system_helper_functions.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/dynamical_system_helper_functions.o framework/dynamical_system_helper_functions.cpp
mv -f .deps/framework/dynamical_system_helper_functions.Td .deps/framework/dynamical_system_helper_functions.d && touch framework/dynamical_system_helper_functions.o
g++-14 -std=gnu++11 -MT framework/module_helper_functions.o -MMD -MP -MF .deps/framework/module_helper_functions.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/module_helper_functions.o framework/module_helper_functions.cpp
mv -f .deps/framework/dynamical_system.Td .deps/framework/dynamical_system.d && touch framework/dynamical_system.o
g++-14 -std=gnu++11 -MT framework/modules.o -MMD -MP -MF .deps/framework/modules.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/modules.o framework/modules.cpp
mv -f .deps/framework/modules.Td .deps/framework/modules.d && touch framework/modules.o
mv -f .deps/framework/module_helper_functions.Td .deps/framework/module_helper_functions.d && touch framework/module_helper_functions.o
g++-14 -std=gnu++11 -MT framework/ode_solver.o -MMD -MP -MF .deps/framework/ode_solver.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/ode_solver.o framework/ode_solver.cpp
mv -f .deps/framework/ode_solver.Td .deps/framework/ode_solver.d && touch framework/ode_solver.o
g++-14 -std=gnu++11 -MT framework/quadratic_root.o -MMD -MP -MF .deps/framework/quadratic_root.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/quadratic_root.o framework/quadratic_root.cpp
g++-14 -std=gnu++11 -MT framework/state_map.o -MMD -MP -MF .deps/framework/state_map.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/state_map.o framework/state_map.cpp
g++-14 -std=gnu++11 -MT framework/validate_dynamical_system.o -MMD -MP -MF .deps/framework/validate_dynamical_system.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/validate_dynamical_system.o framework/validate_dynamical_system.cpp
mv -f .deps/framework/state_map.Td .deps/framework/state_map.d && touch framework/state_map.o
g++-14 -std=gnu++11 -MT framework/ode_solver_library/boost_ode_solvers.o -MMD -MP -MF .deps/framework/ode_solver_library/boost_ode_solvers.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/ode_solver_library/boost_ode_solvers.o framework/ode_solver_library/boost_ode_solvers.cpp
mv -f .deps/framework/quadratic_root.Td .deps/framework/quadratic_root.d && touch framework/quadratic_root.o
In file included from ../src/inc/boost/concept/assert.hpp:35,
                 from ../src/inc/boost/concept_check.hpp:20,
                 from ../src/inc/boost/range/concepts.hpp:19,
                 from ../src/inc/boost/range/size_type.hpp:20,
                 from ../src/inc/boost/range/size.hpp:21,
                 from ../src/inc/boost/range/functions.hpp:20,
                 from ../src/inc/boost/range.hpp:18,
                 from ../src/inc/boost/numeric/odeint/util/resize.hpp:22,
                 from ../src/inc/boost/numeric/odeint/util/state_wrapper.hpp:26,
                 from ../src/inc/boost/numeric/odeint/util/ublas_wrapper.hpp:33,
                 from ../src/inc/boost/numeric/odeint.hpp:25,
                 from framework/ode_solver_library/../ode_solver.h:5,
                 from framework/ode_solver_library/boost_ode_solvers.h:5,
                 from framework/ode_solver_library/boost_ode_solvers.cpp:1:
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::numeric::ublas::vector<double>::const_iterator> >]':
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from ../src/inc/boost/concept_check.hpp:31:
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<boost::numeric::ublas::vector<double>::const_iterator>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]':
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/iterator/iterator_concepts.hpp:114:7:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
../src/inc/boost/iterator/iterator_concepts.hpp:114:7:   required from 'struct boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >]':
../src/inc/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::numeric::ublas::vector<double>::const_iterator> >]':
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::numeric::ublas::vector<double>::const_iterator>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]':
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:152:13:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
../src/inc/boost/range/concepts.hpp:152:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:278:9:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >]':
../src/inc/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:278:9:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]':
../src/inc/boost/range/concepts.hpp:278:9:   required from 'struct boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/algorithm/equal.hpp:174:13:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = boost::numeric::ublas::vector<double>::const_iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> > >]':
../src/inc/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/algorithm/equal.hpp:174:13:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >]':
../src/inc/boost/range/algorithm/equal.hpp:174:13:   required from 'OutputIterator boost::range::copy(const SinglePassRange&, OutputIterator) [with SinglePassRange = boost::numeric::ublas::vector<double>; OutputIterator = boost::numeric::ublas::vector<double>::iterator]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/numeric/odeint/util/copy.hpp:37:27:   required from 'void boost::numeric::odeint::detail::do_copying(const Container1&, Container2&, mpl_::true_) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>; mpl_::true_ = mpl_::bool_<true>]'
   37 |         boost::range::copy( from , boost::begin( to ) );
      |         ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:60:27:   required from 'static void boost::numeric::odeint::copy_impl_sfinae<Container1, Container2, Enabler>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>; Enabler = void]'
   60 |         detail::do_copying( from , to , is_range_type() );
      |         ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::numeric::ublas::vector<double>]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<boost::numeric::ublas::vector<double>::const_iterator>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::numeric::ublas::vector<double>::const_iterator> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = boost::numeric::ublas::vector<double>::const_iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = boost::numeric::ublas::vector<double>::const_iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:136:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  136 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::numeric::ublas::vector<double>::const_iterator>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::numeric::ublas::vector<double>::const_iterator> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = boost::numeric::ublas::vector<double>::const_iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::const_iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = boost::numeric::ublas::vector<double>::const_iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::numeric::ublas::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = boost::numeric::ublas::vector<double>; Container2 = boost::numeric::ublas::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:148:33:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  148 |     boost::numeric::odeint::copy( st.current_state() , start_state );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::numeric::ublas::vector<double>]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::numeric::ublas::vector<double>::iterator> >]':
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<boost::numeric::ublas::vector<double>::iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<boost::numeric::ublas::vector<double>::iterator>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >]':
../src/inc/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::numeric::ublas::vector<double>::iterator> >]':
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::numeric::ublas::vector<double>::iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::numeric::ublas::vector<double>::iterator>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >]':
../src/inc/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:278:9:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]':
../src/inc/boost/range/concepts.hpp:278:9:   required from 'struct boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/size.hpp:62:9:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = boost::numeric::ublas::vector<double>::iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> > >]':
../src/inc/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/size.hpp:62:9:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >]':
../src/inc/boost/range/size.hpp:62:9:   required from 'typename boost::range_size<const SinglePassRange>::type boost::size(const SinglePassRange&) [with SinglePassRange = numeric::ublas::vector<double>; typename range_size<const SinglePassRange>::type = long unsigned int]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/numeric/odeint/util/same_size.hpp:43:29:   required from 'static bool boost::numeric::odeint::same_size_impl_sfinae<State1, State2, Enabler>::same_size(const State1&, const State2&) [with State1 = boost::numeric::ublas::vector<double>; State2 = boost::numeric::ublas::vector<double>; Enabler = void]'
   43 |         return ( boost::size( x1 ) == boost::size( x2 ) );
      |                  ~~~~~~~~~~~^~~~~~
../src/inc/boost/numeric/odeint/util/same_size.hpp:55:67:   required from 'static bool boost::numeric::odeint::same_size_impl<State1, State2>::same_size(const State1&, const State2&) [with State1 = boost::numeric::ublas::vector<double>; State2 = boost::numeric::ublas::vector<double>]'
   55 |         return same_size_impl_sfinae< State1 , State2 >::same_size( x1 , x2 );
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/same_size.hpp:64:56:   required from 'bool boost::numeric::odeint::same_size(const State1&, const State2&) [with State1 = boost::numeric::ublas::vector<double>; State2 = boost::numeric::ublas::vector<double>]'
   64 |     return same_size_impl< State1 , State2 >::same_size( x1 , x2 );
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/resizer.hpp:33:20:   required from 'bool boost::numeric::odeint::adjust_size_by_resizeability(ResizeWrappedState&, const State&, boost::true_type) [with ResizeWrappedState = state_wrapper<boost::numeric::ublas::vector<double>, void>; State = boost::numeric::ublas::vector<double>; boost::true_type = boost::integral_constant<bool, true>]'
   33 |     if ( !same_size( x.m_v , y ) )
      |           ~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = boost::numeric::ublas::vector<double>]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<boost::numeric::ublas::vector<double>::iterator>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::numeric::ublas::vector<double>::iterator> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<boost::numeric::ublas::vector<double>::iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = boost::numeric::ublas::vector<double>::iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = boost::numeric::ublas::vector<double>::iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:136:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  136 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::numeric::ublas::vector<double>::iterator>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::numeric::ublas::vector<double>::iterator> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::numeric::ublas::vector<double>::iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = boost::numeric::ublas::vector<double>::iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<boost::numeric::ublas::vector<double>::iterator> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = boost::numeric::ublas::vector<double>::iterator]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<boost::numeric::ublas::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:184:48:   required from 'bool boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::resize_impl(const StateIn&) [with StateIn = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >]'
  184 |         resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable<state_type>::type() );
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:49:   required from 'void boost::numeric::odeint::rosenbrock4_dense_output<ControlledStepper>::initialize(const StateType&, time_type, time_type) [with StateType = boost::numeric::ublas::vector<double>; ControlledStepper = boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> >; time_type = double]'
   70 |         m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) );
      |                                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:131:18:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time, Time, Time, Observer, boost::numeric::odeint::dense_output_stepper_tag) [with Stepper = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; size_t = long unsigned int]'
  131 |     st.initialize( start_state , start_time , dt );
      |     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = rosenbrock4_dense_output<rosenbrock4_controller<rosenbrock4<double> > >; System = dynamical_system_caller; State = boost::numeric::ublas::vector<double>; Time = double; Observer = push_back_state_and_time<boost::numeric::ublas::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::rosenbrock4_dense_output<boost::numeric::odeint::rosenbrock4_controller<boost::numeric::odeint::rosenbrock4<double> > >; state_type = boost::numeric::ublas::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.cpp:15:24:   required from here
   15 |     run_integrate_const(stepper, syscall, observer);
      |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = boost::numeric::ublas::vector<double>]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
g++-14 -std=gnu++11 -MT framework/ode_solver_library/ode_solver_factory.o -MMD -MP -MF .deps/framework/ode_solver_library/ode_solver_factory.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/ode_solver_library/ode_solver_factory.o framework/ode_solver_library/ode_solver_factory.cpp
mv -f .deps/framework/validate_dynamical_system.Td .deps/framework/validate_dynamical_system.d && touch framework/validate_dynamical_system.o
g++-14 -std=gnu++11 -MT framework/utils/module_dependency_utilities.o -MMD -MP -MF .deps/framework/utils/module_dependency_utilities.Td -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../src/inc -DR_NO_REMAP  -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c -o framework/utils/module_dependency_utilities.o framework/utils/module_dependency_utilities.cpp
mv -f .deps/framework/ode_solver_library/boost_ode_solvers.Td .deps/framework/ode_solver_library/boost_ode_solvers.d && touch framework/ode_solver_library/boost_ode_solvers.o
In file included from ../src/inc/boost/concept/assert.hpp:35,
                 from ../src/inc/boost/concept_check.hpp:20,
                 from ../src/inc/boost/range/concepts.hpp:19,
                 from ../src/inc/boost/range/size_type.hpp:20,
                 from ../src/inc/boost/range/size.hpp:21,
                 from ../src/inc/boost/range/functions.hpp:20,
                 from ../src/inc/boost/range.hpp:18,
                 from ../src/inc/boost/numeric/odeint/util/resize.hpp:22,
                 from ../src/inc/boost/numeric/odeint/util/state_wrapper.hpp:26,
                 from ../src/inc/boost/numeric/odeint/util/ublas_wrapper.hpp:33,
                 from ../src/inc/boost/numeric/odeint.hpp:25,
                 from framework/ode_solver_library/../ode_solver.h:5,
                 from framework/ode_solver_library/ode_solver_factory.h:7,
                 from framework/ode_solver_library/ode_solver_factory.cpp:1:
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >]':
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from ../src/inc/boost/concept_check.hpp:31:
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]':
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/iterator/iterator_concepts.hpp:114:7:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
../src/inc/boost/iterator/iterator_concepts.hpp:114:7:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >]':
../src/inc/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >]':
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]':
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:152:13:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
../src/inc/boost/range/concepts.hpp:152:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >]':
../src/inc/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]':
../src/inc/boost/range/concepts.hpp:278:9:   required from 'struct boost::SinglePassRangeConcept<std::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<std::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<std::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<std::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<std::vector<double> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/size.hpp:62:9:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >]':
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >]':
../src/inc/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >]':
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >]':
../src/inc/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:281:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]':
../src/inc/boost/range/concepts.hpp:281:9:   required from 'struct boost::SinglePassRangeConcept<std::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<std::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<std::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<std::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<std::vector<double> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/size.hpp:62:9:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<std::vector<double> > >]':
../src/inc/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<std::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<std::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<std::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<std::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<std::vector<double> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/size.hpp:62:9:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<std::vector<double> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SinglePassRangeConcept<std::vector<double> >]':
../src/inc/boost/range/size.hpp:62:9:   required from 'typename boost::range_size<const SinglePassRange>::type boost::size(const SinglePassRange&) [with SinglePassRange = std::vector<double>; typename range_size<const SinglePassRange>::type = long unsigned int]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/numeric/odeint/util/same_size.hpp:43:29:   required from 'static bool boost::numeric::odeint::same_size_impl_sfinae<State1, State2, Enabler>::same_size(const State1&, const State2&) [with State1 = std::vector<double>; State2 = std::vector<double>; Enabler = void]'
   43 |         return ( boost::size( x1 ) == boost::size( x2 ) );
      |                  ~~~~~~~~~~~^~~~~~
../src/inc/boost/numeric/odeint/util/same_size.hpp:55:67:   required from 'static bool boost::numeric::odeint::same_size_impl<State1, State2>::same_size(const State1&, const State2&) [with State1 = std::vector<double>; State2 = std::vector<double>]'
   55 |         return same_size_impl_sfinae< State1 , State2 >::same_size( x1 , x2 );
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/same_size.hpp:64:56:   required from 'bool boost::numeric::odeint::same_size(const State1&, const State2&) [with State1 = std::vector<double>; State2 = std::vector<double>]'
   64 |     return same_size_impl< State1 , State2 >::same_size( x1 , x2 );
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/resizer.hpp:33:20:   required from 'bool boost::numeric::odeint::adjust_size_by_resizeability(ResizeWrappedState&, const State&, boost::true_type) [with ResizeWrappedState = state_wrapper<std::vector<double>, void>; State = std::vector<double>; boost::true_type = boost::integral_constant<bool, true>]'
   33 |     if ( !same_size( x.m_v , y ) )
      |           ~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:495:44:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = std::vector<double>]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const std::vector<double> > >]':
../src/inc/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const std::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const std::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const std::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const std::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const std::vector<double> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/algorithm/equal.hpp:174:13:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const std::vector<double> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SinglePassRangeConcept<const std::vector<double> >]':
../src/inc/boost/range/algorithm/equal.hpp:174:13:   required from 'OutputIterator boost::range::copy(const SinglePassRange&, OutputIterator) [with SinglePassRange = std::vector<double>; OutputIterator = __gnu_cxx::__normal_iterator<double*, std::vector<double> >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/numeric/odeint/util/copy.hpp:37:27:   required from 'void boost::numeric::odeint::detail::do_copying(const Container1&, Container2&, mpl_::true_) [with Container1 = std::vector<double>; Container2 = std::vector<double>; mpl_::true_ = mpl_::bool_<true>]'
   37 |         boost::range::copy( from , boost::begin( to ) );
      |         ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:60:27:   required from 'static void boost::numeric::odeint::copy_impl_sfinae<Container1, Container2, Enabler>::copy(const Container1&, Container2&) [with Container1 = std::vector<double>; Container2 = std::vector<double>; Enabler = void]'
   60 |         detail::do_copying( from , to , is_range_type() );
      |         ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:70:58:   required from 'static void boost::numeric::odeint::copy_impl<Container1, Container2>::copy(const Container1&, Container2&) [with Container1 = std::vector<double>; Container2 = std::vector<double>]'
   70 |         copy_impl_sfinae< Container1 , Container2 >::copy( from , to );
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/util/copy.hpp:78:47:   required from 'void boost::numeric::odeint::copy(const Container1&, Container2&) [with Container1 = std::vector<double>; Container2 = std::vector<double>]'
   78 |     copy_impl< Container1 , Container2 >::copy( from , to );
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:344:41:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const std::vector<double>]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = __gnu_cxx::__normal_iterator<double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:136:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  136 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = __gnu_cxx::__normal_iterator<double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:136:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  136 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const double*, std::vector<double> > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<std::vector<double> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<std::vector<double> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<std::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<std::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<std::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<std::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = std::vector<double>]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const std::vector<double> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const std::vector<double> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const std::vector<double> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const std::vector<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const std::vector<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const std::vector<double> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp:283:27:   required from 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_tag>::try_step(System, StateInOut&, time_type&, time_type&) [with System = dynamical_system_caller; StateInOut = std::vector<double>; ErrorStepper = boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>; ErrorChecker = boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>; StepAdjuster = boost::numeric::odeint::default_step_adjuster<double, double>; Resizer = boost::numeric::odeint::initially_resizer; time_type = double]'
  283 |         return try_step_v1( system , x , t, dt );
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp:103:30:   required from 'size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State&, Time&, Time, Time&, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; size_t = long unsigned int]'
  103 |             res = st.try_step( system , start_state , start_time , dt );
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/numeric/odeint/integrate/integrate_const.hpp:48:42:   required from 'size_t boost::numeric::odeint::integrate_const(Stepper, System, State&, Time, Time, Time, Observer, StepOverflowChecker) [with Stepper = controlled_runge_kutta<runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, range_algebra, default_operations, initially_resizer>, default_error_checker<double, range_algebra, default_operations>, default_step_adjuster<double, double>, initially_resizer, explicit_error_stepper_tag>; System = dynamical_system_caller; State = std::vector<double>; Time = double; Observer = push_back_state_and_time<std::vector<double> >; StepOverflowChecker = max_step_checker; size_t = long unsigned int]'
   48 |         return detail::integrate_adaptive(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
   49 |                 stepper, system, start_state,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   50 |                 start_time, end_time, dt,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~ 
   51 |                 observer, stepper_category());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:102:57:   required from 'void boost_ode_solver<state_type>::run_integrate_const(stepper_type, dynamical_system_caller, push_back_state_and_time<state_type>) [with stepper_type = boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_cash_karp54<std::vector<double>, double, std::vector<double>, double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<double, boost::numeric::odeint::range_algebra, boost::numeric::odeint::default_operations>, boost::numeric::odeint::default_step_adjuster<double, double>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_tag>; state_type = std::vector<double>]'
  102 |         nsteps = boost::numeric::odeint::integrate_const(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  103 |             stepper,
      |             ~~~~~~~~                                     
  104 |             syscall,
      |             ~~~~~~~~                                     
  105 |             state,
      |             ~~~~~~                                       
  106 |             0.0,
      |             ~~~~                                         
  107 |             syscall.get_ntimes() - 1.0,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  108 |             get_output_step_size(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~                      
  109 |             observer,
      |             ~~~~~~~~~                                    
  110 |             boost::numeric::odeint::max_step_checker(get_adaptive_max_steps()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:196:34:   required from 'void boost_rkck54_ode_solver<state_type>::do_boost_integrate(dynamical_system_caller, push_back_state_and_time<state_type>&) [with state_type = std::vector<double>]'
  196 |         this->run_integrate_const(stepper, syscall, observer);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/ode_solver_library/boost_ode_solvers.h:187:10:   required from here
  187 |     void do_boost_integrate(dynamical_system_caller syscall, push_back_state_and_time<state_type>& observer) override
      |          ^~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const std::vector<double>]'
   30 |       ~model()
      |       ^
../src/inc/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
In file included from ../src/inc/boost/concept/assert.hpp:35,
                 from ../src/inc/boost/property_map/property_map.hpp:19,
                 from ../src/inc/boost/graph/topological_sort.hpp:15,
                 from framework/utils/module_dependency_utilities.h:4,
                 from framework/utils/module_dependency_utilities.cpp:1:
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::DFSVisitorConcept<cycle_detector, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]':
../src/inc/boost/graph/depth_first_search.hpp:117:7:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:47:52: warning: 'this' pointer is null [-Wnonnull]
   47 |     static void failed() { ((Model*)0)->constraints(); }
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from ../src/inc/boost/graph/topological_sort.hpp:16:
../src/inc/boost/graph/depth_first_search.hpp:38:10: note: in a call to non-static member function 'void boost::DFSVisitorConcept<Visitor, Graph>::constraints() [with Visitor = cycle_detector; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   38 |     void constraints() {
      |          ^~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<cycle_detector> >]':
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<cycle_detector>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:165:3:   required from 'struct boost::CopyConstructibleConcept<cycle_detector>'
  165 |   BOOST_concept(CopyConstructible,(TT))
      |                 ^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::CopyConstructibleConcept<cycle_detector>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::CopyConstructibleConcept<cycle_detector> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::CopyConstructibleConcept<cycle_detector> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::DFSVisitorConcept<cycle_detector, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:117:7:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from ../src/inc/boost/concept_check.hpp:31,
                 from ../src/inc/boost/property_map/property_map.hpp:20:
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<cycle_detector>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::CopyConstructibleConcept<cycle_detector>]':
../src/inc/boost/graph/depth_first_search.hpp:39:7:   required from 'void boost::DFSVisitorConcept<Visitor, Graph>::constraints() [with Visitor = cycle_detector; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::DFSVisitorConcept<cycle_detector, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::DFSVisitorConcept<cycle_detector, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::DFSVisitorConcept<cycle_detector, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::DFSVisitorConcept<cycle_detector, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:117:7:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from ../src/inc/boost/concept/detail/general.hpp:8:
../src/inc/boost/concept_check.hpp:165:17: note: in a call to non-static member function 'boost::CopyConstructibleConcept<cycle_detector>::~CopyConstructibleConcept()'
  165 |   BOOST_concept(CopyConstructible,(TT))
      |                 ^~~~~~~~~~~~~~~~~
../src/inc/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
../src/inc/boost/concept/detail/concept_def.hpp:23:12: note: in expansion of macro 'BOOST_PP_CAT'
   23 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
../src/inc/boost/concept_check.hpp:165:3: note: in expansion of macro 'BOOST_concept'
  165 |   BOOST_concept(CopyConstructible,(TT))
      |   ^~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >]':
../src/inc/boost/graph/graph_concepts.hpp:65:9:   required from 'struct boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'struct boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'struct boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >]':
../src/inc/boost/graph/graph_concepts.hpp:85:9:   required from 'struct boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'struct boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]':
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:74:19: note: in a call to non-static member function 'boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >::~IncidenceGraphConcept()'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
../src/inc/boost/concept/detail/concept_def.hpp:23:12: note: in expansion of macro 'BOOST_PP_CAT'
   23 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:74:5: note: in expansion of macro 'BOOST_concept'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |     ^~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>]':
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:47:52: warning: 'this' pointer is null [-Wnonnull]
   47 |     static void failed() { ((Model*)0)->constraints(); }
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/property_map/property_map.hpp:205:10: note: in a call to non-static member function 'void boost::ReadWritePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; Key = void*]'
  205 |     void constraints() {
      |          ^~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::default_color_type> >]':
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::default_color_type>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValue<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValueConcept<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::ColorValueConcept<boost::default_color_type>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::concepts::ColorValueConcept<boost::default_color_type> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:122:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::default_color_type>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<boost::default_color_type> >]':
../src/inc/boost/concept_check.hpp:137:5:   required from 'struct boost::DefaultConstructible<boost::default_color_type>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValue<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValueConcept<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::ColorValueConcept<boost::default_color_type>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::concepts::ColorValueConcept<boost::default_color_type> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:122:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<boost::default_color_type>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::ColorValue<boost::default_color_type> >]':
../src/inc/boost/graph/graph_concepts.hpp:515:9:   required from 'struct boost::concepts::ColorValue<boost::default_color_type>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValueConcept<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::ColorValueConcept<boost::default_color_type>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::concepts::ColorValueConcept<boost::default_color_type> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:122:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::ColorValue<boost::default_color_type>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::ColorValueConcept<boost::default_color_type>]':
../src/inc/boost/graph/depth_first_search.hpp:122:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:511:19: note: in a call to non-static member function 'boost::concepts::ColorValueConcept<boost::default_color_type>::~ColorValueConcept()'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
../src/inc/boost/concept/detail/concept_def.hpp:23:12: note: in expansion of macro 'BOOST_PP_CAT'
   23 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:511:5: note: in expansion of macro 'BOOST_concept'
  511 |     BOOST_concept(ColorValue,(C))
      |     ^~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<cycle_detector>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<cycle_detector> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<cycle_detector>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:165:3:   required from 'struct boost::CopyConstructibleConcept<cycle_detector>'
  165 |   BOOST_concept(CopyConstructible,(TT))
      |                 ^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::CopyConstructibleConcept<cycle_detector>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::CopyConstructibleConcept<cycle_detector> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::DFSVisitorConcept<cycle_detector, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:117:7:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = cycle_detector]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:65:9:   required from 'struct boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'struct boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'struct boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::concepts::Graph<G>::~Graph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   30 |       ~model()
      |       ^
../src/inc/boost/graph/graph_concepts.hpp:65:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   65 |         BOOST_CONCEPT_USAGE(Graph)
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:85:9:   required from 'struct boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'struct boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::concepts::IncidenceGraph<G>::~IncidenceGraph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   30 |       ~model()
      |       ^
../src/inc/boost/graph/graph_concepts.hpp:85:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   85 |         BOOST_CONCEPT_USAGE(IncidenceGraph) {
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::ReadablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>]':
../src/inc/boost/property_map/property_map.hpp:206:7:   required from 'void boost::ReadWritePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; Key = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:47:52: warning: 'this' pointer is null [-Wnonnull]
   47 |     static void failed() { ((Model*)0)->constraints(); }
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/property_map/property_map.hpp:147:10: note: in a call to non-static member function 'void boost::ReadablePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; Key = void*]'
  147 |     void constraints() {
      |          ^~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::WritablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>]':
../src/inc/boost/property_map/property_map.hpp:207:7:   required from 'void boost::ReadWritePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; Key = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:47:52: warning: 'this' pointer is null [-Wnonnull]
   47 |     static void failed() { ((Model*)0)->constraints(); }
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/property_map/property_map.hpp:179:10: note: in a call to non-static member function 'void boost::WritablePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; Key = void*]'
  179 |     void constraints() {
      |          ^~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::lvalue_property_map_tag, boost::read_write_property_map_tag> >]':
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:206:3:   required from 'struct boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |                 ^~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::read_write_property_map_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::read_write_property_map_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>]':
../src/inc/boost/property_map/property_map.hpp:208:7:   required from 'void boost::ReadWritePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; Key = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::ReadWritePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:206:17: note: in a call to non-static member function 'boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>::~ConvertibleConcept()'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |                 ^~~~~~~~~~~
../src/inc/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
../src/inc/boost/concept/detail/concept_def.hpp:23:12: note: in expansion of macro 'BOOST_PP_CAT'
   23 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
../src/inc/boost/concept_check.hpp:206:3: note: in expansion of macro 'BOOST_concept'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |   ^~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::default_color_type>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::default_color_type> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::default_color_type>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValue<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValueConcept<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::ColorValueConcept<boost::default_color_type>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:122:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = boost::default_color_type]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<boost::default_color_type>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<boost::default_color_type> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:137:5:   required from 'struct boost::DefaultConstructible<boost::default_color_type>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValue<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValueConcept<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::ColorValueConcept<boost::default_color_type>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:122:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = boost::default_color_type]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:137:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  137 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::ColorValue<boost::default_color_type>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::ColorValue<boost::default_color_type> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:515:9:   required from 'struct boost::concepts::ColorValue<boost::default_color_type>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:511:5:   required from 'struct boost::concepts::ColorValueConcept<boost::default_color_type>'
  511 |     BOOST_concept(ColorValue,(C))
      |                   ^~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::ColorValueConcept<boost::default_color_type>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::concepts::ColorValueConcept<boost::default_color_type> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:122:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::concepts::ColorValue<C>::~ColorValue() [with C = boost::default_color_type]'
   30 |       ~model()
      |       ^
../src/inc/boost/graph/graph_concepts.hpp:515:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  515 |         BOOST_CONCEPT_USAGE(ColorValue) {
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::DFSVisitorConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]':
../src/inc/boost/graph/depth_first_search.hpp:117:7:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::buffer, const int>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::buffer, const int>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >; T = graph_visitor_t; R = bgl_named_params<int, buffer_param_t>; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::buffer, const int>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/topological_sort.hpp:65:23:   required from 'void boost::topological_sort(VertexListGraph&, OutputIterator, const bgl_named_params<P, T, R>&) [with VertexListGraph = const adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; OutputIterator = std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > >; P = int; T = buffer_param_t; R = no_property]'
   65 |     depth_first_search(g, params.visitor(TopoVisitor(result)));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/topological_sort.hpp:71:21:   required from 'void boost::topological_sort(VertexListGraph&, OutputIterator) [with VertexListGraph = const adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; OutputIterator = std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > >]'
   71 |     topological_sort(g, result,
      |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~
   72 |                      bgl_named_params<int, buffer_param_t>(0)); // bogus
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:307:21:   required from here
  307 |     topological_sort(g, front_inserter(topological_order));
      |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:47:52: warning: 'this' pointer is null [-Wnonnull]
   47 |     static void failed() { ((Model*)0)->constraints(); }
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/depth_first_search.hpp:38:10: note: in a call to non-static member function 'void boost::DFSVisitorConcept<Visitor, Graph>::constraints() [with Visitor = boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   38 |     void constraints() {
      |          ^~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >]':
../src/inc/boost/graph/graph_concepts.hpp:52:9:   required from 'struct boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:86:13:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]':
../src/inc/boost/graph/graph_concepts.hpp:86:13:   required from 'boost::concepts::IncidenceGraph<G>::~IncidenceGraph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::concepts::MultiPassInputIterator<T>::~MultiPassInputIterator() [with T = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   30 |       ~model()
      |       ^
../src/inc/boost/graph/graph_concepts.hpp:52:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   52 |         BOOST_CONCEPT_USAGE(MultiPassInputIterator) {
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >]':
../src/inc/boost/concept_check.hpp:137:5:   required from 'struct boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:87:13:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]':
../src/inc/boost/graph/graph_concepts.hpp:87:13:   required from 'boost::concepts::IncidenceGraph<G>::~IncidenceGraph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = boost::detail::edge_desc_impl<boost::directed_tag, void*>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:137:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  137 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >]':
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:88:13:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]':
../src/inc/boost/graph/graph_concepts.hpp:88:13:   required from 'boost::concepts::IncidenceGraph<G>::~IncidenceGraph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = boost::detail::edge_desc_impl<boost::directed_tag, void*>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >]':
../src/inc/boost/concept_check.hpp:145:5:   required from 'struct boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:89:13:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]':
../src/inc/boost/graph/graph_concepts.hpp:89:13:   required from 'boost::concepts::IncidenceGraph<G>::~IncidenceGraph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = boost::detail::edge_desc_impl<boost::directed_tag, void*>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:145:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  145 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag> >]':
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:90:13:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag>]':
../src/inc/boost/graph/graph_concepts.hpp:90:13:   required from 'boost::concepts::IncidenceGraph<G>::~IncidenceGraph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::adj_list_dir_traversal_tag; Y = boost::incidence_graph_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::lvalue_property_map_tag, boost::readable_property_map_tag> >]':
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::lvalue_property_map_tag, boost::readable_property_map_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:206:3:   required from 'struct boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::readable_property_map_tag>'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |                 ^~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::readable_property_map_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::readable_property_map_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::readable_property_map_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::lvalue_property_map_tag, boost::readable_property_map_tag>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::readable_property_map_tag>]':
../src/inc/boost/property_map/property_map.hpp:148:7:   required from 'void boost::ReadablePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; Key = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ReadablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ReadablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::ReadablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::ReadablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/property_map/property_map.hpp:206:7:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:206:17: note: in a call to non-static member function 'boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::readable_property_map_tag>::~ConvertibleConcept()'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |                 ^~~~~~~~~~~
../src/inc/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
../src/inc/boost/concept/detail/concept_def.hpp:23:12: note: in expansion of macro 'BOOST_PP_CAT'
   23 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
../src/inc/boost/concept_check.hpp:206:3: note: in expansion of macro 'BOOST_concept'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |   ^~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::lvalue_property_map_tag, boost::writable_property_map_tag> >]':
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::lvalue_property_map_tag, boost::writable_property_map_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:206:3:   required from 'struct boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::writable_property_map_tag>'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |                 ^~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::writable_property_map_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::writable_property_map_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::writable_property_map_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::lvalue_property_map_tag, boost::writable_property_map_tag>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::writable_property_map_tag>]':
../src/inc/boost/property_map/property_map.hpp:180:7:   required from 'void boost::WritablePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; Key = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::WritablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::WritablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::WritablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::WritablePropertyMapConcept<boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >, void*>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/property_map/property_map.hpp:207:7:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:206:17: note: in a call to non-static member function 'boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::writable_property_map_tag>::~ConvertibleConcept()'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |                 ^~~~~~~~~~~
../src/inc/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
../src/inc/boost/concept/detail/concept_def.hpp:23:12: note: in expansion of macro 'BOOST_PP_CAT'
   23 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
../src/inc/boost/concept_check.hpp:206:3: note: in expansion of macro 'BOOST_concept'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |   ^~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::lvalue_property_map_tag, boost::read_write_property_map_tag> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:206:3:   required from 'struct boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |                 ^~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::read_write_property_map_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::read_write_property_map_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::lvalue_property_map_tag; Y = boost::read_write_property_map_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > > >]':
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:165:3:   required from 'struct boost::CopyConstructibleConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >'
  165 |   BOOST_concept(CopyConstructible,(TT))
      |                 ^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::CopyConstructibleConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::CopyConstructibleConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::CopyConstructibleConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::buffer, const int>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::buffer, const int>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >; T = graph_visitor_t; R = bgl_named_params<int, buffer_param_t>; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::buffer, const int>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/topological_sort.hpp:65:23:   required from 'void boost::topological_sort(VertexListGraph&, OutputIterator, const bgl_named_params<P, T, R>&) [with VertexListGraph = const adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; OutputIterator = std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > >; P = int; T = buffer_param_t; R = no_property]'
   65 |     depth_first_search(g, params.visitor(TopoVisitor(result)));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/topological_sort.hpp:71:21:   required from 'void boost::topological_sort(VertexListGraph&, OutputIterator) [with VertexListGraph = const adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; OutputIterator = std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > >]'
   71 |     topological_sort(g, result,
      |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~
   72 |                      bgl_named_params<int, buffer_param_t>(0)); // bogus
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:307:21:   required from here
  307 |     topological_sort(g, front_inserter(topological_order));
      |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::CopyConstructibleConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >]':
../src/inc/boost/graph/depth_first_search.hpp:39:7:   required from 'void boost::DFSVisitorConcept<Visitor, Graph>::constraints() [with Visitor = boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::DFSVisitorConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::DFSVisitorConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::DFSVisitorConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::buffer, const int>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::buffer, const int>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >; T = graph_visitor_t; R = bgl_named_params<int, buffer_param_t>; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::buffer, const int>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/topological_sort.hpp:65:23:   required from 'void boost::topological_sort(VertexListGraph&, OutputIterator, const bgl_named_params<P, T, R>&) [with VertexListGraph = const adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; OutputIterator = std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > >; P = int; T = buffer_param_t; R = no_property]'
   65 |     depth_first_search(g, params.visitor(TopoVisitor(result)));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/topological_sort.hpp:71:21:   required from 'void boost::topological_sort(VertexListGraph&, OutputIterator) [with VertexListGraph = const adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; OutputIterator = std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > >]'
   71 |     topological_sort(g, result,
      |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~
   72 |                      bgl_named_params<int, buffer_param_t>(0)); // bogus
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:307:21:   required from here
  307 |     topological_sort(g, front_inserter(topological_order));
      |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:165:17: note: in a call to non-static member function 'boost::CopyConstructibleConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >::~CopyConstructibleConcept()'
  165 |   BOOST_concept(CopyConstructible,(TT))
      |                 ^~~~~~~~~~~~~~~~~
../src/inc/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
../src/inc/boost/concept/detail/concept_def.hpp:23:12: note: in expansion of macro 'BOOST_PP_CAT'
   23 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
../src/inc/boost/concept_check.hpp:165:3: note: in expansion of macro 'BOOST_concept'
  165 |   BOOST_concept(CopyConstructible,(TT))
      |   ^~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<void*> >]':
../src/inc/boost/concept_check.hpp:137:5:   required from 'struct boost::DefaultConstructible<void*>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::DefaultConstructible<void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::DefaultConstructible<void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::DefaultConstructible<void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::DefaultConstructible<void*>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:67:13:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<void*>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::DefaultConstructible<void*>]':
../src/inc/boost/graph/graph_concepts.hpp:67:13:   required from 'boost::concepts::Graph<G>::~Graph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/usage.hpp:16:48:   required from 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:65:9:   required from 'struct boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'struct boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:74:5:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = void*]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:137:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  137 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<void*> >]':
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<void*>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::EqualityComparable<void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::EqualityComparable<void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::EqualityComparable<void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::EqualityComparable<void*>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:68:13:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<void*>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::EqualityComparable<void*>]':
../src/inc/boost/graph/graph_concepts.hpp:68:13:   required from 'boost::concepts::Graph<G>::~Graph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/usage.hpp:16:48:   required from 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:65:9:   required from 'struct boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'struct boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:74:5:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = void*]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<void*> >]':
../src/inc/boost/concept_check.hpp:145:5:   required from 'struct boost::Assignable<void*>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Assignable<void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Assignable<void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Assignable<void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Assignable<void*>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:69:13:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<void*>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Assignable<void*>]':
../src/inc/boost/graph/graph_concepts.hpp:69:13:   required from 'boost::concepts::Graph<G>::~Graph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/usage.hpp:16:48:   required from 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:65:9:   required from 'struct boost::concepts::Graph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'struct boost::concepts::IncidenceGraph<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:74:5:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = void*]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:145:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  145 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:52:9:   required from 'struct boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::concepts::MultiPassInputIterator<T>::~MultiPassInputIterator() [with T = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   30 |       ~model()
      |       ^
../src/inc/boost/graph/graph_concepts.hpp:52:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   52 |         BOOST_CONCEPT_USAGE(MultiPassInputIterator) {
      |         ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:137:5:   required from 'struct boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::DefaultConstructible<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = boost::detail::edge_desc_impl<boost::directed_tag, void*>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:137:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  137 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::EqualityComparable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = boost::detail::edge_desc_impl<boost::directed_tag, void*>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:145:5:   required from 'struct boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Assignable<boost::detail::edge_desc_impl<boost::directed_tag, void*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = boost::detail::edge_desc_impl<boost::directed_tag, void*>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:145:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  145 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::adj_list_dir_traversal_tag, boost::incidence_graph_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::adj_list_dir_traversal_tag; Y = boost::incidence_graph_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::lvalue_property_map_tag, boost::readable_property_map_tag>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::lvalue_property_map_tag, boost::readable_property_map_tag> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::lvalue_property_map_tag, boost::readable_property_map_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:206:3:   required from 'struct boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::readable_property_map_tag>'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |                 ^~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::readable_property_map_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::readable_property_map_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::lvalue_property_map_tag; Y = boost::readable_property_map_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::lvalue_property_map_tag, boost::writable_property_map_tag>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::lvalue_property_map_tag, boost::writable_property_map_tag> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::lvalue_property_map_tag, boost::writable_property_map_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:206:3:   required from 'struct boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::writable_property_map_tag>'
  206 |   BOOST_concept(Convertible,(X)(Y))
      |                 ^~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::writable_property_map_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ConvertibleConcept<boost::lvalue_property_map_tag, boost::writable_property_map_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:120:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::lvalue_property_map_tag; Y = boost::writable_property_map_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:165:3:   required from 'struct boost::CopyConstructibleConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >'
  165 |   BOOST_concept(CopyConstructible,(TT))
      |                 ^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::CopyConstructibleConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::CopyConstructibleConcept<boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::buffer, const int>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::buffer, const int>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >; T = graph_visitor_t; R = bgl_named_params<int, buffer_param_t>; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > > >, parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::buffer, const int>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/topological_sort.hpp:65:23:   required from 'void boost::topological_sort(VertexListGraph&, OutputIterator, const bgl_named_params<P, T, R>&) [with VertexListGraph = const adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; OutputIterator = std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > >; P = int; T = buffer_param_t; R = no_property]'
   65 |     depth_first_search(g, params.visitor(TopoVisitor(result)));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/topological_sort.hpp:71:21:   required from 'void boost::topological_sort(VertexListGraph&, OutputIterator) [with VertexListGraph = const adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; OutputIterator = std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > >]'
   71 |     topological_sort(g, result,
      |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~
   72 |                      bgl_named_params<int, buffer_param_t>(0)); // bogus
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:307:21:   required from here
  307 |     topological_sort(g, front_inserter(topological_order));
      |     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = boost::topo_sort_visitor<std::front_insert_iterator<std::__cxx11::list<void*, std::allocator<void*> > > >]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<void*>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<void*> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:137:5:   required from 'struct boost::DefaultConstructible<void*>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::DefaultConstructible<void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::DefaultConstructible<void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::DefaultConstructible<void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = void*]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:137:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  137 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<void*>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<void*> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<void*>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::EqualityComparable<void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::EqualityComparable<void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::EqualityComparable<void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = void*]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<void*>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<void*> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:145:5:   required from 'struct boost::Assignable<void*>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Assignable<void*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Assignable<void*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Assignable<void*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = void*]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:145:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  145 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >]':
../src/inc/boost/concept_check.hpp:145:5:   required from 'struct boost::Assignable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:502:3:   required from 'struct boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
  502 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >]':
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:502:3:   required from 'struct boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
  502 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >]':
../src/inc/boost/concept_check.hpp:512:7:   required from 'struct boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/graph_concepts.hpp:53:13:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]':
../src/inc/boost/graph/graph_concepts.hpp:53:13:   required from 'boost::concepts::MultiPassInputIterator<T>::~MultiPassInputIterator() [with T = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:86:13:   required from 'boost::concepts::IncidenceGraph<G>::~IncidenceGraph() [with G = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/graph_concepts.hpp:74:5:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > > >]'
   74 |     BOOST_concept(IncidenceGraph,(G))
      |                   ^~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::InputIterator<TT>::~InputIterator() [with TT = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:512:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  512 |       BOOST_CONCEPT_USAGE(InputIterator)
      |       ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:145:5:   required from 'struct boost::Assignable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:502:3:   required from 'struct boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
  502 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:145:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  145 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept_check.hpp:502:3:   required from 'struct boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
  502 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:512:7:   required from 'struct boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::InputIterator<TT>::~InputIterator() [with TT = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:512:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  512 |       BOOST_CONCEPT_USAGE(InputIterator)
      |       ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SignedInteger<long int>]':
../src/inc/boost/concept_check.hpp:514:9:   required from 'boost::InputIterator<TT>::~InputIterator() [with TT = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:53:13:   required from 'boost::concepts::MultiPassInputIterator<T>::~MultiPassInputIterator() [with T = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:86:13:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:107:22: note: in a call to non-static member function 'boost::SignedInteger<long int>::~SignedInteger()'
  107 |   template <> struct SignedInteger<long> {};
      |                      ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag> >]':
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag>)>'
   51 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept_check.hpp:515:9:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:16:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag>]'
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
../src/inc/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag>]':
../src/inc/boost/concept_check.hpp:515:9:   required from 'boost::InputIterator<TT>::~InputIterator() [with TT = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::InputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:53:13:   required from 'boost::concepts::MultiPassInputIterator<T>::~MultiPassInputIterator() [with T = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::MultiPassInputIterator<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/graph/graph_concepts.hpp:86:13:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/detail/general.hpp:39:47: warning: 'this' pointer is null [-Wnonnull]
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>; Y = std::input_iterator_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag>]':
../src/inc/boost/concept/detail/general.hpp:39:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag> >]'
   39 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag>'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^
../src/inc/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/inc/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>, std::input_iterator_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
../src/inc/boost/concept/detail/general.hpp:51:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../src/inc/boost/graph/depth_first_search.hpp:116:7:   required from 'void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, boost::vertex_index_t> >; TerminatorFunc = nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = void*]'
   71 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^
../src/inc/boost/graph/depth_first_search.hpp:239:37:   required from 'void boost::depth_first_search(const VertexListGraph&, DFSVisitor, ColorMap, typename graph_traits<Graph>::vertex_descriptor) [with VertexListGraph = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; DFSVisitor = cycle_detector; ColorMap = shared_array_property_map<default_color_type, adj_list_vertex_property_map<adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >, long unsigned int, const long unsigned int&, vertex_index_t> >; typename graph_traits<Graph>::vertex_descriptor = void*]'
  239 |       detail::depth_first_visit_impl(g, start_vertex, vis, color,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240 |                                      detail::nontruth2());
      |                                      ~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:336:36:   required from 'void boost::graph::detail::depth_first_search_impl<Graph>::operator()(const Graph&, const ArgPack&) const [with ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]'
  336 |           boost::depth_first_search(g,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  337 |                                     arg_pack[_visitor | make_dfs_visitor(null_visitor())],
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338 |                                     boost::detail::make_color_map_from_arg_pack(g, arg_pack),
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                     arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:343:5:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type boost::graph::depth_first_search_with_named_params(const Param0&, const ArgPack&) [with Param0 = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; ArgPack = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<keywords::tag::visitor, const cycle_detector>, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >; typename boost::result_of<detail::depth_first_search_impl<Param0>(Param0, const ArgPack&)>::type = void]'
  509 |     return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/inc/boost/graph/depth_first_search.hpp:346:3:   required from 'typename boost::result_of<boost::graph::detail::depth_first_search_impl<Param0>(Param0, const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<T, Tag, Base> >::type&)>::type boost::depth_first_search(const Param0&, const bgl_named_params<T, Tag, Base>&) [with Param0 = adjacency_list<setS, listS, directedS, property<vertex_name_t, module_creator*, property<vertex_index_t, long unsigned int> > >; P = cycle_detector; T = graph_visitor_t; R = no_property; typename result_of<graph::detail::depth_first_search_impl<Param0>(Param0, const typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type&)>::type = void; typename detail::convert_bgl_params_to_boost_parameter<bgl_named_params<T, Tag, Base> >::type = parameter::aux::arg_list<parameter::aux::tagged_argument<graph::keywords::tag::visitor, const cycle_detector>, parameter::aux::empty_arg_list, std::integral_constant<bool, true> >]'
  550 |     return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
framework/utils/module_dependency_utilities.cpp:232:23:   required from here
  232 |     depth_first_search(g, visitor(vis));
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/inc/boost/concept/usage.hpp:16:48: warning: 'this' pointer is null [-Wnonnull]
   16 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
../src/inc/boost/concept/usage.hpp:30:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::detail::iterator_category_with_traversal<std::input_iterator_tag, boost::iterators::bidirectional_traversal_tag>; Y = std::input_iterator_tag]'
   30 |       ~model()
      |       ^
../src/inc/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
In file included from ../src/inc/boost/graph/adjacency_list.hpp:223,
                 from framework/utils/module_dependency_utilities.cpp:4:
../src/inc/boost/graph/detail/adjacency_list.hpp: In member function 'void boost::adj_list_impl<Derived, Config, Base>::copy_impl(const boost::adj_list_impl<Derived, Config, Base>&) [with Derived = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config; Base = boost::directed_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config>]':
../src/inc/boost/graph/detail/adjacency_list.hpp:1897:57: warning: '*(const boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>*)((char*)&ei + offsetof(boost::detail::edge_iterator, boost::detail::adj_list_edge_iterator<std::_List_iterator<void*>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int, boost::no_property> >, boost::no_property, boost::no_property, boost::listS> >::edges.boost::optional<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::<unnamed>.boost::optional_detail::optional_base<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::m_storage.boost::optional_detail::aligned_storage<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::dummy_)).boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>::m_src' may be used uninitialized [-Wmaybe-uninitialized]
 1897 |           boost::tie(e, inserted) = add_edge(vertex_map[(stored_vertex*)s],
      |                                                         ^~~~~~~~~~~~~~~~~
../src/inc/boost/graph/detail/adjacency_list.hpp:1892:23: note: '*(const boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>*)((char*)&ei + offsetof(boost::detail::edge_iterator, boost::detail::adj_list_edge_iterator<std::_List_iterator<void*>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int, boost::no_property> >, boost::no_property, boost::no_property, boost::listS> >::edges.boost::optional<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::<unnamed>.boost::optional_detail::optional_base<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::m_storage.boost::optional_detail::aligned_storage<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::dummy_)).boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>::m_src' was declared here
 1892 |         edge_iterator ei, ei_end;
      |                       ^~
In file included from ../src/inc/boost/graph/detail/adjacency_list.hpp:34:
In member function 'boost::detail::adj_list_edge_iterator<VertexIterator, OutEdgeIterator, Graph>::self& boost::detail::adj_list_edge_iterator<VertexIterator, OutEdgeIterator, Graph>::operator++() [with VertexIterator = std::_List_iterator<void*>; OutEdgeIterator = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]',
    inlined from 'void boost::adj_list_impl<Derived, Config, Base>::copy_impl(const boost::adj_list_impl<Derived, Config, Base>&) [with Derived = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config; Base = boost::directed_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config>]' at ../src/inc/boost/graph/detail/adjacency_list.hpp:1893:63:
../src/inc/boost/graph/detail/adj_list_edge_iterator.hpp:70:9: warning: '((const std::_Self*)((char*)&ei + offsetof(boost::detail::edge_iterator, boost::detail::adj_list_edge_iterator<std::_List_iterator<void*>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int, boost::no_property> >, boost::no_property, boost::no_property, boost::listS> >::edges.boost::optional<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::<unnamed>.boost::optional_detail::optional_base<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::m_storage.boost::optional_detail::aligned_storage<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::dummy_)))[2].std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >::_M_node' may be used uninitialized [-Wmaybe-uninitialized]
   70 |         if (edges BOOST_GRAPH_MEMBER first == edges BOOST_GRAPH_MEMBER second)
      |         ^~
../src/inc/boost/graph/detail/adjacency_list.hpp: In member function 'void boost::adj_list_impl<Derived, Config, Base>::copy_impl(const boost::adj_list_impl<Derived, Config, Base>&) [with Derived = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config; Base = boost::directed_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config>]':
../src/inc/boost/graph/detail/adjacency_list.hpp:1892:23: note: '((const std::_Self*)((char*)&ei + offsetof(boost::detail::edge_iterator, boost::detail::adj_list_edge_iterator<std::_List_iterator<void*>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int, boost::no_property> >, boost::no_property, boost::no_property, boost::listS> >::edges.boost::optional<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::<unnamed>.boost::optional_detail::optional_base<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::m_storage.boost::optional_detail::aligned_storage<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::dummy_)))[2].std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >::_M_node' was declared here
 1892 |         edge_iterator ei, ei_end;
      |                       ^~
In member function 'EdgeDescriptor boost::detail::out_edge_iter<BaseIter, VertexDescriptor, EdgeDescriptor, Difference>::dereference() const [with BaseIter = std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >; VertexDescriptor = void*; EdgeDescriptor = boost::detail::edge_desc_impl<boost::directed_tag, void*>; Difference = long int]',
    inlined from 'static typename Facade::reference boost::iterators::iterator_core_access::dereference(const Facade&) [with Facade = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>]' at ../src/inc/boost/iterator/iterator_facade.hpp:550:31,
    inlined from 'boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::reference boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::operator*() const [with Derived = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>; Value = boost::detail::edge_desc_impl<boost::directed_tag, void*>; CategoryOrTraversal = boost::iterators::bidirectional_traversal_tag; Reference = boost::detail::edge_desc_impl<boost::directed_tag, void*>; Difference = long int]' at ../src/inc/boost/iterator/iterator_facade.hpp:656:53,
    inlined from 'boost::detail::adj_list_edge_iterator<VertexIterator, OutEdgeIterator, Graph>::value_type boost::detail::adj_list_edge_iterator<VertexIterator, OutEdgeIterator, Graph>::operator*() const [with VertexIterator = std::_List_iterator<void*>; OutEdgeIterator = boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>; Graph = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >]' at ../src/inc/boost/graph/detail/adj_list_edge_iterator.hpp:86:16,
    inlined from 'void boost::adj_list_impl<Derived, Config, Base>::copy_impl(const boost::adj_list_impl<Derived, Config, Base>&) [with Derived = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config; Base = boost::directed_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config>]' at ../src/inc/boost/graph/detail/adjacency_list.hpp:1896:40:
../src/inc/boost/graph/detail/adjacency_list.hpp:152:62: warning: '*(const std::_Self*)((char*)&ei + offsetof(boost::detail::edge_iterator, boost::detail::adj_list_edge_iterator<std::_List_iterator<void*>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int, boost::no_property> >, boost::no_property, boost::no_property, boost::listS> >::edges.boost::optional<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::<unnamed>.boost::optional_detail::optional_base<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::m_storage.boost::optional_detail::aligned_storage<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::dummy_)).std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >::_M_node' may be used uninitialized [-Wmaybe-uninitialized]
  152 |                               &(*this->base()).get_property());
      |                                                              ^
../src/inc/boost/graph/detail/adjacency_list.hpp: In member function 'void boost::adj_list_impl<Derived, Config, Base>::copy_impl(const boost::adj_list_impl<Derived, Config, Base>&) [with Derived = boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >; Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config; Base = boost::directed_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> > >, boost::listS, boost::setS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int> >, boost::no_property, boost::no_property, boost::listS>::config>]':
../src/inc/boost/graph/detail/adjacency_list.hpp:1892:23: note: '*(const std::_Self*)((char*)&ei + offsetof(boost::detail::edge_iterator, boost::detail::adj_list_edge_iterator<std::_List_iterator<void*>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::adjacency_list<boost::setS, boost::listS, boost::directedS, boost::property<boost::vertex_name_t, module_creator*, boost::property<boost::vertex_index_t, long unsigned int, boost::no_property> >, boost::no_property, boost::no_property, boost::listS> >::edges.boost::optional<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::<unnamed>.boost::optional_detail::optional_base<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::m_storage.boost::optional_detail::aligned_storage<std::pair<boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int>, boost::detail::out_edge_iter<std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >, void*, boost::detail::edge_desc_impl<boost::directed_tag, void*>, long int> > >::dummy_)).std::_Rb_tree_const_iterator<boost::detail::stored_edge_property<void*, boost::no_property> >::_M_node' was declared here
 1892 |         edge_iterator ei, ei_end;
      |                       ^~
mv -f .deps/framework/utils/module_dependency_utilities.Td .deps/framework/utils/module_dependency_utilities.d && touch framework/utils/module_dependency_utilities.o
mv -f .deps/framework/ode_solver_library/ode_solver_factory.Td .deps/framework/ode_solver_library/ode_solver_factory.d && touch framework/ode_solver_library/ode_solver_factory.o
g++-14 -std=gnu++11 -shared -L/usr/local/gcc14/lib64 -L/usr/local/lib64 -o BioCro.so R_dynamical_system.o R_framework_version.o R_get_all_ode_solvers.o R_module_library.o R_modules.o R_run_biocro.o R_system_derivatives.o init.o module_library/AuxBioCro.o module_library/CanAC.o module_library/FvCB_assim.o module_library/ball_berry_gs.o module_library/c3CanAC.o module_library/c3EvapoTrans.o module_library/c3_canopy.o module_library/c3_leaf_photosynthesis.o module_library/c3photo.o module_library/c4_leaf_photosynthesis.o module_library/c4photo.o module_library/collatz_photo.o module_library/eC4photo.o module_library/lightME.o module_library/module_library.o module_library/multilayer_c3_canopy.o module_library/multilayer_c4_canopy.o module_library/multilayer_canopy_properties.o module_library/multilayer_rue_canopy.o module_library/penman_monteith_leaf_temperature.o module_library/rasmussen_specific_heat.o module_library/rue_leaf_photosynthesis.o module_library/sunML.o framework/R_helper_functions.o framework/dynamical_system.o framework/dynamical_system_helper_functions.o framework/module_helper_functions.o framework/modules.o framework/ode_solver.o framework/quadratic_root.o framework/state_map.o framework/validate_dynamical_system.o framework/ode_solver_library/boost_ode_solvers.o framework/ode_solver_library/ode_solver_factory.o framework/utils/module_dependency_utilities.o
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/BioCro/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/BioCro/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/BioCro/src'
installing to /data/gannet/ripley/R/packages/tests-devel/BioCro.Rcheck/00LOCK-BioCro/00new/BioCro/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (BioCro)