libMesh
Public Member Functions | Private Attributes | List of all members
libMesh::mesh_inserter_iterator< T > Struct Template Reference

A class for templated methods that expect output iterator arguments, which adds objects to the Mesh. More...

#include <mesh_inserter_iterator.h>

Inheritance diagram for libMesh::mesh_inserter_iterator< T >:
[legend]

Public Member Functions

 mesh_inserter_iterator (MeshBase &m)
 
void operator= (Elem *e)
 
void operator= (Node *n)
 
void operator= (Point *p)
 
mesh_inserter_iteratoroperator++ ()
 
mesh_inserter_iterator operator++ (int)
 
mesh_inserter_iteratoroperator* ()
 

Private Attributes

MeshBasemesh
 

Detailed Description

template<typename T>
struct libMesh::mesh_inserter_iterator< T >

A class for templated methods that expect output iterator arguments, which adds objects to the Mesh.

Although any mesh_inserter_iterator can add any object, we template it around object type so that type inference and iterator_traits will work.

Author
Roy Stogner
Date
2012

An output iterator for use with packed_range functions.

Definition at line 49 of file mesh_inserter_iterator.h.

Constructor & Destructor Documentation

◆ mesh_inserter_iterator()

template<typename T >
libMesh::mesh_inserter_iterator< T >::mesh_inserter_iterator ( MeshBase m)
inline

Definition at line 52 of file mesh_inserter_iterator.h.

52 : mesh(m) {}

Referenced by libMesh::mesh_inserter_iterator< T >::operator++().

Member Function Documentation

◆ operator*()

template<typename T >
mesh_inserter_iterator& libMesh::mesh_inserter_iterator< T >::operator* ( )
inline

Definition at line 72 of file mesh_inserter_iterator.h.

72 { return *this; }

◆ operator++() [1/2]

template<typename T >
mesh_inserter_iterator& libMesh::mesh_inserter_iterator< T >::operator++ ( )
inline

Definition at line 60 of file mesh_inserter_iterator.h.

60  {
61  return *this;
62  }

◆ operator++() [2/2]

template<typename T >
mesh_inserter_iterator libMesh::mesh_inserter_iterator< T >::operator++ ( int  )
inline

Definition at line 64 of file mesh_inserter_iterator.h.

64  {
65  return mesh_inserter_iterator(*this);
66  }

References libMesh::mesh_inserter_iterator< T >::mesh_inserter_iterator().

◆ operator=() [1/3]

template<typename T >
void libMesh::mesh_inserter_iterator< T >::operator= ( Elem e)
inline

◆ operator=() [2/3]

template<typename T >
void libMesh::mesh_inserter_iterator< T >::operator= ( Node n)
inline

◆ operator=() [3/3]

template<typename T >
void libMesh::mesh_inserter_iterator< T >::operator= ( Point p)
inline

Member Data Documentation

◆ mesh

template<typename T >
MeshBase& libMesh::mesh_inserter_iterator< T >::mesh
private

The documentation for this struct was generated from the following file:
libMesh::mesh_inserter_iterator::mesh
MeshBase & mesh
Definition: mesh_inserter_iterator.h:75
libMesh::mesh_inserter_iterator::mesh_inserter_iterator
mesh_inserter_iterator(MeshBase &m)
Definition: mesh_inserter_iterator.h:52
libMesh::MeshBase::insert_node
virtual Node * insert_node(Node *n)=0
Insert Node n into the Mesh at a location consistent with n->id(), allocating extra storage if necess...
libMesh::MeshBase::add_elem
virtual Elem * add_elem(Elem *e)=0
Add elem e to the end of the element array.
libMesh::MeshBase::add_point
virtual Node * add_point(const Point &p, const dof_id_type id=DofObject::invalid_id, const processor_id_type proc_id=DofObject::invalid_processor_id)=0
Add a new Node at Point p to the end of the vertex array, with processor_id procid.