ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
array.hpp File Reference
#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>
+ Include dependency graph for array.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  boost
 
namespace  boost::mpi
 

Macros

#define UTILS_ARRAY_TEMPLATE_T_N   template <typename T, std::size_t N>
 
#define UTILS_ARRAY_TEMPLATE_T_0   template <typename T>
 
#define UTILS_ARRAY_CONTAINER_T_N(Container)   Container<T, N>
 
#define UTILS_ARRAY_CONTAINER_T_0(Container)   Container<T>
 
#define UTILS_ARRAY_BOOST_MPI_T(Container, N)
 Mark array types as MPI data types.
 
#define UTILS_ARRAY_BOOST_BIT_S(Container, N)
 Mark array types as MPI bitwise serializable.
 
#define UTILS_ARRAY_BOOST_CLASS(Container, N, ImplementationLevel)
 Redefinition of BOOST_CLASS_IMPLEMENTATION for array types.
 
#define UTILS_ARRAY_BOOST_TRACK(Container, N, TrackingLevel)
 Redefinition of BOOST_CLASS_TRACKING for array types.
 

Macro Definition Documentation

◆ UTILS_ARRAY_BOOST_BIT_S

#define UTILS_ARRAY_BOOST_BIT_S (   Container,
 
)
Value:
namespace boost { \
namespace serialization { \
UTILS_ARRAY_TEMPLATE_T_##N struct is_bitwise_serializable< \
UTILS_ARRAY_CONTAINER_T_##N(Container)> \
: public is_bitwise_serializable<T> {}; \
} /* namespace serialization */ \
} /* namespace boost */

Mark array types as MPI bitwise serializable.

Template Parameters
ContainerTemplate template type of the array
NN 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 boost { \
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); \
}; \
} /* namespace serialization */ \
} /* namespace boost */

Redefinition of BOOST_CLASS_IMPLEMENTATION for array types.

Template Parameters
ContainerTemplate template type of the array
NN if Container uses std::size_t N, else 0
ImplementationLevelSerialization implementation level

Definition at line 78 of file array.hpp.

◆ UTILS_ARRAY_BOOST_MPI_T

#define UTILS_ARRAY_BOOST_MPI_T (   Container,
 
)
Value:
namespace boost { \
namespace mpi { \
UTILS_ARRAY_TEMPLATE_T_##N struct is_mpi_datatype< \
UTILS_ARRAY_CONTAINER_T_##N(Container)> : public is_mpi_datatype<T> {}; \
} /* namespace mpi */ \
} /* namespace boost */

Mark array types as MPI data types.

Template Parameters
ContainerTemplate template type of the array
NN 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 boost { \
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)); \
}; \
} /* namespace serialization */ \
} /* namespace boost */

Redefinition of BOOST_CLASS_TRACKING for array types.

Template Parameters
ContainerTemplate template type of the array
NN if Container uses std::size_t N, else 0
TrackingLevelTracking level

Definition at line 97 of file array.hpp.

◆ UTILS_ARRAY_CONTAINER_T_0

#define UTILS_ARRAY_CONTAINER_T_0 (   Container)    Container<T>

Definition at line 36 of file array.hpp.

◆ UTILS_ARRAY_CONTAINER_T_N

#define UTILS_ARRAY_CONTAINER_T_N (   Container)    Container<T, N>

Definition at line 35 of file array.hpp.

◆ UTILS_ARRAY_TEMPLATE_T_0

#define UTILS_ARRAY_TEMPLATE_T_0   template <typename T>

Definition at line 34 of file array.hpp.

◆ UTILS_ARRAY_TEMPLATE_T_N

#define UTILS_ARRAY_TEMPLATE_T_N   template <typename T, std::size_t N>

Definition at line 33 of file array.hpp.