Пользовательский конвертер Boost.Python
У меня есть класс, принимающий вектор в качестве параметра (содержимое двоичного файла).
Я хотел бы преобразовать тип python 'str' в вектор без знака char, но только для одного из моих методов класса.
BOOST_PYTHON_MODULE(hello) { class_<Hello>("Hello").
// This method takes a string as parameter and print it
.def("printChar", &Hello::printChar)
// This method takes a vector<unsigned char> parameter
.def("storeFile", &Hello::storeFile) }
Кажется, мне нужно использовать пользовательский конвертер, но если я изменю свой boost :: python :: converter :: registry, он будет изменен для всех моих вызовов printChar, и все методы python, передающие строку в качестве параметра, будут преобразованы в вектор.
Как я могу зарегистрировать конвертер для каждого метода?