From d5aa068a0c89c80e77928f0a26ad581530eacd59 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Sun, 9 Mar 2025 12:10:06 -0400 Subject: [PATCH 1/2] use GTSAM_CONCEPT_USAGE in lieu of BOOST_CONCEPT_USAGE --- gtsam/base/concepts.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gtsam/base/concepts.h b/gtsam/base/concepts.h index ec02c7e57..e097c81bd 100644 --- a/gtsam/base/concepts.h +++ b/gtsam/base/concepts.h @@ -17,9 +17,10 @@ #include #define GTSAM_CONCEPT_ASSERT(concept) BOOST_CONCEPT_ASSERT((concept)) #define GTSAM_CONCEPT_REQUIRES(concept, return_type) BOOST_CONCEPT_REQUIRES(((concept)), (return_type)) +#define GTSAM_CONCEPT_USAGE BOOST_CONCEPT_USAGE #else // This does something sensible: -#define BOOST_CONCEPT_USAGE(concept) void check##concept() +#define GTSAM_CONCEPT_USAGE(concept) void check##concept() // These just ignore the concept checking for now: #define GTSAM_CONCEPT_ASSERT(concept) static_assert(true, "") #define GTSAM_CONCEPT_REQUIRES(concept, return_type) return_type From 92b4d7b2ebb12ad3b950b823dc14220bd9bdef44 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Sun, 9 Mar 2025 12:10:54 -0400 Subject: [PATCH 2/2] replace BOOST_CONCEPT_USAGE with GTSAM_CONCEPT_USAGE --- gtsam/base/Group.h | 2 +- gtsam/base/Lie.h | 2 +- gtsam/base/Manifold.h | 4 ++-- gtsam/base/Testable.h | 4 ++-- gtsam/base/VectorSpace.h | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gtsam/base/Group.h b/gtsam/base/Group.h index 09534efc3..668d583ad 100644 --- a/gtsam/base/Group.h +++ b/gtsam/base/Group.h @@ -45,7 +45,7 @@ public: typedef typename traits::group_flavor flavor_tag; //typedef typename traits::identity::value_type identity_value_type; - BOOST_CONCEPT_USAGE(IsGroup) { + GTSAM_CONCEPT_USAGE(IsGroup) { static_assert( (std::is_base_of::value), "This type's structure_category trait does not assert it as a group (or derived)"); diff --git a/gtsam/base/Lie.h b/gtsam/base/Lie.h index ce6541d21..52bd2365a 100644 --- a/gtsam/base/Lie.h +++ b/gtsam/base/Lie.h @@ -264,7 +264,7 @@ public: typedef typename traits::TangentVector TangentVector; typedef typename traits::ChartJacobian ChartJacobian; - BOOST_CONCEPT_USAGE(IsLieGroup) { + GTSAM_CONCEPT_USAGE(IsLieGroup) { static_assert( (std::is_base_of::value), "This type's trait does not assert it is a Lie group (or derived)"); diff --git a/gtsam/base/Manifold.h b/gtsam/base/Manifold.h index 922b8dd2f..80a9cd166 100644 --- a/gtsam/base/Manifold.h +++ b/gtsam/base/Manifold.h @@ -61,7 +61,7 @@ struct HasManifoldPrereqs { Eigen::Matrix v; OptionalJacobian Hp, Hq, Hv; - BOOST_CONCEPT_USAGE(HasManifoldPrereqs) { + GTSAM_CONCEPT_USAGE(HasManifoldPrereqs) { v = p.localCoordinates(q); q = p.retract(v); } @@ -139,7 +139,7 @@ public: typedef typename traits::ManifoldType ManifoldType; typedef typename traits::TangentVector TangentVector; - BOOST_CONCEPT_USAGE(IsManifold) { + GTSAM_CONCEPT_USAGE(IsManifold) { static_assert( (std::is_base_of::value), "This type's structure_category trait does not assert it as a manifold (or derived)"); diff --git a/gtsam/base/Testable.h b/gtsam/base/Testable.h index 8eb6326c0..412b69f7e 100644 --- a/gtsam/base/Testable.h +++ b/gtsam/base/Testable.h @@ -61,7 +61,7 @@ namespace gtsam { bool r1,r2; public: - BOOST_CONCEPT_USAGE(IsTestable) { + GTSAM_CONCEPT_USAGE(IsTestable) { // check print function, with optional string traits::Print(t, std::string()); traits::Print(t); @@ -134,7 +134,7 @@ namespace gtsam { template struct HasTestablePrereqs { - BOOST_CONCEPT_USAGE(HasTestablePrereqs) { + GTSAM_CONCEPT_USAGE(HasTestablePrereqs) { t->print(str); b = t->equals(*s,tol); } diff --git a/gtsam/base/VectorSpace.h b/gtsam/base/VectorSpace.h index c5c4ad622..2bfafcb42 100644 --- a/gtsam/base/VectorSpace.h +++ b/gtsam/base/VectorSpace.h @@ -168,7 +168,7 @@ struct HasVectorSpacePrereqs { Class p, q; Vector v; - BOOST_CONCEPT_USAGE(HasVectorSpacePrereqs) { + GTSAM_CONCEPT_USAGE(HasVectorSpacePrereqs) { p = Class::Identity(); // identity q = p + p; // addition q = p - p; // subtraction @@ -472,7 +472,7 @@ public: typedef typename traits::structure_category structure_category_tag; - BOOST_CONCEPT_USAGE(IsVectorSpace) { + GTSAM_CONCEPT_USAGE(IsVectorSpace) { static_assert( (std::is_base_of::value), "This type's trait does not assert it as a vector space (or derived)");