Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs
any_poly.h File Reference
#include <tesseract_common/macros.h>
#include <boost/serialization/base_object.hpp>
#include <boost/serialization/export.hpp>
#include <boost/concept_check.hpp>
#include <tesseract_common/serialization.h>
#include <tesseract_common/type_erasure.h>
Include dependency graph for any_poly.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tesseract_common::detail_any::AnyConcept< A >
 
struct  tesseract_common::detail_any::AnyInstance< T >
 
struct  tesseract_common::AnyPoly
 

Namespaces

namespace  tesseract_common
 
namespace  tesseract_common::detail_any
 

Macros

#define TESSERACT_ANY_EXPORT_KEY(N, C)
 If shared library, this must go in the header after the class definition. More...
 
#define TESSERACT_ANY_EXPORT_IMPLEMENT(inst)
 If shared library, this must go in the cpp after the implicit instantiation of the serialize function. More...
 
#define TESSERACT_ANY_EXPORT(N, C)
 This should not be used within shared libraries use the two above. If not in a shared library it can go in header or cpp. More...
 

Typedefs

using tesseract_common::AnyPolyBase = tesseract_common::TypeErasureBase< TypeErasureInterface, detail_any::AnyInstance >
 

Macro Definition Documentation

◆ TESSERACT_ANY_EXPORT

#define TESSERACT_ANY_EXPORT (   N,
 
)
Value:
TESSERACT_ANY_EXPORT_IMPLEMENT(N::C)
#define TESSERACT_ANY_EXPORT_KEY(N, C)
If shared library, this must go in the header after the class definition.
Definition: any_poly.h:39

This should not be used within shared libraries use the two above. If not in a shared library it can go in header or cpp.

◆ TESSERACT_ANY_EXPORT_IMPLEMENT

#define TESSERACT_ANY_EXPORT_IMPLEMENT (   inst)
Value:
BOOST_CLASS_EXPORT_IMPLEMENT(inst##AnyInstanceBase) \
BOOST_CLASS_EXPORT_IMPLEMENT(inst##AnyInstance) \
BOOST_CLASS_EXPORT_IMPLEMENT(inst##AnyInstanceWrapper)

If shared library, this must go in the cpp after the implicit instantiation of the serialize function.

◆ TESSERACT_ANY_EXPORT_KEY

#define TESSERACT_ANY_EXPORT_KEY (   N,
 
)
Value:
namespace N \
{ \
} \
BOOST_CLASS_EXPORT_KEY(N::C##AnyInstanceBase) \
BOOST_CLASS_EXPORT_KEY(N::C##AnyInstance) \
BOOST_CLASS_EXPORT_KEY(N::C##AnyInstanceWrapper) \
BOOST_CLASS_TRACKING(N::C##AnyInstanceBase, boost::serialization::track_never) \
BOOST_CLASS_TRACKING(N::C##AnyInstance, boost::serialization::track_never) \
BOOST_CLASS_TRACKING(N::C##AnyInstanceWrapper, boost::serialization::track_never)
Definition: type_erasure.h:108
Definition: type_erasure.h:67

If shared library, this must go in the header after the class definition.