qpid/framing/Visitor.h File Reference
#include <boost/mpl/vector.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
Go to the source code of this file.
|
Classes |
struct | qpid::framing::Visit< T, R > |
| visit() interface for type T (optional return type R, default is void. More...
|
struct | qpid::framing::VisitableRoot< V, R > |
| The root class for the hierarchy of objects visitable by Visitor V. More...
|
struct | qpid::framing::Visitable< T, Base > |
| The base class for concrete visitable classes. More...
|
Namespaces |
namespace | qpid |
| This file was automatically generated from the AMQP specification.
|
namespace | qpid::framing |
| The framing namespace contains classes that are used to create, send and receive the basic packets from which AMQP is built.
|
Defines |
#define | QPID_VISITOR_DECL(_1, _2, T) class T; |
#define | QPID_VISITOR_BASE(_1, _2, T) , public ::qpid::framing::Visit<T> |
#define | QPID_VISITOR(visitor, types) |
| Convenience macro to generate a visitor interface.
|
Define Documentation
#define QPID_VISITOR |
( |
visitor, |
|
|
types |
|
) |
|
Value:
BOOST_PP_SEQ_FOR_EACH(QPID_VISITOR_DECL, _, types) \
class visitor : public ::qpid::framing::Visit<BOOST_PP_SEQ_HEAD(types)> \
BOOST_PP_SEQ_FOR_EACH(QPID_VISITOR_BASE, _, BOOST_PP_SEQ_TAIL(types)) \
{}
Convenience macro to generate a visitor interface.
QPID_VISITOR(MyVisitor,(A)(B)(C)); is equivalent to:
class A; class B; class C;
class MyVisitor : public Visit<A> , public Visit<B> , public Visit<C> {};
- Parameters:
-
| visitor | name of the generated visitor class. |
| bases | a sequence of visitable types in the form (T1)(T2)... Any parenthesized notations are due to quirks of the preprocesser. |
Definition at line 61 of file Visitor.h.
#define QPID_VISITOR_DECL |
( |
_1, |
|
|
_2, |
|
|
T |
|
) |
class T; |