support 4 concept asserts
							parent
							
								
									7afccbc446
								
							
						
					
					
						commit
						29c25970ad
					
				|  | @ -15,14 +15,17 @@ | |||
| #define GTSAM_CONCEPT_ASSERT1(concept) BOOST_CONCEPT_ASSERT((concept)) | ||||
| #define GTSAM_CONCEPT_ASSERT2(concept) BOOST_CONCEPT_ASSERT((concept)) | ||||
| #define GTSAM_CONCEPT_ASSERT3(concept) BOOST_CONCEPT_ASSERT((concept)) | ||||
| #define GTSAM_CONCEPT_ASSERT4(concept) BOOST_CONCEPT_ASSERT((concept)) | ||||
| #define GTSAM_CONCEPT_REQUIRES(concept, return_type) BOOST_CONCEPT_REQUIRES((concept), (return_type)) | ||||
| #else  | ||||
| // These do something sensible:
 | ||||
| #define GTSAM_CONCEPT_USAGE(concept) void check##concept() | ||||
| // TODO(dellaert): would be nice if it was a single macro...
 | ||||
| #define GTSAM_CONCEPT_ASSERT(concept) concept checkConcept [[maybe_unused]]; | ||||
| #define GTSAM_CONCEPT_ASSERT1(concept) concept checkConcept1 [[maybe_unused]]; | ||||
| #define GTSAM_CONCEPT_ASSERT2(concept) concept checkConcept2 [[maybe_unused]]; | ||||
| #define GTSAM_CONCEPT_ASSERT3(concept) concept checkConcept3 [[maybe_unused]]; | ||||
| #define GTSAM_CONCEPT_ASSERT4(concept) concept checkConcept4 [[maybe_unused]]; | ||||
| // This one just ignores concept for now:
 | ||||
| #define GTSAM_CONCEPT_REQUIRES(concept, return_type) return_type | ||||
| #endif | ||||
|  |  | |||
|  | @ -38,26 +38,26 @@ typedef PinholeCamera<Cal3Bundler> Camera; | |||
| //******************************************************************************
 | ||||
| TEST(Manifold, SomeManifoldsGTSAM) { | ||||
|   //GTSAM_CONCEPT_ASSERT(IsManifold<int>); // integer is not a manifold
 | ||||
|   GTSAM_CONCEPT_ASSERT(IsManifold<Camera>); | ||||
|   GTSAM_CONCEPT_ASSERT(IsManifold<Cal3_S2>); | ||||
|   GTSAM_CONCEPT_ASSERT(IsManifold<Cal3Bundler>); | ||||
|   GTSAM_CONCEPT_ASSERT(IsManifold<Camera>); | ||||
|   GTSAM_CONCEPT_ASSERT1(IsManifold<Camera>); | ||||
|   GTSAM_CONCEPT_ASSERT2(IsManifold<Cal3_S2>); | ||||
|   GTSAM_CONCEPT_ASSERT3(IsManifold<Cal3Bundler>); | ||||
|   GTSAM_CONCEPT_ASSERT4(IsManifold<Camera>); | ||||
| } | ||||
| 
 | ||||
| //******************************************************************************
 | ||||
| TEST(Manifold, SomeLieGroupsGTSAM) { | ||||
|   GTSAM_CONCEPT_ASSERT(IsLieGroup<Rot2>); | ||||
|   GTSAM_CONCEPT_ASSERT(IsLieGroup<Pose2>); | ||||
|   GTSAM_CONCEPT_ASSERT(IsLieGroup<Rot3>); | ||||
|   GTSAM_CONCEPT_ASSERT(IsLieGroup<Pose3>); | ||||
|   GTSAM_CONCEPT_ASSERT1(IsLieGroup<Rot2>); | ||||
|   GTSAM_CONCEPT_ASSERT2(IsLieGroup<Pose2>); | ||||
|   GTSAM_CONCEPT_ASSERT3(IsLieGroup<Rot3>); | ||||
|   GTSAM_CONCEPT_ASSERT4(IsLieGroup<Pose3>); | ||||
| } | ||||
| 
 | ||||
| //******************************************************************************
 | ||||
| TEST(Manifold, SomeVectorSpacesGTSAM) { | ||||
|   GTSAM_CONCEPT_ASSERT(IsVectorSpace<double>); | ||||
|   GTSAM_CONCEPT_ASSERT(IsVectorSpace<float>); | ||||
|   GTSAM_CONCEPT_ASSERT(IsVectorSpace<Point2>); | ||||
|   GTSAM_CONCEPT_ASSERT(IsVectorSpace<Matrix24>); | ||||
|   GTSAM_CONCEPT_ASSERT1(IsVectorSpace<double>); | ||||
|   GTSAM_CONCEPT_ASSERT2(IsVectorSpace<float>); | ||||
|   GTSAM_CONCEPT_ASSERT3(IsVectorSpace<Point2>); | ||||
|   GTSAM_CONCEPT_ASSERT4(IsVectorSpace<Matrix24>); | ||||
| } | ||||
| 
 | ||||
| //******************************************************************************
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue