23 #include "pybind11/pybind11.h" 
   24 #include "pybind11/stl.h" 
   31 using namespace pybind11::literals;
 
   38     py::class_<Dictionary, std::shared_ptr<Dictionary>, 
Policy> clsDictionary(mod, 
"Dictionary");
 
   40     clsDictionary.def(py::init<>());
 
   41     clsDictionary.def(py::init<std::string &>());
 
   42     clsDictionary.def(py::init<const Dictionary &>());
 
   43     clsDictionary.def(py::init<PolicyFile &>());
 
   44     clsDictionary.def(py::init<const Policy &>());
 
   46     clsDictionary.def(
"getDefinitions", (
Policy::Ptr (Dictionary::*)()) & Dictionary::getDefinitions);
 
   47     clsDictionary.def(
"check", &Dictionary::check);
 
   48     clsDictionary.def(
"definedNames",
 
   50                       "names"_a, 
"append"_a = 
false);
 
   51     clsDictionary.def(
"definedNames",
 
   52                       (Dictionary::StringArray (Dictionary::*)() 
const) & Dictionary::definedNames);
 
   53     clsDictionary.def(
"getDef", &Dictionary::getDef);
 
   54     clsDictionary.def(
"makeDef", &Dictionary::makeDef);
 
   55     clsDictionary.def(
"hasSubDictionary", &Dictionary::hasSubDictionary);
 
   56     clsDictionary.def(
"getSubDictionary", &Dictionary::getSubDictionary);
 
   59     clsDictionary.def(
"validate",
 
   60                       [](Dictionary 
const &
self, 
Policy const &pol) { 
return self.validate(pol); }, 
"pol"_a);
 
   61     clsDictionary.def(
"validate", [](Dictionary 
const &
self, 
Policy const &pol,
 
   62                                      ValidationError *errs) { 
self.validate(pol, errs); },
 
   65     clsDictionary.def(
"loadPolicyFiles", (
int (Dictionary::*)(
bool)) & Dictionary::loadPolicyFiles,
 
   67     clsDictionary.def(
"loadPolicyFiles", [](Dictionary &
self, 
std::string const &repository) {
 
   68         return self.loadPolicyFiles(repository);
 
   70     clsDictionary.def(
"loadPolicyFiles", [](Dictionary &
self, 
std::string const &repository, 
bool strict) {
 
   71         return self.loadPolicyFiles(repository, strict);
 
   74     clsDictionary.def(
"getPrefix", &Dictionary::getPrefix);
 
   76     py::class_<Definition> clsDefinition(mod, 
"Definition");
 
   78     clsDefinition.def(py::init<const std::string &>(), 
"paramName"_a = 
"");
 
   80     clsDefinition.def(
"getName", &Definition::getName);
 
   81     clsDefinition.def(
"getPrefix", &Definition::getPrefix);
 
   82     clsDefinition.def(
"setPrefix", &Definition::setPrefix);
 
   83     clsDefinition.def(
"isChildDefinition", &Definition::isChildDefinition);
 
   84     clsDefinition.def(
"setChildDefinition", &Definition::setChildDefinition);
 
   85     clsDefinition.def(
"isWildcard", &Definition::isWildcard);
 
   86     clsDefinition.def(
"setWildcard", &Definition::setWildcard);
 
   87     clsDefinition.def(
"setName", &Definition::setName);
 
   88     clsDefinition.def(
"getData", &Definition::getData);
 
   89     clsDefinition.def(
"setData", &Definition::setData);
 
   90     clsDefinition.def(
"getType", &Definition::getType);
 
   91     clsDefinition.def(
"getTypeName", &Definition::getTypeName);
 
   92     clsDefinition.def(
"getDefault", &Definition::getDefault);
 
   93     clsDefinition.def(
"getDescription", &Definition::getDescription);
 
   94     clsDefinition.def(
"getMaxOccurs", &Definition::getMaxOccurs);
 
   95     clsDefinition.def(
"getMinOccurs", &Definition::getMinOccurs);
 
   96     clsDefinition.def(
"check", &Definition::check);