Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
serialization_extensions.h File Reference

Boost serialization class extension macros and helpers. More...

#include <tesseract_common/macros.h>
#include <boost/mpl/string.hpp>
#include <tesseract_common/sfinae_utils.h>
Include dependency graph for serialization_extensions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tesseract_common::serialization::xml::extension< T >
 
struct  tesseract_common::serialization::xml::extension< T >::traits_class_extension< U >
 
struct  tesseract_common::serialization::binary::extension< T >
 
struct  tesseract_common::serialization::binary::extension< T >::traits_class_extension< U >
 

Namespaces

namespace  tesseract_common
 
namespace  tesseract_common::serialization
 
namespace  tesseract_common::serialization::xml
 
namespace  tesseract_common::serialization::binary
 

Macros

#define TESSERACT_CLASS_EXTENSION(T, X, B)
 A macro for defining serialization extension for classes. More...
 

Functions

TESSERACT_COMMON_IGNORE_WARNINGS_PUSH TESSERACT_COMMON_IGNORE_WARNINGS_POP CREATE_MEMBER_CHECK (extension_type)
 

Detailed Description

Boost serialization class extension macros and helpers.

Author
Levi Armstrong
Date
July 24, 2022
Version
TODO
Bug:
No known bugs
License
Software License Agreement (Apache License)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Macro Definition Documentation

◆ TESSERACT_CLASS_EXTENSION

#define TESSERACT_CLASS_EXTENSION (   T,
  X,
 
)
Value:
namespace tesseract_common \
{ \
namespace serialization::xml \
{ \
template <> \
struct extension<T> \
{ \
static constexpr const char* value = X; \
}; \
} \
namespace serialization::binary \
{ \
template <> \
struct extension<T> \
{ \
static constexpr const char* value = B; \
}; \
} \
}
Definition: polygon_mesh.h:46
Definition: allowed_collision_matrix.h:16
static constexpr const char * value
Definition: serialization_extensions.h:71
static constexpr const char * value
Definition: serialization_extensions.h:53
#define X
Definition: vhacdVolume.cpp:58

A macro for defining serialization extension for classes.

Parameters
Tthe class to define extensions for
Xthe xml serialziation extension for the provided class
Bthe binary serialzation extension for the provided class

Function Documentation

◆ CREATE_MEMBER_CHECK()