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

Used to iterate over non-nullptr elements not owned by a given processor but semi-local to that processor, i.e. 更多...

#include <multi_predicates.h>

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

Public 成员函数

 Ghost (processor_id_type my_pid)
 
virtual bool operator() (const T &it) const
 

Protected 成员函数

void deep_copy (const abstract_multi_predicate &rhs)
 

Protected 属性

std::vector< pred_ptr< T > > _predicates
 

详细描述

template<typename T>
struct libMesh::Predicates::Ghost< T >

Used to iterate over non-nullptr elements not owned by a given processor but semi-local to that processor, i.e.

ghost elements.

在文件 multi_predicates.h733 行定义.

构造及析构函数说明

template<typename T >
libMesh::Predicates::Ghost< T >::Ghost ( processor_id_type  my_pid)
inline

在文件 multi_predicates.h735 行定义.

735  : abstract_multi_predicate<T>(make_vec<pred_ptr<T>>(
736  {
737  std::make_unique<not_null<T>>(),
738  std::make_unique<active<T>>(),
739  std::make_unique<not_pid<T>>(my_pid),
740  std::make_unique<semilocal_pid<T>>(my_pid)
741  })) {}

成员函数说明

template<typename T >
void libMesh::Predicates::abstract_multi_predicate< T >::deep_copy ( const abstract_multi_predicate< T > &  rhs)
inlineprotectedinherited

在文件 multi_predicates.h108 行定义.

参考 libMesh::Predicates::abstract_multi_predicate< T >::_predicates.

参考自 libMesh::Predicates::abstract_multi_predicate< T >::abstract_multi_predicate() , 以及 libMesh::Predicates::abstract_multi_predicate< T >::operator=().

109  {
110  // First clear out the predicates vector
111  _predicates.clear();
112 
113  for (const auto & p : rhs._predicates)
114  _predicates.push_back(p->clone());
115  }
template<typename T >
virtual bool libMesh::Predicates::abstract_multi_predicate< T >::operator() ( const T &  it) const
inlinevirtualinherited

在文件 multi_predicates.h77 行定义.

参考 libMesh::Predicates::abstract_multi_predicate< T >::_predicates.

78  {
79  for (const auto & pred : _predicates)
80  {
81  libmesh_assert (pred);
82 
83  if (!(*pred)(it))
84  return false;
85  }
86 
87  return true;
88  }

类成员变量说明

template<typename T >
std::vector<pred_ptr<T> > libMesh::Predicates::abstract_multi_predicate< T >::_predicates
protectedinherited

该结构体的文档由以下文件生成: