Cython: работа с потоками C ++

Проблема

Как можно использовать потоки с ++ (например, std::ifstream или ostream) из Cython? В C ++ вы могли бы сделать следующее:

std::ofstream output { filename, std::ios::binary };
output.write(...);

Как бы вы достигли того же в Cython?

Текущее состояние

Я завернул структуры из fstream в Cython, чтобы я мог использовать их имена в объявлениях функций, но самое сложное - использовать (возможно, обтекание в Cython) метод write и создавать потоки. Я не нашел примеров кода в интернете.

P.S. Я знаю, что одним из возможных ответов было бы просто использовать ввод-вывод Python, но мне нужно передавать / возвращать потоки в и из кода C ++, с которым я взаимодействую.

Это код, который упаковывает объявления потоков:

cdef extern from "<iostream>" namespace "std":
    cdef cppclass basic_istream[T]:
        pass

    cdef cppclass basic_ostream[T]:
        pass

    ctypedef basic_istream[char] istream

    ctypedef basic_ostream[char] ostream
10
задан piotrMocz 22 June 2015 в 15:34
поделиться