From acc8a6ca2d7e81bf309189e702023e7042231bd8 Mon Sep 17 00:00:00 2001 From: Sebastian Eibl <sebastian.eibl@fau.de> Date: Wed, 27 Mar 2019 16:33:47 +0100 Subject: [PATCH] replace boost::tuple with std::tuple in pe --- .../AMRSedimentSettling.cpp | 2 +- .../WorkloadEvaluation.cpp | 2 +- apps/benchmarks/DEM/DEM.cpp | 3 +- .../ForcesOnSphereNearPlaneInShearFlow.cpp | 2 +- .../MotionSingleHeavySphere.cpp | 2 +- .../PeriodicGranularGas.cpp | 7 ++- .../BidisperseFluidizedBedDPM.cpp | 2 +- apps/tutorials/pe/01_ConfinedGas.cpp | 4 +- apps/tutorials/pe/02_ConfinedGasExtended.cpp | 3 +- src/mesh/pe/rigid_body/ConvexPolyhedron.h | 2 +- src/pe/communication/DynamicMarshalling.h | 2 +- src/pe/fcd/AnalyticCollisionDetection.h | 2 +- src/pe/fcd/GJKEPACollideFunctor.h | 2 +- src/pe/fcd/SimpleFCD.h | 3 +- src/pe/pe_module.dox | 2 +- src/pe/raytracing/Intersects.h | 2 +- src/pe/rigidbody/Box.h | 2 +- src/pe/rigidbody/Capsule.h | 2 +- src/pe/rigidbody/CylindricalBoundary.h | 2 +- src/pe/rigidbody/Ellipsoid.h | 2 +- src/pe/rigidbody/Plane.h | 2 +- src/pe/rigidbody/SetBodyTypeIDs.h | 23 ++++--- src/pe/rigidbody/Sphere.h | 2 +- src/pe/rigidbody/Squirmer.h | 2 +- src/pe/rigidbody/Union.h | 4 +- src/pe/rigidbody/UnionFactory.h | 8 +-- src/pe/utility/BodyCast.h | 63 ++++++++++--------- src/pe/vtk/SphereVtkOutput.cpp | 16 ++--- tests/mesh/MeshMarshalling.cpp | 7 ++- tests/mesh/PeVTKMeshWriterTest.cpp | 3 +- tests/pe/BodyFlags.cpp | 6 +- tests/pe/BodyIterators.cpp | 2 +- tests/pe/Callback.cpp | 2 +- tests/pe/Collision.cpp | 4 +- tests/pe/CollisionTobiasGJK.cpp | 10 +-- tests/pe/CreateWorld.cpp | 2 +- tests/pe/DeleteBody.cpp | 2 +- tests/pe/DestroyBody.cpp | 2 +- tests/pe/DynamicRefinement.cpp | 2 +- tests/pe/ForceSync.cpp | 4 +- tests/pe/HCSITS.cpp | 2 +- tests/pe/HashGrids.cpp | 2 +- tests/pe/LoadFromConfig.cpp | 2 +- tests/pe/Marshalling.cpp | 6 +- tests/pe/MinMaxRefinement.cpp | 4 +- tests/pe/ParallelEquivalence.cpp | 4 +- tests/pe/PeDocumentationSnippets.cpp | 6 +- tests/pe/Raytracing.cpp | 2 +- tests/pe/Refinement.cpp | 4 +- tests/pe/RefinementWithSpareProcesses.cpp | 4 +- tests/pe/SerializeDeserialize.cpp | 4 +- tests/pe/SetBodyTypeIDs.cpp | 10 +-- tests/pe/ShadowCopy.cpp | 6 +- tests/pe/SimpleCCD.cpp | 2 +- tests/pe/SyncEquivalence.cpp | 2 +- tests/pe/Synchronization.cpp | 4 +- tests/pe/SynchronizationDelete.cpp | 4 +- tests/pe/SynchronizationLargeBody.cpp | 4 +- tests/pe/Union.cpp | 8 +-- .../HinderedSettlingDynamicsDPM.cpp | 2 +- .../SphereWallCollisionBehaviorDPM.cpp | 2 +- .../geometry/PeIntersectionRatioTest.cpp | 2 +- .../BodyAtBlockBoarderCheck.cpp | 2 +- .../BodyMappingTest.cpp | 2 +- .../DragForceSphereMEM.cpp | 2 +- .../DragForceSphereMEMRefinement.cpp | 2 +- ...lobalBodyAsBoundaryMEMStaticRefinement.cpp | 2 +- .../LubricationCorrectionMEM.cpp | 2 +- .../PeriodicParticleChannelMEM.cpp | 2 +- .../SegreSilberbergMEM.cpp | 2 +- .../SettlingSphereMEM.cpp | 2 +- .../SettlingSphereMEMDynamicRefinement.cpp | 2 +- .../SettlingSphereMEMStaticRefinement.cpp | 2 +- .../momentum_exchange_method/SquirmerTest.cpp | 2 +- .../TaylorCouetteFlowMEM.cpp | 2 +- .../TorqueSphereMEM.cpp | 2 +- .../DragForceSpherePSM.cpp | 2 +- .../DragForceSpherePSMRefinement.cpp | 2 +- .../SegreSilberbergPSM.cpp | 2 +- .../TorqueSpherePSM.cpp | 2 +- .../BodiesForceTorqueContainerTest.cpp | 2 +- .../pe_coupling/utility/PeSubCyclingTest.cpp | 2 +- 82 files changed, 178 insertions(+), 164 deletions(-) diff --git a/apps/benchmarks/AdaptiveMeshRefinementFluidParticleCoupling/AMRSedimentSettling.cpp b/apps/benchmarks/AdaptiveMeshRefinementFluidParticleCoupling/AMRSedimentSettling.cpp index 4a8af6662..42cbcd961 100644 --- a/apps/benchmarks/AdaptiveMeshRefinementFluidParticleCoupling/AMRSedimentSettling.cpp +++ b/apps/benchmarks/AdaptiveMeshRefinementFluidParticleCoupling/AMRSedimentSettling.cpp @@ -109,7 +109,7 @@ typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_T; typedef boost::tuples::tuple< NoSlip_T, MO_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane> BodyTypeTuple; +typedef std::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane> BodyTypeTuple; /////////// // FLAGS // diff --git a/apps/benchmarks/AdaptiveMeshRefinementFluidParticleCoupling/WorkloadEvaluation.cpp b/apps/benchmarks/AdaptiveMeshRefinementFluidParticleCoupling/WorkloadEvaluation.cpp index 0a4fef688..45b2d82e3 100644 --- a/apps/benchmarks/AdaptiveMeshRefinementFluidParticleCoupling/WorkloadEvaluation.cpp +++ b/apps/benchmarks/AdaptiveMeshRefinementFluidParticleCoupling/WorkloadEvaluation.cpp @@ -103,7 +103,7 @@ typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_CLI_T; typedef boost::tuples::tuple<MO_CLI_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane> BodyTypeTuple; +typedef std::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane> BodyTypeTuple; /////////// // FLAGS // diff --git a/apps/benchmarks/DEM/DEM.cpp b/apps/benchmarks/DEM/DEM.cpp index fb9de4611..d3a0decf7 100644 --- a/apps/benchmarks/DEM/DEM.cpp +++ b/apps/benchmarks/DEM/DEM.cpp @@ -25,6 +25,7 @@ #include <core/DataTypes.h> #include <string> +#include <tuple> namespace walberla { @@ -47,7 +48,7 @@ int main( int argc, char** argv ) using namespace walberla; using namespace walberla::pe; - typedef boost::tuple<Sphere, Plane> BodyTuple ; + typedef std::tuple<Sphere, Plane> BodyTuple ; walberla::MPIManager::instance()->initializeMPI( &argc, &argv ); diff --git a/apps/benchmarks/ForcesOnSphereNearPlaneInShearFlow/ForcesOnSphereNearPlaneInShearFlow.cpp b/apps/benchmarks/ForcesOnSphereNearPlaneInShearFlow/ForcesOnSphereNearPlaneInShearFlow.cpp index de8dd9d31..52e9bf90a 100644 --- a/apps/benchmarks/ForcesOnSphereNearPlaneInShearFlow/ForcesOnSphereNearPlaneInShearFlow.cpp +++ b/apps/benchmarks/ForcesOnSphereNearPlaneInShearFlow/ForcesOnSphereNearPlaneInShearFlow.cpp @@ -98,7 +98,7 @@ typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_CLI_T; typedef boost::tuples::tuple< MO_SBB_T, MO_CLI_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; +typedef std::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; /////////// // FLAGS // diff --git a/apps/benchmarks/MotionSingleHeavySphere/MotionSingleHeavySphere.cpp b/apps/benchmarks/MotionSingleHeavySphere/MotionSingleHeavySphere.cpp index fb355ddde..e7743f795 100644 --- a/apps/benchmarks/MotionSingleHeavySphere/MotionSingleHeavySphere.cpp +++ b/apps/benchmarks/MotionSingleHeavySphere/MotionSingleHeavySphere.cpp @@ -101,7 +101,7 @@ typedef pe_coupling::CurvedQuadratic< LatticeModel_T, FlagField_T > MEM_MR_T; typedef boost::tuples::tuple< UBB_T, Outlet_T, MEM_BB_T, MEM_CLI_T, MEM_MR_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -using BodyTypeTuple = boost::tuple<pe::Sphere>; +using BodyTypeTuple = std::tuple<pe::Sphere>; /////////// // FLAGS // diff --git a/apps/benchmarks/PeriodicGranularGas/PeriodicGranularGas.cpp b/apps/benchmarks/PeriodicGranularGas/PeriodicGranularGas.cpp index 190b13e0d..1dfc02fd2 100644 --- a/apps/benchmarks/PeriodicGranularGas/PeriodicGranularGas.cpp +++ b/apps/benchmarks/PeriodicGranularGas/PeriodicGranularGas.cpp @@ -33,12 +33,13 @@ #include <functional> #include <memory> +#include <tuple> namespace walberla { using namespace walberla::pe; using namespace walberla::timing; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; int main( int argc, char ** argv ) { @@ -164,11 +165,11 @@ int main( int argc, char ** argv ) std::function<void(void)> syncCallWithoutTT; if (bNN) { - syncCallWithoutTT = std::bind( pe::syncNextNeighbors<BodyTuple>, boost::ref(*forest), storageID, &tt, real_c(0.1), false ); + syncCallWithoutTT = std::bind( pe::syncNextNeighbors<BodyTuple>, std::ref(*forest), storageID, &tt, real_c(0.1), false ); WALBERLA_LOG_INFO_ON_ROOT("Using NextNeighbor sync!"); } else if (bSO) { - syncCallWithoutTT = std::bind( pe::syncShadowOwners<BodyTuple>, boost::ref(*forest), storageID, &tt, real_c(0.1), false ); + syncCallWithoutTT = std::bind( pe::syncShadowOwners<BodyTuple>, std::ref(*forest), storageID, &tt, real_c(0.1), false ); WALBERLA_LOG_INFO_ON_ROOT("Using ShadowOwner sync!"); } else { diff --git a/apps/showcases/BidisperseFluidizedBed/BidisperseFluidizedBedDPM.cpp b/apps/showcases/BidisperseFluidizedBed/BidisperseFluidizedBedDPM.cpp index c2f3e7a12..34cb30ae1 100644 --- a/apps/showcases/BidisperseFluidizedBed/BidisperseFluidizedBedDPM.cpp +++ b/apps/showcases/BidisperseFluidizedBed/BidisperseFluidizedBedDPM.cpp @@ -101,7 +101,7 @@ typedef lbm::SimplePressure< LatticeModel_T, flag_t > Outflow_T typedef boost::tuples::tuple< NoSlip_T, Inflow_T, Outflow_T > BoundaryConditions_T; typedef BoundaryHandling<FlagField_T, Stencil_T, BoundaryConditions_T> BoundaryHandling_T; -typedef boost::tuple<pe::Plane, pe::Sphere> BodyTypeTuple ; +typedef std::tuple<pe::Plane, pe::Sphere> BodyTypeTuple ; /////////// // FLAGS // diff --git a/apps/tutorials/pe/01_ConfinedGas.cpp b/apps/tutorials/pe/01_ConfinedGas.cpp index 04728547d..6e0d1f7ab 100644 --- a/apps/tutorials/pe/01_ConfinedGas.cpp +++ b/apps/tutorials/pe/01_ConfinedGas.cpp @@ -27,13 +27,15 @@ #include <core/grid_generator/SCIterator.h> #include <core/logging/Logging.h> #include <core/math/Random.h> + +#include <tuple> //! [Includes] namespace walberla { using namespace walberla::pe; //! [BodyTypeTuple] -typedef boost::tuple<Sphere, Plane> BodyTypeTuple ; +typedef std::tuple<Sphere, Plane> BodyTypeTuple ; //! [BodyTypeTuple] int main( int argc, char ** argv ) diff --git a/apps/tutorials/pe/02_ConfinedGasExtended.cpp b/apps/tutorials/pe/02_ConfinedGasExtended.cpp index 2ada23757..b39cf5f3e 100644 --- a/apps/tutorials/pe/02_ConfinedGasExtended.cpp +++ b/apps/tutorials/pe/02_ConfinedGasExtended.cpp @@ -36,13 +36,14 @@ #include <vtk/VTKOutput.h> #include <functional> +#include <tuple> namespace walberla { using namespace walberla::pe; using namespace walberla::timing; using namespace walberla::pe::raytracing; -typedef boost::tuple<Sphere, Plane> BodyTuple ; +typedef std::tuple<Sphere, Plane> BodyTuple ; int main( int argc, char ** argv ) { diff --git a/src/mesh/pe/rigid_body/ConvexPolyhedron.h b/src/mesh/pe/rigid_body/ConvexPolyhedron.h index 46e95afbd..48f7c8ff1 100644 --- a/src/mesh/pe/rigid_body/ConvexPolyhedron.h +++ b/src/mesh/pe/rigid_body/ConvexPolyhedron.h @@ -140,7 +140,7 @@ private: //** friend declaration /// needed to be able to set static type ids with setStaticTypeID - template <class T> + template <class T, int N> friend struct walberla::pe::SetBodyTypeIDs; }; //************************************************************************************************* diff --git a/src/pe/communication/DynamicMarshalling.h b/src/pe/communication/DynamicMarshalling.h index 032708bff..7786dd4b1 100644 --- a/src/pe/communication/DynamicMarshalling.h +++ b/src/pe/communication/DynamicMarshalling.h @@ -38,7 +38,7 @@ #include "core/Abort.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { diff --git a/src/pe/fcd/AnalyticCollisionDetection.h b/src/pe/fcd/AnalyticCollisionDetection.h index 2bf9513ba..0287f6d8d 100644 --- a/src/pe/fcd/AnalyticCollisionDetection.h +++ b/src/pe/fcd/AnalyticCollisionDetection.h @@ -37,7 +37,7 @@ #include "core/math/Shims.h" #include "geometry/GeometricalFunctions.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { namespace pe { diff --git a/src/pe/fcd/GJKEPACollideFunctor.h b/src/pe/fcd/GJKEPACollideFunctor.h index 051d5bcbc..c163ce145 100644 --- a/src/pe/fcd/GJKEPACollideFunctor.h +++ b/src/pe/fcd/GJKEPACollideFunctor.h @@ -28,7 +28,7 @@ #include "pe/rigidbody/Plane.h" #include "pe/rigidbody/Union.h" #include <pe/Thresholds.h> -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla{ namespace pe{ diff --git a/src/pe/fcd/SimpleFCD.h b/src/pe/fcd/SimpleFCD.h index ba5e45316..e61d39edd 100644 --- a/src/pe/fcd/SimpleFCD.h +++ b/src/pe/fcd/SimpleFCD.h @@ -23,8 +23,7 @@ #include "AnalyticCollisionDetection.h" #include "GenericFCD.h" -#include <boost/type_traits/is_base_of.hpp> -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla{ namespace pe{ diff --git a/src/pe/pe_module.dox b/src/pe/pe_module.dox index 0982c2dbb..58923b0b4 100644 --- a/src/pe/pe_module.dox +++ b/src/pe/pe_module.dox @@ -72,7 +72,7 @@ you should call RigidBody::getTopSuperBody() and then RigidBody::getMass() (RigidBody::getInertia()) using the returned rigid body. \subsection SyncCalls How can I dynamically switch between sync calls? -You can bind the function to a boost function and call this one. +You can bind the function to a std::function and call this one. \snippet 02_ConfinedGasExtended.cpp Bind Sync Call \section CommonFunctions Important Classes and Functions diff --git a/src/pe/raytracing/Intersects.h b/src/pe/raytracing/Intersects.h index 836ee8dc6..eea0f9719 100644 --- a/src/pe/raytracing/Intersects.h +++ b/src/pe/raytracing/Intersects.h @@ -30,7 +30,7 @@ #include "pe/rigidbody/Union.h" #include "pe/utility/BodyCast.h" #include <core/math/Utility.h> -#include <boost/tuple/tuple.hpp> +#include <tuple> #include <pe/raytracing/Ray.h> diff --git a/src/pe/rigidbody/Box.h b/src/pe/rigidbody/Box.h index cd6ab8662..5da39e784 100644 --- a/src/pe/rigidbody/Box.h +++ b/src/pe/rigidbody/Box.h @@ -161,7 +161,7 @@ private: //** friend declaration /// needed to be able to set static type ids with setStaticTypeID - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; }; //************************************************************************************************* diff --git a/src/pe/rigidbody/Capsule.h b/src/pe/rigidbody/Capsule.h index ce6bb8cbe..c2d4c6b46 100644 --- a/src/pe/rigidbody/Capsule.h +++ b/src/pe/rigidbody/Capsule.h @@ -158,7 +158,7 @@ private: //** friend declaration /// needed to be able to set static type ids with setStaticTypeID - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; }; //************************************************************************************************* diff --git a/src/pe/rigidbody/CylindricalBoundary.h b/src/pe/rigidbody/CylindricalBoundary.h index 5d9b4c9d5..c56582c20 100644 --- a/src/pe/rigidbody/CylindricalBoundary.h +++ b/src/pe/rigidbody/CylindricalBoundary.h @@ -113,7 +113,7 @@ private: //** friend declaration /// needed to be able to set static type ids with setStaticTypeID - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; }; //************************************************************************************************* diff --git a/src/pe/rigidbody/Ellipsoid.h b/src/pe/rigidbody/Ellipsoid.h index e723bc1b9..573d77348 100644 --- a/src/pe/rigidbody/Ellipsoid.h +++ b/src/pe/rigidbody/Ellipsoid.h @@ -149,7 +149,7 @@ private: //** friend declaration /// needed to be able to set static type ids with setStaticTypeID - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; }; //************************************************************************************************* diff --git a/src/pe/rigidbody/Plane.h b/src/pe/rigidbody/Plane.h index 996edb3e8..589d11038 100644 --- a/src/pe/rigidbody/Plane.h +++ b/src/pe/rigidbody/Plane.h @@ -166,7 +166,7 @@ private: //** friend declaration /// needed to be able to set static type ids with setStaticTypeID - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; }; //************************************************************************************************* diff --git a/src/pe/rigidbody/SetBodyTypeIDs.h b/src/pe/rigidbody/SetBodyTypeIDs.h index a7a7996d7..a64c627c0 100644 --- a/src/pe/rigidbody/SetBodyTypeIDs.h +++ b/src/pe/rigidbody/SetBodyTypeIDs.h @@ -23,39 +23,42 @@ #include "core/UniqueID.h" #include "core/logging/Logging.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { namespace pe { -template < typename BodyTypeTuple > -struct SetBodyTypeIDs{ +template < typename BodyTypeTuple, int N = std::tuple_size<BodyTypeTuple>::value - 1 > +struct SetBodyTypeIDs +{ /** * \ingroup pe * \brief Initial setup of static type ids. * - * \tparam BodyTypeTuple boost::tuple of all geometries used throughout the simulation + * \tparam BodyTypeTuple std::tuple of all geometries used throughout the simulation * * Each geometry has a unique type id which is used to identify the geometry. * These type ids have to be set at the start of the simulation using this function. * \note You have to call this function on all processes identically. * - * The template parameter is a boost::tuple of geometries used during the simulation. + * The template parameter is a std::tuple of geometries used during the simulation. * Since the tuple is used often a typedef is used. * \snippet PeDocumentationSnippets.cpp Definition BodyTypeTuple * The function call then looks like: * \snippet PeDocumentationSnippets.cpp Definition Setup TypeIds */ static void execute(){ - auto typeID = UniqueID<SetBodyTypeIDs<int> >::createGlobal(); - BodyTypeTuple::head_type::setStaticTypeID( typeID ); + auto typeID = UniqueID<SetBodyTypeIDs<int, 0> >::createGlobal(); + using CastType = typename std::tuple_element<N, BodyTypeTuple>::type; + CastType::setStaticTypeID( typeID ); WALBERLA_LOG_DETAIL_ON_ROOT("SetBodyTypeID " << typeID << " set."); - SetBodyTypeIDs<typename BodyTypeTuple::tail_type>::execute(); + SetBodyTypeIDs<BodyTypeTuple, N - 1>::execute(); } }; -template < > -struct SetBodyTypeIDs< boost::tuples::null_type>{ +template < typename BodyTypeTuple > +struct SetBodyTypeIDs< BodyTypeTuple, -1> +{ static void execute(){ } }; diff --git a/src/pe/rigidbody/Sphere.h b/src/pe/rigidbody/Sphere.h index d062e616c..8efc9bcae 100644 --- a/src/pe/rigidbody/Sphere.h +++ b/src/pe/rigidbody/Sphere.h @@ -158,7 +158,7 @@ private: //** friend declaration /// needed to be able to set static type ids with setStaticTypeID - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; }; //************************************************************************************************* diff --git a/src/pe/rigidbody/Squirmer.h b/src/pe/rigidbody/Squirmer.h index 3dc76acad..5dcf205c4 100644 --- a/src/pe/rigidbody/Squirmer.h +++ b/src/pe/rigidbody/Squirmer.h @@ -84,7 +84,7 @@ private: //** friend declaration /// needed to be able to set static type ids with setStaticTypeID - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; }; diff --git a/src/pe/rigidbody/Union.h b/src/pe/rigidbody/Union.h index fe6e0ce94..02ce734c1 100644 --- a/src/pe/rigidbody/Union.h +++ b/src/pe/rigidbody/Union.h @@ -43,7 +43,7 @@ #include <iostream> #include <stdexcept> -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { namespace pe { @@ -208,7 +208,7 @@ private: //** friend declaration /// needed to be able to set static type ids with setStaticTypeID - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; }; //************************************************************************************************* diff --git a/src/pe/rigidbody/UnionFactory.h b/src/pe/rigidbody/UnionFactory.h index eeff2ffe8..d4b4b98b8 100644 --- a/src/pe/rigidbody/UnionFactory.h +++ b/src/pe/rigidbody/UnionFactory.h @@ -50,7 +50,7 @@ namespace pe { * \ingroup pe * \brief Setup of a new Union. * - * \tparam BodyTypeTuple boost::tuple of all geometries the Union should be able to contain + * \tparam BodyTypeTuple std::tuple of all geometries the Union should be able to contain * \param globalStorage process local global storage * \param blocks storage of all the blocks on this process * \param storageID BlockDataID of the BlockStorage block datum @@ -116,7 +116,7 @@ Union<BodyTypeTuple>* createUnion( BodyStorage& globalStorage, BlockStorage& b * \ingroup pe * \brief Setup of a new Box directly attached to a Union. * - * \tparam BodyTypeTuple boost::tuple of all geometries the Union is able to contain + * \tparam BodyTypeTuple std::tuple of all geometries the Union is able to contain * \exception std::runtime_error Box TypeID not initalized! * \exception std::invalid_argument createBox: Union argument is NULL * \exception std::logic_error createBox: Union is remote @@ -180,7 +180,7 @@ BoxID createBox( Union<BodyTypeTuple>* un, * \ingroup pe * \brief Setup of a new Capsule directly attached to a Union. * - * \tparam BodyTypeTuple boost::tuple of all geometries the Union is able to contain + * \tparam BodyTypeTuple std::tuple of all geometries the Union is able to contain * \exception std::runtime_error Capsule TypeID not initalized! * \exception std::invalid_argument createCapsule: Union argument is NULL * \exception std::logic_error createCapsule: Union is remote @@ -242,7 +242,7 @@ CapsuleID createCapsule( Union<BodyTypeTuple>* un, * \ingroup pe * \brief Setup of a new Sphere directly attached to a Union. * - * \tparam BodyTypeTuple boost::tuple of all geometries the Union is able to contain + * \tparam BodyTypeTuple std::tuple of all geometries the Union is able to contain * \exception std::runtime_error Sphere TypeID not initalized! * \exception std::invalid_argument createSphere: Union argument is NULL * \exception std::logic_error createSphere: Union is remote diff --git a/src/pe/utility/BodyCast.h b/src/pe/utility/BodyCast.h index 93c14befb..2c5456f54 100644 --- a/src/pe/utility/BodyCast.h +++ b/src/pe/utility/BodyCast.h @@ -23,55 +23,56 @@ #include <core/DataTypes.h> #include <pe/rigidbody/RigidBody.h> -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { namespace pe { -template < typename TypeList, typename Functor, typename ReturnType > +template < typename TypeList, typename Functor, typename ReturnType, int N = std::tuple_size<TypeList>::value - 1 > class SingleCast { public: - static ReturnType execute(const id_t typeID, Functor& func){ - static_assert(boost::is_base_of<RigidBody, typename TypeList::head_type>::value, "only downcasting allowed!"); - if (TypeList::head_type::getStaticTypeID() == typeID) + static ReturnType execute(const id_t typeID, Functor& func) + { + using CastBodyType = typename std::tuple_element<N, TypeList>::type; + static_assert(std::is_base_of<RigidBody, CastBodyType>::value, "only downcasting allowed!"); + if (CastBodyType::getStaticTypeID() == typeID) { - typedef typename TypeList::head_type CastBodyType; CastBodyType* bd = NULL; return func( static_cast<CastBodyType *>( bd ) ); } else { - return SingleCast<typename TypeList::tail_type, Functor, ReturnType>::execute(typeID, func); + return SingleCast<TypeList, Functor, ReturnType, N - 1>::execute(typeID, func); } } static ReturnType execute(RigidBody* bd, Functor& func){ - static_assert(boost::is_base_of<RigidBody, typename TypeList::head_type>::value, "only downcasting allowed!"); - if (TypeList::head_type::getStaticTypeID() == bd->getTypeID()) + using CastBodyType = typename std::tuple_element<N, TypeList>::type; + static_assert(std::is_base_of<RigidBody, CastBodyType>::value, "only downcasting allowed!"); + if (CastBodyType::getStaticTypeID() == bd->getTypeID()) { - typedef typename TypeList::head_type CastBodyType; return func( static_cast<CastBodyType *>(bd) ); } else { - return SingleCast<typename TypeList::tail_type, Functor, ReturnType>::execute(bd, func); + return SingleCast<TypeList, Functor, ReturnType, N - 1>::execute(bd, func); } } static ReturnType execute(const RigidBody* bd, Functor& func){ - static_assert(boost::is_base_of<RigidBody, typename TypeList::head_type>::value, "only downcasting allowed!"); - if (TypeList::head_type::getStaticTypeID() == bd->getTypeID()) + using CastBodyType = typename std::tuple_element<N, TypeList>::type; + static_assert(std::is_base_of<RigidBody, CastBodyType>::value, "only downcasting allowed!"); + if (CastBodyType::getStaticTypeID() == bd->getTypeID()) { - typedef typename TypeList::head_type CastBodyType; return func( static_cast<const CastBodyType *>(bd) ); } else { - return SingleCast<typename TypeList::tail_type, Functor, ReturnType>::execute(bd, func); + return SingleCast<TypeList, Functor, ReturnType, N - 1>::execute(bd, func); } } }; -template < typename Functor, typename ReturnType > -struct SingleCast< boost::tuples::null_type, Functor, ReturnType >{ +template < typename TypeList, typename Functor, typename ReturnType > +struct SingleCast< TypeList, Functor, ReturnType, -1 >{ static ReturnType execute(const id_t typeID, Functor& /*func*/) { WALBERLA_ABORT("SingleCast: BodyType could not be determined (" << typeID << ")"); @@ -90,7 +91,11 @@ struct SingleCast< boost::tuples::null_type, Functor, ReturnType >{ } }; -template < typename TypeListA, typename TypeListB, typename Functor, typename ReturnType > +template < typename TypeListA, + typename TypeListB, + typename Functor, + typename ReturnType, + int N = std::tuple_size<TypeListA>::value - 1 > class DoubleCast { private: @@ -118,40 +123,40 @@ private: }; public: static ReturnType execute(RigidBody* a, RigidBody* b, Functor& func){ - static_assert(boost::is_base_of<RigidBody, typename TypeListA::head_type>::value, "only downcasting allowed!"); - if (TypeListA::head_type::getStaticTypeID() == a->getTypeID()) + using CastBodyType = typename std::tuple_element<N, TypeListA>::type; + static_assert(std::is_base_of<RigidBody, CastBodyType>::value, "only downcasting allowed!"); + if (CastBodyType::getStaticTypeID() == a->getTypeID()) { - typedef typename TypeListA::head_type CastBodyType; SingleCastFunctor<CastBodyType> singleFunc( static_cast<CastBodyType *>(a), func); return SingleCast<TypeListB, SingleCastFunctor<CastBodyType>, ReturnType>::execute(b, singleFunc ); } else { - return DoubleCast<typename TypeListA::tail_type, TypeListB, Functor, ReturnType>::execute(a, b, func); + return DoubleCast<TypeListA, TypeListB, Functor, ReturnType, N - 1>::execute(a, b, func); } } static ReturnType execute(const RigidBody* a, const RigidBody* b, Functor& func){ - static_assert(boost::is_base_of<RigidBody, typename TypeListA::head_type>::value, "only downcasting allowed!"); - if (TypeListA::head_type::getStaticTypeID() == a->getTypeID()) + using CastBodyType = typename std::tuple_element<N, TypeListA>::type; + static_assert(std::is_base_of<RigidBody, CastBodyType>::value, "only downcasting allowed!"); + if (CastBodyType::getStaticTypeID() == a->getTypeID()) { - typedef typename TypeListA::head_type CastBodyType; SingleCastConstFunctor<CastBodyType> singleFunc( static_cast<CastBodyType *>(a), func); return SingleCast<TypeListB, SingleCastConstFunctor<CastBodyType>, ReturnType>::execute(b, singleFunc ); } else { - return DoubleCast<typename TypeListA::tail_type, TypeListB, Functor, ReturnType>::execute(a, b, func); + return DoubleCast<TypeListA, TypeListB, Functor, ReturnType, N - 1>::execute(a, b, func); } } }; -template < typename TypeListB, typename Functor, typename ReturnType > -struct DoubleCast< boost::tuples::null_type, TypeListB, Functor, ReturnType >{ +template < typename TypeListA, typename TypeListB, typename Functor, typename ReturnType > +struct DoubleCast< TypeListA, TypeListB, Functor, ReturnType, -1 >{ static ReturnType execute(RigidBody* a, RigidBody* /*b*/, Functor& /*func*/) { WALBERLA_ABORT("DoubleCast: Type of body " << a->getSystemID() << " could not be determined (" << a->getTypeID() << ")"); return ReturnType(); } - static ReturnType execute(const RigidBody* a, const RigidBody* b, Functor& /*func*/) + static ReturnType execute(const RigidBody* a, const RigidBody* /*b*/, Functor& /*func*/) { WALBERLA_ABORT("DoubleCast: Type of body " << a->getSystemID() << " could not be determined (" << a->getTypeID() << ")"); return ReturnType(); diff --git a/src/pe/vtk/SphereVtkOutput.cpp b/src/pe/vtk/SphereVtkOutput.cpp index 7ae03c088..2e68ed497 100644 --- a/src/pe/vtk/SphereVtkOutput.cpp +++ b/src/pe/vtk/SphereVtkOutput.cpp @@ -58,36 +58,36 @@ void SphereVtkOutput::configure() { if (body.getTypeID() == Sphere::getStaticTypeID() || body.getTypeID() == Squirmer::getStaticTypeID()) bodies_.push_back( static_cast<Sphere const *> (&body) ); - if (body.getTypeID() == Union<boost::tuple<Sphere> >::getStaticTypeID()) + if (body.getTypeID() == Union<std::tuple<Sphere> >::getStaticTypeID()) { - auto un = static_cast<Union<boost::tuple<Sphere> > const * > (&body); + auto un = static_cast<Union<std::tuple<Sphere> > const * > (&body); for( auto it2 = un->begin(); it2 != un->end(); ++it2 ) { if (it2->getTypeID() == Sphere::getStaticTypeID()) bodies_.push_back( static_cast<ConstSphereID> (it2.getBodyID()) ); } } - if (body.getTypeID() == Union<boost::tuple<Squirmer> >::getStaticTypeID()) + if (body.getTypeID() == Union<std::tuple<Squirmer> >::getStaticTypeID()) { - auto un = static_cast<Union<boost::tuple<Squirmer> > const * > (&body); + auto un = static_cast<Union<std::tuple<Squirmer> > const * > (&body); for( auto it2 = un->begin(); it2 != un->end(); ++it2 ) { if (it2->getTypeID() == Squirmer::getStaticTypeID()) bodies_.push_back( static_cast<ConstSphereID> (it2.getBodyID()) ); } } - if (body.getTypeID() == Union<boost::tuple<Sphere,Squirmer> >::getStaticTypeID()) + if (body.getTypeID() == Union<std::tuple<Sphere,Squirmer> >::getStaticTypeID()) { - auto un = static_cast<Union<boost::tuple<Sphere,Squirmer> > const * > (&body); + auto un = static_cast<Union<std::tuple<Sphere,Squirmer> > const * > (&body); for( auto it2 = un->begin(); it2 != un->end(); ++it2 ) { if (it2->getTypeID() == Sphere::getStaticTypeID() || it2->getTypeID() == Squirmer::getStaticTypeID()) bodies_.push_back( static_cast<ConstSphereID> (it2.getBodyID()) ); } } - if (body.getTypeID() == Union<boost::tuple<Squirmer,Sphere> >::getStaticTypeID()) + if (body.getTypeID() == Union<std::tuple<Squirmer,Sphere> >::getStaticTypeID()) { - auto un = static_cast<Union<boost::tuple<Squirmer,Sphere> > const * > (&body); + auto un = static_cast<Union<std::tuple<Squirmer,Sphere> > const * > (&body); for( auto it2 = un->begin(); it2 != un->end(); ++it2 ) { if (it2->getTypeID() == Sphere::getStaticTypeID() || it2->getTypeID() == Squirmer::getStaticTypeID()) diff --git a/tests/mesh/MeshMarshalling.cpp b/tests/mesh/MeshMarshalling.cpp index 1ba1fcc21..8b9222a2b 100644 --- a/tests/mesh/MeshMarshalling.cpp +++ b/tests/mesh/MeshMarshalling.cpp @@ -34,18 +34,19 @@ #include "pe/rigidbody/SetBodyTypeIDs.h" #include "pe/Materials.h" -#include <boost/tuple/tuple.hpp> #include <memory> +#include <tuple> + namespace walberla { using namespace walberla::pe; using namespace walberla::pe::communication; -using UnionTypeTuple = boost::tuple<mesh::pe::ConvexPolyhedron>; +using UnionTypeTuple = std::tuple<mesh::pe::ConvexPolyhedron>; using UnionT = Union<UnionTypeTuple>; using UnionID = UnionT *; using UnionPtr = std::unique_ptr<UnionT>; -typedef boost::tuple<mesh::pe::ConvexPolyhedron, UnionT> BodyTuple ; +typedef std::tuple<mesh::pe::ConvexPolyhedron, UnionT> BodyTuple ; std::vector<Vector3<real_t>> generateOctahedron( const real_t radius) { diff --git a/tests/mesh/PeVTKMeshWriterTest.cpp b/tests/mesh/PeVTKMeshWriterTest.cpp index e0a980387..04d44473b 100644 --- a/tests/mesh/PeVTKMeshWriterTest.cpp +++ b/tests/mesh/PeVTKMeshWriterTest.cpp @@ -46,12 +46,13 @@ #include <functional> #include <random> +#include <tuple> using namespace walberla; using namespace walberla::pe; using namespace walberla::mesh::pe; -typedef boost::tuple<ConvexPolyhedron, Plane> BodyTuple ; +typedef std::tuple<ConvexPolyhedron, Plane> BodyTuple ; std::vector<Vector3<real_t>> generatePointCloudCube() { diff --git a/tests/pe/BodyFlags.cpp b/tests/pe/BodyFlags.cpp index dac328391..fa6db7e1c 100644 --- a/tests/pe/BodyFlags.cpp +++ b/tests/pe/BodyFlags.cpp @@ -32,12 +32,12 @@ #include "core/debug/TestSubsystem.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; int main( int argc, char ** argv ) { @@ -131,4 +131,4 @@ int main( int argc, char ** argv ) int main( int argc, char* argv[] ) { return walberla::main( argc, argv ); -} \ No newline at end of file +} diff --git a/tests/pe/BodyIterators.cpp b/tests/pe/BodyIterators.cpp index e53b44a6a..ecfd52647 100644 --- a/tests/pe/BodyIterators.cpp +++ b/tests/pe/BodyIterators.cpp @@ -36,7 +36,7 @@ namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; int main( int argc, char **argv ) { diff --git a/tests/pe/Callback.cpp b/tests/pe/Callback.cpp index 220c02602..ebcbb2cc3 100644 --- a/tests/pe/Callback.cpp +++ b/tests/pe/Callback.cpp @@ -29,7 +29,7 @@ namespace walberla { using namespace walberla::pe; -typedef boost::tuple<Sphere> BodyTypeTuple ; +typedef std::tuple<Sphere> BodyTypeTuple ; enum class State{ LOCALIZED0, SHADOW, MIGRATED, LOCALIZED1, REMOVED}; State state; diff --git a/tests/pe/Collision.cpp b/tests/pe/Collision.cpp index e73d9ac35..e6d528d5a 100644 --- a/tests/pe/Collision.cpp +++ b/tests/pe/Collision.cpp @@ -235,7 +235,7 @@ void CapsuleTest2() void UnionTest() { - using UnionT = Union<boost::tuple<Sphere> >; + using UnionT = Union<std::tuple<Sphere> >; UnionT un1(120, 0, Vec3(0,0,0), Vec3(0,0,0), Quat(), false, true, false); UnionT un2(121, 0, Vec3(real_t(1.5),0,0), Vec3(0,0,0), Quat(), false, true, false); auto sp1 = createSphere(&un1, 123, Vec3(0,0,0), 1); @@ -253,7 +253,7 @@ void UnionTest() Contact( sp1, sp2, Vec3(real_t(0.75), 0, 0), Vec3(-1, 0, 0), real_t(-0.5)) ); } -typedef boost::tuple<Box, Capsule, Plane, Sphere> BodyTuple ; +typedef std::tuple<Box, Capsule, Plane, Sphere> BodyTuple ; int main( int argc, char** argv ) { diff --git a/tests/pe/CollisionTobiasGJK.cpp b/tests/pe/CollisionTobiasGJK.cpp index c6915d86d..fb93470af 100644 --- a/tests/pe/CollisionTobiasGJK.cpp +++ b/tests/pe/CollisionTobiasGJK.cpp @@ -49,7 +49,7 @@ namespace walberla { using namespace walberla::pe; -typedef boost::tuple<Box, Capsule, Plane, Sphere, Union<boost::tuple<Sphere>>, Union<boost::tuple<Sphere, Union<boost::tuple<Sphere>>>>, Ellipsoid> BodyTuple ; +typedef std::tuple<Box, Capsule, Plane, Sphere, Union<std::tuple<Sphere>>, Union<std::tuple<Sphere, Union<std::tuple<Sphere>>>>, Ellipsoid> BodyTuple ; bool gjkEPAcollideHybrid(GeomPrimitive &geom1, GeomPrimitive &geom2, Vec3& normal, Vec3& contactPoint, real_t& penetrationDepth) { @@ -356,20 +356,20 @@ void UnionTest(){ Box box(179, 179, Vec3(0,0,0), Vec3(0,0,0), Quat(), Vec3(real_t(10),real_t(2), real_t(10)), iron, false, true, false); - using UnionT = Union<boost::tuple<Sphere>>; + using UnionT = Union<std::tuple<Sphere>>; auto unsub = std::make_unique<UnionT>(192, 192, Vec3(0,real_t(3.8),0), Vec3(0,0,0), Quat(), false, true, false); auto sp1 = createSphere(unsub.get(), 180, Vec3(-3,real_t(3.8),0), real_t(3.0)); auto sp2 = createSphere(unsub.get(), 181, Vec3(3,real_t(3.8),0), real_t(3.0)); //Create another union, and add sub union - Union<boost::tuple<Sphere, Union<boost::tuple<Sphere>>>> un(193, 193, Vec3(0, 0, 0), Vec3(0,0,0), Quat(), false, true, false); + Union<std::tuple<Sphere, Union<std::tuple<Sphere>>>> un(193, 193, Vec3(0, 0, 0), Vec3(0,0,0), Quat(), false, true, false); createSphere(&un, 182, Vec3(0,real_t(6),0), real_t(3.0)); un.add(std::move(unsub)); PossibleContacts pcs; - pcs.push_back(std::pair<Union<boost::tuple<Sphere,Union<boost::tuple<Sphere>>>>*, Box*>(&un, &box)); + pcs.push_back(std::pair<Union<std::tuple<Sphere,Union<std::tuple<Sphere>>>>*, Box*>(&un, &box)); Contacts& container = testFCD.generateContacts(pcs); WALBERLA_CHECK(container.size() == 2); @@ -397,7 +397,7 @@ void UnionTest(){ pcs.clear(); //Vice Versa - pcs.push_back(std::pair<Box*, Union<boost::tuple<Sphere, Union<boost::tuple<Sphere>>>>* >(&box, &un)); + pcs.push_back(std::pair<Box*, Union<std::tuple<Sphere, Union<std::tuple<Sphere>>>>* >(&box, &un)); container = testFCD.generateContacts(pcs); WALBERLA_CHECK(container.size() == 2); diff --git a/tests/pe/CreateWorld.cpp b/tests/pe/CreateWorld.cpp index 04937a603..08517239d 100644 --- a/tests/pe/CreateWorld.cpp +++ b/tests/pe/CreateWorld.cpp @@ -30,7 +30,7 @@ namespace walberla { using namespace walberla::pe; -typedef boost::tuple<Sphere, Plane> BodyTuple ; +typedef std::tuple<Sphere, Plane> BodyTuple ; int main( int argc, char** argv ) { diff --git a/tests/pe/DeleteBody.cpp b/tests/pe/DeleteBody.cpp index ea6adfbfc..b6729855a 100644 --- a/tests/pe/DeleteBody.cpp +++ b/tests/pe/DeleteBody.cpp @@ -36,7 +36,7 @@ namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; int main( int argc, char** argv ) { diff --git a/tests/pe/DestroyBody.cpp b/tests/pe/DestroyBody.cpp index b2deb57fa..0ca41dac6 100644 --- a/tests/pe/DestroyBody.cpp +++ b/tests/pe/DestroyBody.cpp @@ -34,7 +34,7 @@ namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; int main( int argc, char** argv ) { diff --git a/tests/pe/DynamicRefinement.cpp b/tests/pe/DynamicRefinement.cpp index 454e915a6..40c0a1b6b 100644 --- a/tests/pe/DynamicRefinement.cpp +++ b/tests/pe/DynamicRefinement.cpp @@ -33,7 +33,7 @@ namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; class ReGrid { diff --git a/tests/pe/ForceSync.cpp b/tests/pe/ForceSync.cpp index d19422354..f1e9f2e26 100644 --- a/tests/pe/ForceSync.cpp +++ b/tests/pe/ForceSync.cpp @@ -33,7 +33,7 @@ #include "core/debug/TestSubsystem.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> #include <algorithm> #include <vector> @@ -41,7 +41,7 @@ namespace walberla { using namespace walberla::pe; -typedef boost::tuple<Sphere, Plane> BodyTuple ; +typedef std::tuple<Sphere, Plane> BodyTuple ; int main( int argc, char ** argv ) { diff --git a/tests/pe/HCSITS.cpp b/tests/pe/HCSITS.cpp index 5b8deb155..dc33533eb 100644 --- a/tests/pe/HCSITS.cpp +++ b/tests/pe/HCSITS.cpp @@ -30,7 +30,7 @@ namespace walberla { using namespace walberla::pe; -typedef boost::tuple<Sphere, Plane> BodyTuple ; +typedef std::tuple<Sphere, Plane> BodyTuple ; void normalReactionTest(cr::HCSITS& cr, SphereID sp) { diff --git a/tests/pe/HashGrids.cpp b/tests/pe/HashGrids.cpp index 7d83456a0..8e1b2044f 100644 --- a/tests/pe/HashGrids.cpp +++ b/tests/pe/HashGrids.cpp @@ -34,7 +34,7 @@ namespace walberla { using namespace walberla::pe; -typedef boost::tuple<Sphere, Plane> BodyTuple ; +typedef std::tuple<Sphere, Plane> BodyTuple ; int main( int argc, char** argv ) { diff --git a/tests/pe/LoadFromConfig.cpp b/tests/pe/LoadFromConfig.cpp index 1e22cd6fc..9a81900a7 100644 --- a/tests/pe/LoadFromConfig.cpp +++ b/tests/pe/LoadFromConfig.cpp @@ -27,7 +27,7 @@ #include "core/debug/TestSubsystem.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { using namespace walberla::pe; diff --git a/tests/pe/Marshalling.cpp b/tests/pe/Marshalling.cpp index 8eaa11069..ed1fdce61 100644 --- a/tests/pe/Marshalling.cpp +++ b/tests/pe/Marshalling.cpp @@ -32,18 +32,18 @@ #include "pe/rigidbody/SetBodyTypeIDs.h" #include "pe/Materials.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { using namespace walberla::pe; using namespace walberla::pe::communication; -using UnionTypeTuple = boost::tuple<Sphere>; +using UnionTypeTuple = std::tuple<Sphere>; using UnionT = Union<UnionTypeTuple>; using UnionID = UnionT *; using UnionPtr = std::unique_ptr<UnionT>; -typedef boost::tuple<Box, Capsule, Sphere, Squirmer, UnionT, Ellipsoid> BodyTuple ; +typedef std::tuple<Box, Capsule, Sphere, Squirmer, UnionT, Ellipsoid> BodyTuple ; void testBox() { diff --git a/tests/pe/MinMaxRefinement.cpp b/tests/pe/MinMaxRefinement.cpp index 364005645..782d3235a 100644 --- a/tests/pe/MinMaxRefinement.cpp +++ b/tests/pe/MinMaxRefinement.cpp @@ -42,7 +42,7 @@ #include "core/debug/TestSubsystem.h" #include "core/logging/Logging.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> #include <algorithm> #include <limits> @@ -51,7 +51,7 @@ namespace walberla { using namespace walberla::pe; -typedef boost::tuple<Sphere, Plane> BodyTuple ; +typedef std::tuple<Sphere, Plane> BodyTuple ; int main( int argc, char ** argv ) { diff --git a/tests/pe/ParallelEquivalence.cpp b/tests/pe/ParallelEquivalence.cpp index a8fd5bffe..c5e2d2a8e 100644 --- a/tests/pe/ParallelEquivalence.cpp +++ b/tests/pe/ParallelEquivalence.cpp @@ -31,7 +31,7 @@ #include "core/debug/TestSubsystem.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> #include <algorithm> #include <vector> @@ -41,7 +41,7 @@ using namespace walberla::pe; int runs = 1000; -typedef boost::tuple<Sphere, Plane> BodyTuple ; +typedef std::tuple<Sphere, Plane> BodyTuple ; struct BodyData { diff --git a/tests/pe/PeDocumentationSnippets.cpp b/tests/pe/PeDocumentationSnippets.cpp index e5067ab10..aed806bf5 100644 --- a/tests/pe/PeDocumentationSnippets.cpp +++ b/tests/pe/PeDocumentationSnippets.cpp @@ -38,7 +38,7 @@ #include "core/debug/TestSubsystem.h" #include "vtk/VTKOutput.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> #include <algorithm> #include <vector> @@ -47,13 +47,13 @@ namespace walberla { using namespace walberla::pe; //! [Definition of Union Types] -typedef boost::tuple<Box, Capsule, Sphere> UnionTypeTuple; +typedef std::tuple<Box, Capsule, Sphere> UnionTypeTuple; using UnionT = Union<UnionTypeTuple>; using UnionID = UnionT *; //! [Definition of Union Types] //! [Definition BodyTypeTuple] -typedef boost::tuple<Box, Capsule, Plane, Sphere, UnionT> BodyTypeTuple ; +typedef std::tuple<Box, Capsule, Plane, Sphere, UnionT> BodyTypeTuple ; //! [Definition BodyTypeTuple] int main( int argc, char ** argv ) diff --git a/tests/pe/Raytracing.cpp b/tests/pe/Raytracing.cpp index e8f0f505a..25e925b8a 100644 --- a/tests/pe/Raytracing.cpp +++ b/tests/pe/Raytracing.cpp @@ -38,7 +38,7 @@ namespace walberla { using namespace walberla::pe; using namespace walberla::pe::raytracing; -typedef boost::tuple<Box, Plane, Sphere, Capsule, Ellipsoid> BodyTuple ; +typedef std::tuple<Box, Plane, Sphere, Capsule, Ellipsoid> BodyTuple ; void SphereIntersectsTest() { diff --git a/tests/pe/Refinement.cpp b/tests/pe/Refinement.cpp index 361cc322e..943526d15 100644 --- a/tests/pe/Refinement.cpp +++ b/tests/pe/Refinement.cpp @@ -35,7 +35,7 @@ #include "core/debug/TestSubsystem.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> #include <algorithm> #include <vector> @@ -43,7 +43,7 @@ namespace walberla { using namespace walberla::pe; -typedef boost::tuple<Sphere, Plane> BodyTuple ; +typedef std::tuple<Sphere, Plane> BodyTuple ; class SimpleLB { diff --git a/tests/pe/RefinementWithSpareProcesses.cpp b/tests/pe/RefinementWithSpareProcesses.cpp index 9a6b93462..e4f1d4c80 100644 --- a/tests/pe/RefinementWithSpareProcesses.cpp +++ b/tests/pe/RefinementWithSpareProcesses.cpp @@ -35,7 +35,7 @@ #include "core/debug/TestSubsystem.h" #include "core/grid_generator/SCIterator.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> #include <algorithm> #include <limits> @@ -44,7 +44,7 @@ namespace walberla { using namespace walberla::pe; -typedef boost::tuple<Sphere> BodyTuple ; +typedef std::tuple<Sphere> BodyTuple ; int main( int /*argc*/, char ** /*argv*/, const std::string& LBAlgorithm ) { diff --git a/tests/pe/SerializeDeserialize.cpp b/tests/pe/SerializeDeserialize.cpp index 4a6267aa7..4596f0005 100644 --- a/tests/pe/SerializeDeserialize.cpp +++ b/tests/pe/SerializeDeserialize.cpp @@ -32,12 +32,12 @@ #include "core/debug/TestSubsystem.h" #include "core/grid_generator/SCIterator.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; void createDump() { diff --git a/tests/pe/SetBodyTypeIDs.cpp b/tests/pe/SetBodyTypeIDs.cpp index 6cc599994..72dc3af90 100644 --- a/tests/pe/SetBodyTypeIDs.cpp +++ b/tests/pe/SetBodyTypeIDs.cpp @@ -45,7 +45,7 @@ private: }; class A : public Base{ - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; private: static id_t staticTypeID_; @@ -57,7 +57,7 @@ public: }; class B : public Base{ - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; private: static id_t staticTypeID_; @@ -69,7 +69,7 @@ public: }; class C : public Base{ - template <class T> + template <class T, int N> friend struct SetBodyTypeIDs; private: static id_t staticTypeID_; @@ -114,7 +114,7 @@ int main( int argc, char** argv ) walberla::MPIManager::instance()->initializeMPI( &argc, &argv ); - typedef boost::tuple<A, B, C> BodyTuple ; + typedef std::tuple<A, B, C> BodyTuple ; SetBodyTypeIDs<BodyTuple>::execute(); WALBERLA_CHECK_UNEQUAL(A::getStaticTypeID(), 100); @@ -125,7 +125,7 @@ int main( int argc, char** argv ) WALBERLA_CHECK_UNEQUAL(A::getStaticTypeID(), C::getStaticTypeID()); WALBERLA_CHECK_UNEQUAL(B::getStaticTypeID(), C::getStaticTypeID()); - typedef boost::tuple<Plane, Sphere, Box, Capsule, Union< boost::tuple<Sphere, Box> > > BodyTuple2 ; + typedef std::tuple<Plane, Sphere, Box, Capsule, Union< std::tuple<Sphere, Box> > > BodyTuple2 ; SetBodyTypeIDs<BodyTuple2>::execute(); WALBERLA_CHECK_UNEQUAL(Plane::getStaticTypeID(), Sphere::getStaticTypeID()); WALBERLA_CHECK_UNEQUAL(Plane::getStaticTypeID(), Box::getStaticTypeID()); diff --git a/tests/pe/ShadowCopy.cpp b/tests/pe/ShadowCopy.cpp index bf3f39c92..ff5ff3940 100644 --- a/tests/pe/ShadowCopy.cpp +++ b/tests/pe/ShadowCopy.cpp @@ -34,8 +34,8 @@ namespace walberla { using namespace walberla::pe; -using UnionT = Union<boost::tuple<Sphere> >; -typedef boost::tuple<Sphere, UnionT> BodyTuple ; +using UnionT = Union<std::tuple<Sphere> >; +typedef std::tuple<Sphere, UnionT> BodyTuple ; int main( int argc, char** argv ) { @@ -126,7 +126,7 @@ int main( int argc, char** argv ) destroyBodyBySID( *globalBodyStorage, forest->getBlockStorage(), storageID, sid ); WALBERLA_LOG_PROGRESS_ON_ROOT( " *** UNION *** "); - UnionT* un = createUnion< boost::tuple<Sphere> >( *globalBodyStorage, forest->getBlockStorage(), storageID, 0, Vec3(2,2,2) ); + UnionT* un = createUnion< std::tuple<Sphere> >( *globalBodyStorage, forest->getBlockStorage(), storageID, 0, Vec3(2,2,2) ); auto sp1 = createSphere(un, 10, Vec3(real_t(4.9),2,2), real_t(1)); auto sp2 = createSphere(un, 11, Vec3(3,2,2), real_t(1.5)); un->setPosition( Vec3( real_t(4.9), 2, 2) ); diff --git a/tests/pe/SimpleCCD.cpp b/tests/pe/SimpleCCD.cpp index b1388dab5..3d0d5bc7e 100644 --- a/tests/pe/SimpleCCD.cpp +++ b/tests/pe/SimpleCCD.cpp @@ -36,7 +36,7 @@ namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; int main( int argc, char** argv ) { diff --git a/tests/pe/SyncEquivalence.cpp b/tests/pe/SyncEquivalence.cpp index f15dcd4c7..d17e2f0f1 100644 --- a/tests/pe/SyncEquivalence.cpp +++ b/tests/pe/SyncEquivalence.cpp @@ -44,7 +44,7 @@ namespace walberla { using namespace walberla::pe; using namespace walberla::timing; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; struct BodyData { diff --git a/tests/pe/Synchronization.cpp b/tests/pe/Synchronization.cpp index 646e6d239..3693e9ab8 100644 --- a/tests/pe/Synchronization.cpp +++ b/tests/pe/Synchronization.cpp @@ -31,12 +31,12 @@ #include "core/debug/TestSubsystem.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; void checkSphere(StructuredBlockForest& forest, BlockDataID storageID, walberla::id_t sid, Sphere& ref, const Vec3& newPos) { diff --git a/tests/pe/SynchronizationDelete.cpp b/tests/pe/SynchronizationDelete.cpp index 6b649c298..1d9c48b2e 100644 --- a/tests/pe/SynchronizationDelete.cpp +++ b/tests/pe/SynchronizationDelete.cpp @@ -31,12 +31,12 @@ #include "core/debug/TestSubsystem.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; void integrate(StructuredBlockForest& forest, BlockDataID storageID, const real_t dt) { diff --git a/tests/pe/SynchronizationLargeBody.cpp b/tests/pe/SynchronizationLargeBody.cpp index 3846a2b55..28fdc39d1 100644 --- a/tests/pe/SynchronizationLargeBody.cpp +++ b/tests/pe/SynchronizationLargeBody.cpp @@ -30,12 +30,12 @@ #include "core/debug/TestSubsystem.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> namespace walberla { using namespace walberla::pe; -using BodyTuple = boost::tuple<Sphere> ; +using BodyTuple = std::tuple<Sphere> ; // checkSphere without dx void checkSphere(StructuredBlockForest& forest, BlockDataID storageID, walberla::id_t sid, SphereID ref, const Vec3& newPos) diff --git a/tests/pe/Union.cpp b/tests/pe/Union.cpp index 91db8412e..ce0ea5e96 100644 --- a/tests/pe/Union.cpp +++ b/tests/pe/Union.cpp @@ -36,7 +36,7 @@ #include "core/debug/TestSubsystem.h" #include "vtk/VTKOutput.h" -#include <boost/tuple/tuple.hpp> +#include <tuple> #include <algorithm> #include <vector> @@ -44,8 +44,8 @@ namespace walberla { using namespace walberla::pe; -using UnionType = Union<boost::tuple<Sphere> > ; -typedef boost::tuple<Sphere, Plane, UnionType> BodyTuple ; +using UnionType = Union<std::tuple<Sphere> > ; +typedef std::tuple<Sphere, Plane, UnionType> BodyTuple ; void SnowManFallingOnPlane() { @@ -75,7 +75,7 @@ void SnowManFallingOnPlane() createPlane( *globalBodyStorage, 0, Vec3(0,0,1), Vec3(0,0,0) ); - UnionType* un = createUnion< boost::tuple<Sphere> >( *globalBodyStorage, forest->getBlockStorage(), storageID, 0, Vec3(5,5,5) ); + UnionType* un = createUnion< std::tuple<Sphere> >( *globalBodyStorage, forest->getBlockStorage(), storageID, 0, Vec3(5,5,5) ); auto sp1 = createSphere(un, 10, Vec3(5,5,1), real_t(1)); auto sp2 = createSphere(un, 11, Vec3(real_t(6.7),5,real_t(1.2)), real_t(1.1)); diff --git a/tests/pe_coupling/discrete_particle_methods/HinderedSettlingDynamicsDPM.cpp b/tests/pe_coupling/discrete_particle_methods/HinderedSettlingDynamicsDPM.cpp index f3dc7905e..512f650d9 100644 --- a/tests/pe_coupling/discrete_particle_methods/HinderedSettlingDynamicsDPM.cpp +++ b/tests/pe_coupling/discrete_particle_methods/HinderedSettlingDynamicsDPM.cpp @@ -91,7 +91,7 @@ typedef lbm::NoSlip< LatticeModel_T, flag_t > NoSlip_T; using BoundaryConditions_T = boost::tuples::tuple<NoSlip_T>; typedef BoundaryHandling<FlagField_T, Stencil_T, BoundaryConditions_T> BoundaryHandling_T; -typedef boost::tuple<pe::Plane, pe::Sphere> BodyTypeTuple ; +typedef std::tuple<pe::Plane, pe::Sphere> BodyTypeTuple ; /////////// // FLAGS // diff --git a/tests/pe_coupling/discrete_particle_methods/SphereWallCollisionBehaviorDPM.cpp b/tests/pe_coupling/discrete_particle_methods/SphereWallCollisionBehaviorDPM.cpp index f40e6156d..f1ae8d8c0 100644 --- a/tests/pe_coupling/discrete_particle_methods/SphereWallCollisionBehaviorDPM.cpp +++ b/tests/pe_coupling/discrete_particle_methods/SphereWallCollisionBehaviorDPM.cpp @@ -90,7 +90,7 @@ typedef lbm::NoSlip< LatticeModel_T, flag_t > NoSlip_T; using BoundaryConditions_T = boost::tuples::tuple<NoSlip_T>; typedef BoundaryHandling<FlagField_T, Stencil_T, BoundaryConditions_T> BoundaryHandling_T; -typedef boost::tuple<pe::Plane, pe::Sphere> BodyTypeTuple ; +typedef std::tuple<pe::Plane, pe::Sphere> BodyTypeTuple ; /////////// // FLAGS // diff --git a/tests/pe_coupling/geometry/PeIntersectionRatioTest.cpp b/tests/pe_coupling/geometry/PeIntersectionRatioTest.cpp index 1ad423385..496f7db51 100644 --- a/tests/pe_coupling/geometry/PeIntersectionRatioTest.cpp +++ b/tests/pe_coupling/geometry/PeIntersectionRatioTest.cpp @@ -41,7 +41,7 @@ namespace pe_intersection_ratio_test using namespace walberla; -typedef boost::tuple<pe::Sphere, pe::Plane, pe::Ellipsoid> BodyTypeTuple; +typedef std::tuple<pe::Sphere, pe::Plane, pe::Ellipsoid> BodyTypeTuple; /*!\brief TODO */ diff --git a/tests/pe_coupling/momentum_exchange_method/BodyAtBlockBoarderCheck.cpp b/tests/pe_coupling/momentum_exchange_method/BodyAtBlockBoarderCheck.cpp index c7ac8a324..e70fe7f8e 100644 --- a/tests/pe_coupling/momentum_exchange_method/BodyAtBlockBoarderCheck.cpp +++ b/tests/pe_coupling/momentum_exchange_method/BodyAtBlockBoarderCheck.cpp @@ -95,7 +95,7 @@ typedef pe_coupling::SimpleBB< LatticeModel_T, FlagField_T > MO_T; using BoundaryConditions_T = boost::tuples::tuple<MO_T>; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/BodyMappingTest.cpp b/tests/pe_coupling/momentum_exchange_method/BodyMappingTest.cpp index 695b87400..59a224fe3 100644 --- a/tests/pe_coupling/momentum_exchange_method/BodyMappingTest.cpp +++ b/tests/pe_coupling/momentum_exchange_method/BodyMappingTest.cpp @@ -77,7 +77,7 @@ typedef pe_coupling::SimpleBB< LatticeModel_T, FlagField_T > MO_T; typedef boost::tuples::tuple< NoSlip_T, MO_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/DragForceSphereMEM.cpp b/tests/pe_coupling/momentum_exchange_method/DragForceSphereMEM.cpp index 0c717fb15..3d07ede20 100644 --- a/tests/pe_coupling/momentum_exchange_method/DragForceSphereMEM.cpp +++ b/tests/pe_coupling/momentum_exchange_method/DragForceSphereMEM.cpp @@ -95,7 +95,7 @@ typedef pe_coupling::CurvedQuadratic< LatticeModel_T, FlagField_T > MO_MR_T; typedef boost::tuples::tuple< MO_BB_T, MO_CLI_T, MO_MR_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/DragForceSphereMEMRefinement.cpp b/tests/pe_coupling/momentum_exchange_method/DragForceSphereMEMRefinement.cpp index 1f61e239c..ade3a8f05 100644 --- a/tests/pe_coupling/momentum_exchange_method/DragForceSphereMEMRefinement.cpp +++ b/tests/pe_coupling/momentum_exchange_method/DragForceSphereMEMRefinement.cpp @@ -103,7 +103,7 @@ typedef pe_coupling::CurvedLinear < LatticeModel_T, FlagField_T > MO_CLI_T; typedef boost::tuples::tuple< MO_BB_T, MO_CLI_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/GlobalBodyAsBoundaryMEMStaticRefinement.cpp b/tests/pe_coupling/momentum_exchange_method/GlobalBodyAsBoundaryMEMStaticRefinement.cpp index b494339bb..a2b9a3105 100644 --- a/tests/pe_coupling/momentum_exchange_method/GlobalBodyAsBoundaryMEMStaticRefinement.cpp +++ b/tests/pe_coupling/momentum_exchange_method/GlobalBodyAsBoundaryMEMStaticRefinement.cpp @@ -95,7 +95,7 @@ typedef pe_coupling::SimpleBB< LatticeModel_T, FlagField_T > MO_SBB_T; using BoundaryConditions_T = boost::tuples::tuple<MO_SBB_T>; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -using BodyTypeTuple = boost::tuple<pe::Plane>; +using BodyTypeTuple = std::tuple<pe::Plane>; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/LubricationCorrectionMEM.cpp b/tests/pe_coupling/momentum_exchange_method/LubricationCorrectionMEM.cpp index f1b545ec0..db7d357fa 100644 --- a/tests/pe_coupling/momentum_exchange_method/LubricationCorrectionMEM.cpp +++ b/tests/pe_coupling/momentum_exchange_method/LubricationCorrectionMEM.cpp @@ -99,7 +99,7 @@ typedef boost::tuples::tuple< FreeSlip_T, MO_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple<pe::Sphere, pe::Plane> BodyTypeTuple ; +typedef std::tuple<pe::Sphere, pe::Plane> BodyTypeTuple ; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/PeriodicParticleChannelMEM.cpp b/tests/pe_coupling/momentum_exchange_method/PeriodicParticleChannelMEM.cpp index 678aa5822..b130bb7d0 100644 --- a/tests/pe_coupling/momentum_exchange_method/PeriodicParticleChannelMEM.cpp +++ b/tests/pe_coupling/momentum_exchange_method/PeriodicParticleChannelMEM.cpp @@ -100,7 +100,7 @@ typedef pe_coupling::SimpleBB< LatticeModel_T, FlagField_T > MO_T; typedef boost::tuples::tuple< NoSlip_T, UBB_T, MO_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; +typedef std::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/SegreSilberbergMEM.cpp b/tests/pe_coupling/momentum_exchange_method/SegreSilberbergMEM.cpp index ca31d9392..c074a75ee 100644 --- a/tests/pe_coupling/momentum_exchange_method/SegreSilberbergMEM.cpp +++ b/tests/pe_coupling/momentum_exchange_method/SegreSilberbergMEM.cpp @@ -102,7 +102,7 @@ typedef pe_coupling::CurvedQuadratic< LatticeModel_T, FlagField_T > MO_MR_T; typedef boost::tuples::tuple< NoSlip_T, MO_BB_T, MO_CLI_T, MO_MR_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; +typedef std::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEM.cpp b/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEM.cpp index 482bc1883..c1cc240d4 100644 --- a/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEM.cpp +++ b/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEM.cpp @@ -98,7 +98,7 @@ typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_T; typedef boost::tuples::tuple< NoSlip_T, MO_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; +typedef std::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEMDynamicRefinement.cpp b/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEMDynamicRefinement.cpp index c7be45528..a8888df59 100644 --- a/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEMDynamicRefinement.cpp +++ b/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEMDynamicRefinement.cpp @@ -104,7 +104,7 @@ typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_T; typedef boost::tuples::tuple< NoSlip_T, MO_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; +typedef std::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEMStaticRefinement.cpp b/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEMStaticRefinement.cpp index f0863496b..9e1407c26 100644 --- a/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEMStaticRefinement.cpp +++ b/tests/pe_coupling/momentum_exchange_method/SettlingSphereMEMStaticRefinement.cpp @@ -100,7 +100,7 @@ typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_T; typedef boost::tuples::tuple< NoSlip_T, MO_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; +typedef std::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/SquirmerTest.cpp b/tests/pe_coupling/momentum_exchange_method/SquirmerTest.cpp index 1d3bab503..0c8a6ccac 100644 --- a/tests/pe_coupling/momentum_exchange_method/SquirmerTest.cpp +++ b/tests/pe_coupling/momentum_exchange_method/SquirmerTest.cpp @@ -97,7 +97,7 @@ typedef pe_coupling::SimpleBB<LatticeModel_T, FlagField_T> MO_BB_T; using BoundaryConditions_T = boost::tuples::tuple<MO_BB_T>; typedef BoundaryHandling<FlagField_T, Stencil_T, BoundaryConditions_T> BoundaryHandling_T; -using BodyTypeTuple = boost::tuple<pe::Squirmer>; +using BodyTypeTuple = std::tuple<pe::Squirmer>; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/TaylorCouetteFlowMEM.cpp b/tests/pe_coupling/momentum_exchange_method/TaylorCouetteFlowMEM.cpp index b654d5dfa..7f6e65923 100644 --- a/tests/pe_coupling/momentum_exchange_method/TaylorCouetteFlowMEM.cpp +++ b/tests/pe_coupling/momentum_exchange_method/TaylorCouetteFlowMEM.cpp @@ -89,7 +89,7 @@ typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_T; using BoundaryConditions_T = boost::tuples::tuple<MO_T>; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple< pe::Capsule, pe::CylindricalBoundary > BodyTypeTuple; +typedef std::tuple< pe::Capsule, pe::CylindricalBoundary > BodyTypeTuple; /////////// // FLAGS // diff --git a/tests/pe_coupling/momentum_exchange_method/TorqueSphereMEM.cpp b/tests/pe_coupling/momentum_exchange_method/TorqueSphereMEM.cpp index dd90350c7..c76d112cd 100644 --- a/tests/pe_coupling/momentum_exchange_method/TorqueSphereMEM.cpp +++ b/tests/pe_coupling/momentum_exchange_method/TorqueSphereMEM.cpp @@ -95,7 +95,7 @@ typedef pe_coupling::CurvedQuadratic< LatticeModel_T, FlagField_T > MO_MR_T; typedef boost::tuples::tuple< MO_BB_T, MO_CLI_T, MO_MR_T > BoundaryConditions_T; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /////////// // FLAGS // diff --git a/tests/pe_coupling/partially_saturated_cells_method/DragForceSpherePSM.cpp b/tests/pe_coupling/partially_saturated_cells_method/DragForceSpherePSM.cpp index 1fadccab9..969b81d62 100644 --- a/tests/pe_coupling/partially_saturated_cells_method/DragForceSpherePSM.cpp +++ b/tests/pe_coupling/partially_saturated_cells_method/DragForceSpherePSM.cpp @@ -87,7 +87,7 @@ using FlagField_T = FlagField<flag_t>; typedef std::pair< pe::BodyID, real_t > BodyAndVolumeFraction_T; typedef GhostLayerField< std::vector< BodyAndVolumeFraction_T >, 1 > BodyAndVolumeFractionField_T; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /////////// // FLAGS // diff --git a/tests/pe_coupling/partially_saturated_cells_method/DragForceSpherePSMRefinement.cpp b/tests/pe_coupling/partially_saturated_cells_method/DragForceSpherePSMRefinement.cpp index bb890e698..092c0ea36 100644 --- a/tests/pe_coupling/partially_saturated_cells_method/DragForceSpherePSMRefinement.cpp +++ b/tests/pe_coupling/partially_saturated_cells_method/DragForceSpherePSMRefinement.cpp @@ -102,7 +102,7 @@ typedef lbm::NoSlip< LatticeModel_T, flag_t > NoSlip_T; using BoundaryConditions_T = boost::tuples::tuple<NoSlip_T>; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /////////// // FLAGS // diff --git a/tests/pe_coupling/partially_saturated_cells_method/SegreSilberbergPSM.cpp b/tests/pe_coupling/partially_saturated_cells_method/SegreSilberbergPSM.cpp index 935a0c1d5..deb8f6896 100644 --- a/tests/pe_coupling/partially_saturated_cells_method/SegreSilberbergPSM.cpp +++ b/tests/pe_coupling/partially_saturated_cells_method/SegreSilberbergPSM.cpp @@ -100,7 +100,7 @@ typedef lbm::NoSlip< LatticeModel_T, flag_t > NoSlip_T; using BoundaryConditions_T = boost::tuples::tuple<NoSlip_T>; typedef BoundaryHandling< FlagField_T, Stencil_T, BoundaryConditions_T > BoundaryHandling_T; -typedef boost::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; +typedef std::tuple< pe::Sphere, pe::Plane > BodyTypeTuple; /////////// // FLAGS // diff --git a/tests/pe_coupling/partially_saturated_cells_method/TorqueSpherePSM.cpp b/tests/pe_coupling/partially_saturated_cells_method/TorqueSpherePSM.cpp index c63f974e8..60a0e97be 100644 --- a/tests/pe_coupling/partially_saturated_cells_method/TorqueSpherePSM.cpp +++ b/tests/pe_coupling/partially_saturated_cells_method/TorqueSpherePSM.cpp @@ -86,7 +86,7 @@ using FlagField_T = FlagField<flag_t>; typedef std::pair< pe::BodyID, real_t > BodyAndVolumeFraction_T; typedef GhostLayerField< std::vector< BodyAndVolumeFraction_T >, 1 > BodyAndVolumeFractionField_T; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /////////// // FLAGS // diff --git a/tests/pe_coupling/utility/BodiesForceTorqueContainerTest.cpp b/tests/pe_coupling/utility/BodiesForceTorqueContainerTest.cpp index bf84cbe06..11305884e 100644 --- a/tests/pe_coupling/utility/BodiesForceTorqueContainerTest.cpp +++ b/tests/pe_coupling/utility/BodiesForceTorqueContainerTest.cpp @@ -40,7 +40,7 @@ namespace force_torque_container_test using namespace walberla; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /*!\brief Test cases for the force torque container provided by the coupling module diff --git a/tests/pe_coupling/utility/PeSubCyclingTest.cpp b/tests/pe_coupling/utility/PeSubCyclingTest.cpp index 54268c111..0afcd7c9f 100644 --- a/tests/pe_coupling/utility/PeSubCyclingTest.cpp +++ b/tests/pe_coupling/utility/PeSubCyclingTest.cpp @@ -41,7 +41,7 @@ namespace pe_sub_cycling_test using namespace walberla; -using BodyTypeTuple = boost::tuple<pe::Sphere> ; +using BodyTypeTuple = std::tuple<pe::Sphere> ; /*!\brief test case to check functionality of sub cycling in the pe time step provided by the coupling module * -- GitLab