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 325ce2d40..02ef857aa 100644 --- a/gtsam/base/Lie.h +++ b/gtsam/base/Lie.h @@ -282,7 +282,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 21c8710f1..1a486886d 100644 --- a/gtsam/base/VectorSpace.h +++ b/gtsam/base/VectorSpace.h @@ -177,7 +177,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 @@ -492,7 +492,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)"); 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