AFEPack
公有类型 | 公有成员 | 保护成员 | 私有成员 | 私有属性
MemoryReclaimer< DIM, DOW >模板类参考

#include <MemoryReclaimer.h>

所有成员的列表。

公有类型

enum  { dim = DIM, dow = DOW }
typedef HGeometryTree< DIM, DOWtree_t
typedef IrregularMesh< DIM, DOWir_mesh_t

公有成员

 MemoryReclaimer ()
 MemoryReclaimer (tree_t &_h_tree)
virtual ~MemoryReclaimer ()
void setGeometryTree (tree_t &_h_tree)
void addIrregularMesh (ir_mesh_t &_ir_mesh)
void clear ()
void reclaim ()

保护成员

tree_tget_tree_ptr () const

私有成员

void reclaimIrregularMesh (ir_mesh_t &)
void initialTreeLabel ()
void labelIrregularMesh (ir_mesh_t &)
void reclaimTreeMemory ()
template<int DIM1>
void labelHGeometry (HGeometry< DIM1, DOW > &, int lab)
template<int DIM1>
void labelHGeometryRecursively (HGeometry< DIM1, DOW > &g, int lab)
template<int DIM1>
int relabelHGeometryRecursively (HGeometry< DIM1, DOW > &g)
template<int DIM1>
int reclaimHGeometryRecursively (HGeometry< DIM1, DOW > &g)
void labelHGeometry (HGeometry< 0, DOW > &, int lab)
void labelHGeometryRecursively (HGeometry< 0, DOW > &g, int lab)
int relabelHGeometryRecursively (HGeometry< 0, DOW > &g)
int reclaimHGeometryRecursively (HGeometry< 0, DOW > &g)
virtual void reclaimHGeometry (void *p_geo, int dim) const

私有属性

tree_th_tree
std::list< ir_mesh_t * > ir_mesh

详细描述

template<int DIM, int DOW = DIM>
class MemoryReclaimer< DIM, DOW >

HGeometryTreeIrregularMeshУһHGeometryHElementϸ Ժǽ洢ڴУЩʱʹõʱ û̽ЩڴͷŵҪĿΪЩٴҪʱ 򣬿Խʡʱ䡣ضʱЩʱ ڴջأԱʵ֣͵Ĵ£

    HGeometryTree<DIM,DOW> h_tree;
    ... ...
    IrregularMesh<DIM,DOW> ir_mesh_0;
    IrregularMesh<DIM,DOW> ir_mesh_1;
    ... ...
    MemoryReclaimer<DIM,DOW> mr(h_tree);
    mr.addIrregularMesh(ir_mesh_0);
    mr.addIrregularMesh(ir_mesh_1);
    mr.reclaim();
  

ڵreclaim֮󣬲ʹõڴ潫ᱻա

Ҫرעǣ˲ʱнh_treeϵġ󻹻ʹ IrregularMeshҪʹaddIrregularMesh 뵽յĹ УܳDZڵĴ


成员类型定义文档

template<int DIM, int DOW = DIM>
typedef IrregularMesh<DIM,DOW> MemoryReclaimer< DIM, DOW >::ir_mesh_t
template<int DIM, int DOW = DIM>
typedef HGeometryTree<DIM,DOW> MemoryReclaimer< DIM, DOW >::tree_t

成员枚举类型文档

template<int DIM, int DOW = DIM>
anonymous enum
枚举值:
dim 
dow 

构造及析构函数文档

template<int DIM, int DOW = DIM>
MemoryReclaimer< DIM, DOW >::MemoryReclaimer ( ) [inline]
template<int DIM, int DOW = DIM>
MemoryReclaimer< DIM, DOW >::MemoryReclaimer ( tree_t _h_tree) [inline]
template<int DIM, int DOW = DIM>
virtual MemoryReclaimer< DIM, DOW >::~MemoryReclaimer ( ) [inline, virtual]

成员函数文档

template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::addIrregularMesh ( ir_mesh_t _ir_mesh) [inline]

ӽһμӲIrregularMesh

template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::clear ( ) [inline]
template<int DIM, int DOW = DIM>
tree_t* MemoryReclaimer< DIM, DOW >::get_tree_ptr ( ) const [inline, protected]
template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::initialTreeLabel ( ) [private]
template<int DIM, int DOW = DIM>
template<int DIM1>
void MemoryReclaimer< DIM, DOW >::labelHGeometry ( HGeometry< DIM1, DOW > &  ,
int  lab 
) [private]
template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::labelHGeometry ( HGeometry< 0, DOW > &  ,
int  lab 
) [private]
template<int DIM, int DOW = DIM>
template<int DIM1>
void MemoryReclaimer< DIM, DOW >::labelHGeometryRecursively ( HGeometry< DIM1, DOW > &  g,
int  lab 
) [private]
template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::labelHGeometryRecursively ( HGeometry< 0, DOW > &  g,
int  lab 
) [private]
template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::labelIrregularMesh ( ir_mesh_t ) [private]
template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::reclaim ( )

HGeometryTreeмм໥Ϊһdzӵṹ Ϊ˻ڴ棬ʹIJʵ֣

1. ÿIrregularMeshвõڴлաǷdz򵥵ģ ΪֻҪÿҶӽڵͨͨɾ͹ˣʵں reclaimIrregularMeshС

2. HGeometryTreeемʹindex=-1ʶ initialTreeLabelнС

3. еIrregularMeshĵԪõļ嶼±ʶΪ1 labelIrregularMesh

4. HGeometryTreeеļбһıʶΪ-1 üӦñɾһαʱǾͽ ʶ޸Ϊ-2-1ʾǵһʶΪ1ô ڱijIrregularMeshʹãDzʲôһ ʶΪ-2ôѾٵڶαˣô ϶ϵǸָΪ NULL HGeometryTreeԭǸ״ṹݣǸҪɾ IJ֣ѾΪ״ṹ

5. HGeometryTreeеļбһıʶΪ-2 Ǿͽɾ45 reclaimTreeMemory ʵֵģ

template<int DIM, int DOW = DIM>
virtual void MemoryReclaimer< DIM, DOW >::reclaimHGeometry ( void *  p_geo,
int  dim 
) const [inline, private, virtual]
template<int DIM, int DOW = DIM>
template<int DIM1>
int MemoryReclaimer< DIM, DOW >::reclaimHGeometryRecursively ( HGeometry< DIM1, DOW > &  g) [private]
template<int DIM, int DOW = DIM>
int MemoryReclaimer< DIM, DOW >::reclaimHGeometryRecursively ( HGeometry< 0, DOW > &  g) [private]
template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::reclaimIrregularMesh ( ir_mesh_t ) [private]
template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::reclaimTreeMemory ( ) [private]
template<int DIM, int DOW = DIM>
template<int DIM1>
int MemoryReclaimer< DIM, DOW >::relabelHGeometryRecursively ( HGeometry< DIM1, DOW > &  g) [private]
template<int DIM, int DOW = DIM>
int MemoryReclaimer< DIM, DOW >::relabelHGeometryRecursively ( HGeometry< 0, DOW > &  g) [private]
template<int DIM, int DOW = DIM>
void MemoryReclaimer< DIM, DOW >::setGeometryTree ( tree_t _h_tree) [inline]

ýڴղHGeometryTree


成员数据文档

template<int DIM, int DOW = DIM>
tree_t* MemoryReclaimer< DIM, DOW >::h_tree [private]
template<int DIM, int DOW = DIM>
std::list<ir_mesh_t *> MemoryReclaimer< DIM, DOW >::ir_mesh [private]

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