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

get iterator to first element More...

#include <iterators.hpp>

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

Public Types

using result_type = typename GTYPE::iterator
 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

result_type operator() (const group_type &g) const
 process groups More...
 
result_type operator() (const field_type &) const
 process fields More...
 
result_type operator() (const attribute_type &) const
 process attributes More...
 
result_type operator() (const link_type &) const
 process links More...
 

Detailed Description

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

This visitor returns an iterator to the first child attached to a group or throws a type_error exception of the passed nxobject instance is not a group.

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::begin_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::attribute_type = ATYPE
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
using pni::io::nx::begin_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::field_type = FTYPE
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
using pni::io::nx::begin_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::group_type = GTYPE
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
using pni::io::nx::begin_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::link_type = LTYPE
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
using pni::io::nx::begin_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::result_type = typename GTYPE::iterator

Member Function Documentation

template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
result_type pni::io::nx::begin_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::operator() ( const group_type g) const
inline
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
result_type pni::io::nx::begin_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::operator() ( const field_type ) const
inline

Throws type_error as fields do not have children over which we can iterate.

Exceptions
type_errorin any case
Parameters
ffield instance
Returns
to be ignored
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
result_type pni::io::nx::begin_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::operator() ( const attribute_type ) const
inline

Throws type_error - an attribute does not have an interator.

Exceptions
type_errorin any case
Parameters
aattribute instance
Returns
to be ignored
template<typename GTYPE , typename FTYPE , typename ATYPE , typename LTYPE >
result_type pni::io::nx::begin_visitor< GTYPE, FTYPE, ATYPE, LTYPE >::operator() ( const link_type ) const
inline

Throws type_error - links does not have an interator.

Exceptions
type_errorin any case

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