шаблоны — есть ли способ создания привязок WebIDL для шаблонных типов C ++?

Допустим, в C ++ у меня есть функция со следующей подписью:

A<B> getTemplatedClassInstance();

где & В некоторые классы. Затем я пытаюсь сгенерировать привязки WebIDl для использования в сборке emscripten для использования кода C ++ из Javascript. У меня есть рабочий файл привязок с различными другими классами, перечислениями и т. Д., Которые могут быть связаны и доступны из JS, но я не знаю, как представлять шаблонные типы (класс A, в приведенном выше примере). Я пробовал различные комбинации объявлений привязки WebIDL, как:

interface A {};
interface A<> {};
interface A<B> {};

interface C {
A<B> getTemplatedClassInstance();
};

interface C {
A getTemplatedClassInstance();
};

Но любое использование угловых скобок<> ‘генерирует синтаксическую ошибку из сценария webidl_binder.py (входит в состав emscripten sdk), который использовался для его создания, и если я оставляю объявление и использую A как untempled, создается файл привязки, но окончательная компиляция emscripten (emcc. ..) из привязок с библиотекой C ++ происходит сбой в файле cpp привязок с:

ошибка: использование шаблона класса требует шаблона
аргументы

что имеет смысл. Как ни странно, в документации WebIDL вообще не упоминаются типы шаблонов. Я почесал в Интернете и нашел одна ссылка для привязки конкретных экземпляров шаблона с помощью «Embind», но ничего не касается WebIDL.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]