libpniio
Public Types | Public Member Functions | Private Attributes
pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE > Class Template Reference

grow visitor More...

#include <grow.hpp>

Inheritance diagram for pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >:
Inheritance graph
[legend]
Collaboration diagram for pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >:
Collaboration graph
[legend]

Public Types

using result_type = void
 result type More...
 
using group_type = GTYPE
 Nexus group type. More...
 
using field_type = FTYPE
 Nexus field type. More...
 
using attribute_type = ATYPE
 Nexus attribute type. More...
 
using link_type = LTYPE
 NeXus link type. More...
 

Public Member Functions

 grow_visitor (size_t d, size_t e)
 constructor More...
 
result_type operator() (const group_type &) const
 process group instances More...
 
result_type operator() (field_type &f) const
 process field instances More...
 
result_type operator() (const attribute_type &) const
 process attribute instances More...
 
result_type operator() (const link_type &) const
 process link instances More...
 

Private Attributes

size_t _dim
 the index of the dimension along which to grow More...
 
size_t _extent
 the number of elements to grow along the desired dimension More...
 

Detailed Description

template<typename GTYPE, typename FTYPE, typename ATYPE, typename LTYPE>
class pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >

Template Parameters
GTYPEgroup type
FTYPEfield type
ATYPEattribute type
LTYPElink type

Member Typedef Documentation

template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
using pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::attribute_type = ATYPE
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
using pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::field_type = FTYPE
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
using pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::group_type = GTYPE
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
using pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::link_type = LTYPE
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
using pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::result_type = void

Constructor & Destructor Documentation

template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::grow_visitor ( size_t  d,
size_t  e 
)
inline
Parameters
dindex of dimension along which to grow
enumber of elements about which to grow

Member Function Documentation

template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
result_type pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::operator() ( const group_type ) const
inline
Exceptions
type_error
Parameters
ggroup instance
Returns
nothing
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
result_type pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::operator() ( field_type f) const
inline

Grows the field along a particular dimenension.

Exceptions
invalid_object_errorif the field is not active
index_errorif dimension exceeds the rank
object_errorin case of any other error
Parameters
ffield instance
Returns
nothing
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
result_type pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::operator() ( const attribute_type ) const
inline
Exceptions
type_error
Parameters
aattribute instance
Returns
nothing
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
result_type pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::operator() ( const link_type ) const
inline
Exceptions
type_error

Field Documentation

template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
size_t pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::_dim
private
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
size_t pni::io::nx::grow_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::_extent
private

The documentation for this class was generated from the following file: