Removed need in wrap to end namespaces in special non-standard tag - can now just use }

release/4.3a0
Alex Cunningham 2012-07-23 14:09:44 +00:00
parent e7e564268d
commit ece5888cac
3 changed files with 11 additions and 13 deletions

15
gtsam.h
View File

@ -36,8 +36,7 @@
* Namespace definitions * Namespace definitions
* - Names of namespaces must start with a lowercase letter * - Names of namespaces must start with a lowercase letter
* - start a namespace with "namespace {" * - start a namespace with "namespace {"
* - end a namespace with exactly "}///\namespace [namespace_name]", optionally adding the name of the namespace * - end a namespace with exactly "}"
* - This ending is not C++ standard, and must contain "}///\namespace" to parse
* - Namespaces can be nested * - Namespaces can be nested
* Namespace usage * Namespace usage
* - Namespaces can be specified for classes in arguments and return values * - Namespaces can be specified for classes in arguments and return values
@ -1363,7 +1362,7 @@ virtual class GenericProjectionFactor : gtsam::NonlinearFactor {
typedef gtsam::GenericProjectionFactor<gtsam::Pose3, gtsam::Point3, gtsam::Cal3_S2> GenericProjectionFactorCal3_S2; typedef gtsam::GenericProjectionFactor<gtsam::Pose3, gtsam::Point3, gtsam::Cal3_S2> GenericProjectionFactorCal3_S2;
typedef gtsam::GenericProjectionFactor<gtsam::Pose3, gtsam::Point3, gtsam::Cal3DS2> GenericProjectionFactorCal3DS2; typedef gtsam::GenericProjectionFactor<gtsam::Pose3, gtsam::Point3, gtsam::Cal3DS2> GenericProjectionFactorCal3DS2;
}///\namespace gtsam } //\namespace gtsam
//************************************************************************* //*************************************************************************
// Pose2SLAM // Pose2SLAM
@ -1418,7 +1417,7 @@ class Graph {
gtsam::Marginals marginals(const pose2SLAM::Values& solution) const; gtsam::Marginals marginals(const pose2SLAM::Values& solution) const;
}; };
}///\namespace pose2SLAM } //\namespace pose2SLAM
//************************************************************************* //*************************************************************************
// Pose3SLAM // Pose3SLAM
@ -1473,7 +1472,7 @@ class Graph {
gtsam::Marginals marginals(const pose3SLAM::Values& solution) const; gtsam::Marginals marginals(const pose3SLAM::Values& solution) const;
}; };
}///\namespace pose3SLAM } //\namespace pose3SLAM
//************************************************************************* //*************************************************************************
// planarSLAM // planarSLAM
@ -1561,7 +1560,7 @@ class Odometry {
const gtsam::Ordering& ordering) const; const gtsam::Ordering& ordering) const;
}; };
}///\namespace planarSLAM } //\namespace planarSLAM
//************************************************************************* //*************************************************************************
// VisualSLAM // VisualSLAM
@ -1686,7 +1685,7 @@ class LevenbergMarquardtOptimizer {
visualSLAM::Values values() const; visualSLAM::Values values() const;
}; };
}///\namespace visualSLAM } //\namespace visualSLAM
//************************************************************************ //************************************************************************
// sparse BA // sparse BA
@ -1767,5 +1766,5 @@ class LevenbergMarquardtOptimizer {
sparseBA::Values optimizeSafely(); sparseBA::Values optimizeSafely();
sparseBA::Values values() const; sparseBA::Values values() const;
}; };
}///\namespace sparseBA } //\namespace sparseBA

View File

@ -295,8 +295,7 @@ Module::Module(const string& interfacePath,
>> namespace_name_p[push_back_a(namespaces)] >> namespace_name_p[push_back_a(namespaces)]
>> ch_p('{') >> ch_p('{')
>> *(include_p | class_p | templateSingleInstantiation_p | global_function_p | namespace_def_p | comments_p) >> *(include_p | class_p | templateSingleInstantiation_p | global_function_p | namespace_def_p | comments_p)
>> str_p("}///\\namespace") // end namespace, avoid confusion with classes // FIXME: check for absense of semicolon to disambiguate >> ch_p('}'))
>> !namespace_name_p)
[pop_a(namespaces)]; [pop_a(namespaces)];
Rule using_namespace_p = Rule using_namespace_p =

View File

@ -17,7 +17,7 @@ class ClassB {
// check namespace handling // check namespace handling
Vector aGlobalFunction(); Vector aGlobalFunction();
}///\namespace ns1 }
#include <path/to/ns2.h> #include <path/to/ns2.h>
namespace ns2 { namespace ns2 {
@ -38,7 +38,7 @@ class ClassB {
ClassB(); ClassB();
}; };
}///\namespace ns3 }
class ClassC { class ClassC {
ClassC(); ClassC();
@ -47,7 +47,7 @@ class ClassC {
// separate namespace global function, same name // separate namespace global function, same name
Vector aGlobalFunction(); Vector aGlobalFunction();
}///\namespace ns2 } //\namespace ns2
class ClassD { class ClassD {
ClassD(); ClassD();