NSVD Reader  0.0.1
visitor.hpp File Reference

Go to the source code of this file.

Classes

struct  nodamushi::visitor::is_static< T, v >
 

Namespaces

 nodamushi
 
 nodamushi::visitor
 

Macros

#define __NODAMUSHI_VISIT_ENUM__(x, y)   ::nodamushi::visitor::_visitor_member_type_::__NODAMUSHI_VISIT_ENUM2__(x,y)
 
#define __NODAMUSHI_VISIT_ENUM2__(x, y)   x##y
 
#define VISITOR_INIT
 
#define VISITOR_MEMBER
 

Enumerations

enum  nodamushi::visitor::_visitor_member_type_ : int { nodamushi::visitor::_visitor_member_type_::staticmt =0, nodamushi::visitor::_visitor_member_type_::mt =1 }
 

Functions

template<typename CONTROLLER , typename VISITOR , typename T >
result nodamushi::visitor::apply (T &t)
 
template<typename CONTROLLER , typename VISITOR , typename T >
result nodamushi::visitor::apply (T &t, VISITOR &v)
 
template<typename CONTROLLER , typename VISITOR , typename T >
result nodamushi::visitor::applyController (T &t)
 
template<typename CONTROLLER , typename VISITOR , typename T >
result nodamushi::visitor::applyController (T &t, VISITOR &v)
 
template<typename VISITOR , typename T >
result nodamushi::visitor::applyVisit (T &t)
 
template<typename VISITOR , typename T >
result nodamushi::visitor::applyVisit (T &t, VISITOR &v)
 
template<typename VISITOR , typename T >
result nodamushi::visitor::applyPostVisit (T &t)
 
template<typename VISITOR , typename T >
result nodamushi::visitor::applyPostVisit (T &t, VISITOR &v)
 

Detailed Description

visitor contoller

Definition in file visitor.hpp.

Macro Definition Documentation

◆ __NODAMUSHI_VISIT_ENUM2__

#define __NODAMUSHI_VISIT_ENUM2__ (   x,
 
)    x##y

Definition at line 58 of file visitor.hpp.

◆ __NODAMUSHI_VISIT_ENUM__

#define __NODAMUSHI_VISIT_ENUM__ (   x,
 
)    ::nodamushi::visitor::_visitor_member_type_::__NODAMUSHI_VISIT_ENUM2__(x,y)

Definition at line 57 of file visitor.hpp.

◆ VISITOR_INIT

#define VISITOR_INIT
Value:
static constexpr result CONTINUE = result::CONTINUE; \
static constexpr result BREAK = result::BREAK; \
static constexpr result SKIP = result::SKIP; \
template<typename T>VISITOR_MEMBER result visit(const T& t){return result::CONTINUE;} \
template<typename T>VISITOR_MEMBER result visit(T& t){return result::CONTINUE;} \
template<typename T>VISITOR_MEMBER result postVisit(const T& t){return result::CONTINUE;} \
template<typename T>VISITOR_MEMBER result postVisit(T& t){return result::CONTINUE;}
::nodamushi::visitor::result visit(RC &rcvec, VISITOR &v)
Definition: Cluster.hpp:310
stop visitor processing
finish the current processing hierarchy
#define VISITOR_MEMBER
Definition: visitor.hpp:70
continue visitor processing

Definition at line 59 of file visitor.hpp.

◆ VISITOR_MEMBER

#define VISITOR_MEMBER

Definition at line 70 of file visitor.hpp.