libmesh解析
本工作只是尝试解析原libmesh的代码,供学习使用
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 
Public 成员函数 | Private 属性 | 所有成员列表
libMesh::ParsedFunctionParameter< T > 模板类 参考

访问器对象,允许在参数敏感性计算中读取和修改参数的独立变量。 更多...

#include <parsed_function_parameter.h>

类 libMesh::ParsedFunctionParameter< T > 继承关系图:
[图例]

Public 成员函数

 ParsedFunctionParameter (ParsedFunction< T > &func_ref, std::string param_name)
 构造函数:接受要修改的函数和表示我们要访问的内联变量的名称。 更多...
 
virtual ParameterAccessor< T > & operator= (T *)
 简单的重置器对于解析函数是无效的 更多...
 
virtual void set (const T &new_value) override
 设置器:更改我们访问的参数的值。 更多...
 
virtual const T & get () const override
 获取器:获取我们访问的参数的值。 更多...
 
virtual std::unique_ptr
< ParameterAccessor< T > > 
clone () const override
 

Private 属性

ParsedFunction< T > & _func
 
std::string _name
 
libMesh::Number _current_val
 

详细描述

template<typename T = Number>
class libMesh::ParsedFunctionParameter< T >

访问器对象,允许在参数敏感性计算中读取和修改参数的独立变量。

这个 ParameterAccessor 子类是特定于 ParsedFunction 对象的: 它存储对 ParsedFunction 的指针和描述要访问的参数(内联变量)名称的字符串。

作者
Roy Stogner
日期
2015 存储对解析函数的指针和参数的字符串。

在文件 parsed_function_parameter.h46 行定义.

构造及析构函数说明

template<typename T = Number>
libMesh::ParsedFunctionParameter< T >::ParsedFunctionParameter ( ParsedFunction< T > &  func_ref,
std::string  param_name 
)
inline

构造函数:接受要修改的函数和表示我们要访问的内联变量的名称。

在这个接口中,ParsedFunction 中的 get_inline_value() 和 set_inline_value() 的限制也适用。

注解
只有这里引用的函数会被 set() 更改 - 在 set() 之前的函数的所有克隆将保持在它们以前的值上。

在文件 parsed_function_parameter.h56 行定义.

57  :
58  _func(func_ref), _name(std::move(param_name)) {}

成员函数说明

template<typename T = Number>
virtual std::unique_ptr<ParameterAccessor<T> > libMesh::ParsedFunctionParameter< T >::clone ( ) const
inlineoverridevirtual
返回
访问器的新副本。

在文件 parsed_function_parameter.h84 行定义.

参考 libMesh::ParsedFunctionParameter< T >::_func , 以及 libMesh::ParsedFunctionParameter< T >::_name.

84  {
85  return std::make_unique<ParsedFunctionParameter<T>>(_func, _name);
86  }
template<typename T = Number>
virtual const T& libMesh::ParsedFunctionParameter< T >::get ( ) const
inlineoverridevirtual
template<typename T = Number>
virtual ParameterAccessor<T>& libMesh::ParsedFunctionParameter< T >::operator= ( T *  )
inlinevirtual

简单的重置器对于解析函数是无效的

在文件 parsed_function_parameter.h64 行定义.

64 { libmesh_error(); return *this; }
template<typename T = Number>
virtual void libMesh::ParsedFunctionParameter< T >::set ( const T &  new_value)
inlineoverridevirtual

设置器:更改我们访问的参数的值。

在文件 parsed_function_parameter.h69 行定义.

参考 libMesh::ParsedFunctionParameter< T >::_func, libMesh::ParsedFunctionParameter< T >::_name , 以及 libMesh::ParsedFunction< Output, OutputGradient >::set_inline_value().

69  {
70  _func.set_inline_value(_name, new_value);
71  }
void set_inline_value(std::string_view inline_var_name, Output newval)
Changes the value of an inline variable.

类成员变量说明

template<typename T = Number>
libMesh::Number libMesh::ParsedFunctionParameter< T >::_current_val
mutableprivate
template<typename T = Number>
ParsedFunction<T>& libMesh::ParsedFunctionParameter< T >::_func
private
template<typename T = Number>
std::string libMesh::ParsedFunctionParameter< T >::_name
private

该类的文档由以下文件生成: