7 #include "path/to/ns1.h" 
    8 #include "path/to/ns1/ClassB.h" 
    9 #include "path/to/ns2.h" 
   10 #include "path/to/ns2/ClassA.h" 
   11 #include "path/to/ns3.h" 
   22     m_.doc() = 
"pybind11 wrapper of namespaces_py";
 
   26     py::class_<ns1::ClassA, std::shared_ptr<ns1::ClassA>>(m_ns1, 
"ClassA")
 
   29     py::class_<ns1::ClassB, std::shared_ptr<ns1::ClassB>>(m_ns1, 
"ClassB")
 
   34     py::class_<ns2::ClassA, std::shared_ptr<ns2::ClassA>>(m_ns2, 
"ClassA")
 
   36         .def(
"memberFunction",[](ns2::ClassA* 
self){
return self->memberFunction();})
 
   37         .def(
"nsArg",[](ns2::ClassA* 
self, 
const ns1::ClassB& 
arg){
return self->nsArg(
arg);}, 
py::arg(
"arg"))
 
   38         .def(
"nsReturn",[](ns2::ClassA* 
self, 
double q){
return self->nsReturn(
q);}, 
py::arg(
"q"))
 
   39         .def_static(
"afunction",[](){
return ns2::ClassA::afunction();});
 
   42     py::class_<ns2::ns3::ClassB, std::shared_ptr<ns2::ns3::ClassB>>(m_ns2_ns3, 
"ClassB")
 
   45     py::class_<ns2::ClassC, std::shared_ptr<ns2::ClassC>>(m_ns2, 
"ClassC")
 
   48     m_ns2.attr(
"aNs2Var") = ns2::aNs2Var;
 
   49     m_ns2.
def(
"aGlobalFunction",[](){
return ns2::aGlobalFunction();});
 
   50     m_ns2.
def(
"overloadedGlobalFunction",[](
const ns1::ClassA& 
a){
return ns2::overloadedGlobalFunction(
a);}, 
py::arg(
"a"));
 
   51     m_ns2.
def(
"overloadedGlobalFunction",[](
const ns1::ClassA& 
a, 
double b){
return ns2::overloadedGlobalFunction(
a, 
b);}, 
py::arg(
"a"), 
py::arg(
"b"));
 
   52     py::class_<ClassD, std::shared_ptr<ClassD>>(m_, 
"ClassD")
 
   57     py::class_<gtsam::Values, std::shared_ptr<gtsam::Values>>(m_gtsam, 
"Values")
 
   59         .def(py::init<const gtsam::Values&>(), 
py::arg(
"other"))
 
   66 #include "python/specializations.h"