14 #include <mrpt/core/exceptions.h> 
   40     const mrpt::poses::CPose3D& local_wrt_global, 
const MatchContext& mc,
 
   41     const mrpt::optional_ref<MatchState>& userProvidedMS)
 
   47     std::optional<MatchState> localMS;
 
   49     if (userProvidedMS.has_value())
 
   52         ms = &userProvidedMS.value().get();
 
   57         localMS.emplace(pcGlobal, pcLocal);
 
   58         ms = &localMS.value();
 
   63     for (
const auto& matcher : matchers)
 
   67         bool     hasRun = matcher->match(pcGlobal, pcLocal, local_wrt_global, mc, *ms, pc);
 
   68         anyRun          = anyRun || hasRun;
 
   74         std::cerr << 
"[mp2p_icp::run_matchers] WARNING: No active matcher " 
   75                      "actually ran on the two maps."