Go to the documentation of this file.
    9 #include <mrpt/expr/CRuntimeCompiledExpression.h> 
   26     std::optional<mrpt::expr::CRuntimeCompiledExpression>    
compiled;
 
   27     std::variant<std::monostate, double*, float*, uint32_t*> 
target;
 
   54     void updateVariables(
const std::vector<std::pair<std::string, double>>& nameValuePairs)
 
   56         for (
const auto& [name, value] : nameValuePairs) 
updateVariable(name, value);
 
  123     template <
typename T>
 
  128 template <
typename T>
 
  132     for (
auto& objPtr : setObjects)
 
  134         auto o = std::dynamic_pointer_cast<Parameterizable>(objPtr);
 
  136         o->attachToParameterSource(source);
 
  148 #define DECLARE_PARAMETER_IN_OPT(__yaml, __variable, __object)    \ 
  149     __object.mp2p_icp::Parameterizable::parseAndDeclareParameter( \ 
  150         __yaml.getOrDefault(#__variable, std::to_string(__variable)), __variable); 
  152 #define DECLARE_PARAMETER_OPT(__yaml, __variable) \ 
  153     DECLARE_PARAMETER_IN_OPT(__yaml, __variable, (*this)) 
  155 #define DECLARE_PARAMETER_IN_REQ(__yaml, __variable, __object)                           \ 
  156     if (!__yaml.has(#__variable))                                                        \ 
  157         throw std::invalid_argument(mrpt::format(                                        \ 
  158             "Required parameter `%s` not an existing key in dictionary.", #__variable)); \ 
  159     __object.mp2p_icp::Parameterizable::parseAndDeclareParameter(                        \ 
  160         __yaml[#__variable].as<std::string>(), __variable); 
  162 #define DECLARE_PARAMETER_REQ(__yaml, __variable) \ 
  163     DECLARE_PARAMETER_IN_REQ(__yaml, __variable, (*this)) 
  
ParameterSource * attachedSource_
void checkAllParametersAreRealized() const
const ParameterSource * attachedSource() const
std::string printVariableValues() const
void attach(Parameterizable &obj)
const auto & declaredParameters() const
auto & declaredParameters()
auto getVariableValues() const -> std::map< std::string, double >
void parseAndDeclareParameter_impl(const std::string &value, T &target)
std::variant< std::monostate, double *, float *, uint32_t * > target
void updateVariable(const std::string &variable, double value)
std::set< internal::InfoPerParam * > attachedDeclParameters_
ParameterSource * attachedSource()
ParameterSource()=default
std::optional< mrpt::expr::CRuntimeCompiledExpression > compiled
Compiled expression.
std::map< std::string, double > variables_
void updateVariables(const std::vector< std::pair< std::string, double >> &nameValuePairs)
void parseAndDeclareParameter(const std::string &value, double &target)
virtual void attachToParameterSource(ParameterSource &source)
void unrealizeParameters()
Mark all non-constant parameters as non-evaluated again.
std::vector< internal::InfoPerParam > declParameters_
List of declared parameters:
void AttachToParameterSource(std::vector< std::shared_ptr< T >> &setObjects, ParameterSource &source)
mp2p_icp
Author(s): 
autogenerated on Mon May 26 2025 02:45:50