Robowflex  v0.1
Making MoveIt Easy
class_forward.h
Go to the documentation of this file.
1 /* Author: Zachary Kingston */
2 
3 #ifndef ROBOWFLEX_CLASS_FORWARD_
4 #define ROBOWFLEX_CLASS_FORWARD_
5 
6 #include <memory> // for std::shared_ptr
7 
8 /** \file */
9 
10 /**
11  * \def ROBOWFLEX_CLASS_FORWARD
12  * \brief Macro that forward declares a class and defines two shared ptrs types:
13  * - ${Class}Ptr = shared_ptr<${Class}>
14  * - ${Class}ConstPtr = shared_ptr<const ${Class}>
15  */
16 #define ROBOWFLEX_CLASS_FORWARD(C) \
17  class C; \
18  typedef std::shared_ptr<C> C##Ptr; \
19  typedef std::shared_ptr<const C> C##ConstPtr;
20 
21 /**
22  * \def ROBOWFLEX_EIGEN
23  * \brief Macro for classes with fixed width Eigen classes.
24  */
25 #define ROBOWFLEX_EIGEN EIGEN_MAKE_ALIGNED_OPERATOR_NEW
26 
27 #endif