Skip to content

Fix template parameters in method default args #5

@kwabenantim

Description

@kwabenantim

Description

Template parameters are not correctly handled in some cases e.g.

.def(
"SetUpBoxCollection", 
(void(PeriodicNodesOnlyMesh3::*)(double, ::boost::numeric::ublas::c_vector<double, 6>, int, ::boost::numeric::ublas::c_vector<bool, 3>)) &PeriodicNodesOnlyMesh3::SetUpBoxCollection, " " , 
py::arg("cutOffLength"), 
py::arg("domainSize"), 
py::arg("numLocalRows") = -1, 
py::arg("isDimPeriodic") = zero_vector<bool(PeriodicNodesOnlyMesh::SPACE_DIM) )

should be instead (SPACE_DIM should be replaced):

.def(
"SetUpBoxCollection", 
(void(PeriodicNodesOnlyMesh3::*)(double, ::boost::numeric::ublas::c_vector<double, 6>, int, ::boost::numeric::ublas::c_vector<bool, 3>)) &PeriodicNodesOnlyMesh3::SetUpBoxCollection, " " , 
py::arg("cutOffLength"), 
py::arg("domainSize"), 
py::arg("numLocalRows") = -1, 
py::arg("isDimPeriodic") = zero_vector<bool>(3) )

Compile Error

~/Chaste/projects/PyChaste/dynamic/wrappers/mesh/PeriodicNodesOnlyMesh2.cppwg.cpp: In function ‘void register_PeriodicNodesOnlyMesh2_class(pybind11::module&)’:
~/Chaste/projects/PyChaste/dynamic/wrappers/mesh/PeriodicNodesOnlyMesh2.cppwg.cpp:78:141: error: expected primary-expression before ‘(’ token
   78 | g("domainSize"), py::arg("numLocalRows") = -1, py::arg("isDimPeriodic") = zero_vector<bool>(PeriodicNodesOnlyMesh::SPACE_DIM) )
      |                                                                                            ^

~/Chaste/projects/PyChaste/dynamic/wrappers/mesh/PeriodicNodesOnlyMesh2.cppwg.cpp:78:142: error: ‘template<unsigned int SPACE_DIM> class PeriodicNodesOnlyMesh’ used without template arguments
   78 | ("domainSize"), py::arg("numLocalRows") = -1, py::arg("isDimPeriodic") = zero_vector<bool>(PeriodicNodesOnlyMesh::SPACE_DIM) )
      |                                                                                            ^~~~~~~~~~~~~~~~~~~~~

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions