#include <boost/mpl/bool_fwd.hpp>
#include <boost/mpl/greater.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/integral_c_tag.hpp>
#include <boost/serialization/is_bitwise_serializable.hpp>
#include <boost/serialization/level.hpp>
#include <boost/serialization/tracking.hpp>
#include <boost/serialization/tracking_enum.hpp>
#include <cstddef>
Go to the source code of this file.
◆ UTILS_ARRAY_BOOST_BIT_S
#define UTILS_ARRAY_BOOST_BIT_S |
( |
|
Container, |
|
|
|
N |
|
) |
| |
Value:
namespace serialization { \
UTILS_ARRAY_TEMPLATE_T_##N struct is_bitwise_serializable< \
UTILS_ARRAY_CONTAINER_T_##N(Container)> \
: public is_bitwise_serializable<T> {}; \
} \
}
Mark array types as MPI bitwise serializable.
- Template Parameters
-
Container | Template template type of the array |
N | N if Container uses std::size_t N, else 0 |
Definition at line 63 of file array.hpp.
◆ UTILS_ARRAY_BOOST_CLASS
#define UTILS_ARRAY_BOOST_CLASS |
( |
|
Container, |
|
|
|
N, |
|
|
|
ImplementationLevel |
|
) |
| |
Value:
namespace serialization { \
UTILS_ARRAY_TEMPLATE_T_##N struct implementation_level_impl< \
const UTILS_ARRAY_CONTAINER_T_##N(Container)> { \
typedef mpl::integral_c_tag tag; \
typedef mpl::int_<ImplementationLevel> type; \
BOOST_STATIC_CONSTANT(int, \
value = implementation_level_impl::type::value); \
}; \
} \
}
Redefinition of BOOST_CLASS_IMPLEMENTATION
for array types.
- Template Parameters
-
Container | Template template type of the array |
N | N if Container uses std::size_t N, else 0 |
ImplementationLevel | Serialization implementation level |
Definition at line 78 of file array.hpp.
◆ UTILS_ARRAY_BOOST_MPI_T
#define UTILS_ARRAY_BOOST_MPI_T |
( |
|
Container, |
|
|
|
N |
|
) |
| |
Value:
UTILS_ARRAY_TEMPLATE_T_##N struct is_mpi_datatype< \
UTILS_ARRAY_CONTAINER_T_##N(Container)> : public is_mpi_datatype<T> {}; \
} \
}
Mark array types as MPI data types.
- Template Parameters
-
Container | Template template type of the array |
N | N if Container uses std::size_t N, else 0 |
Definition at line 50 of file array.hpp.
◆ UTILS_ARRAY_BOOST_TRACK
#define UTILS_ARRAY_BOOST_TRACK |
( |
|
Container, |
|
|
|
N, |
|
|
|
TrackingLevel |
|
) |
| |
Value:
namespace serialization { \
UTILS_ARRAY_TEMPLATE_T_##N struct tracking_level< \
UTILS_ARRAY_CONTAINER_T_##N(Container)> { \
typedef mpl::integral_c_tag tag; \
typedef mpl::int_<TrackingLevel> type; \
BOOST_STATIC_CONSTANT(int, value = tracking_level::type::value); \
BOOST_STATIC_ASSERT( \
(mpl::greater< \
implementation_level<UTILS_ARRAY_CONTAINER_T_##N(Container)>, \
mpl::int_<primitive_type>>::value)); \
}; \
} \
}
Redefinition of BOOST_CLASS_TRACKING
for array types.
- Template Parameters
-
Container | Template template type of the array |
N | N if Container uses std::size_t N, else 0 |
TrackingLevel | Tracking level |
Definition at line 97 of file array.hpp.
◆ UTILS_ARRAY_CONTAINER_T_0
#define UTILS_ARRAY_CONTAINER_T_0 |
( |
|
Container | ) |
Container<T> |
◆ UTILS_ARRAY_CONTAINER_T_N
#define UTILS_ARRAY_CONTAINER_T_N |
( |
|
Container | ) |
Container<T, N> |
◆ UTILS_ARRAY_TEMPLATE_T_0
#define UTILS_ARRAY_TEMPLATE_T_0 template <typename T> |
◆ UTILS_ARRAY_TEMPLATE_T_N
#define UTILS_ARRAY_TEMPLATE_T_N template <typename T, std::size_t N> |