Используйте шаблоны функций Function и Member

Перегруженные функции

MATLAB® поддерживает шаблоны функций C++ и представителей. Интерфейс C++ генерирует перегрузку функции MATLAB для каждого экземпляра шаблона функции с помощью допустимого имени MATLAB на основе имени функции C++. Предположим, что у вас есть этот файл заголовка C++, который задает шаблон функции show и предоставляет экземпляры для типов int, double, и const A.

class A{}; // User type
template<typename T> void show(T a) {}
template void show<int>(int);
template void show<double>(double);
template<> void show<const A &>(const A& a){}

Построение libname интерфейса, затем отобразите справку для show функция. MATLAB отображает синтаксис вызова для трех функций.

help clib.libname.show
 clib.libname.show    Representation of C++ function show.

    Inputs
      a              int32  

    No outputs


 Other clib.libname.show functions:

 clib.libname.show    Representation of C++ function show.

    Inputs
      a              double  

    No outputs

 clib.libname.show    Representation of C++ function show.

    Inputs
      a              read-only clib.libname.A  

    No outputs

Если вы вводите:

var = pi;
clib.libname.show(var)

затем MATLAB выбирает сигнатуру с входным типом double.

Уникальные имена функции

Интерфейс C++ также генерирует уникальные имена функции на основе типов сигнатур. Чтобы просмотреть уникальные имена для show функция, тип:

help clib.libname
Classes contained in clib.libname:
A                              -  clib.libname.A    Representation of C++ class A.


Functions contained in clib.libname:
show                           -  clib.libname.show    Representation of C++ function show.

show_AConst__                  -  clib.libname.show    Representation of C++ function show.

show                           -  clib.libname.show    Representation of C++ function show.

show_double_                   -  clib.libname.show    Representation of C++ function show.

show                           -  clib.libname.show    Representation of C++ function show.

show_int_                      -  clib.libname.show    Representation of C++ function show.

Вызов функции конкретного типа для входа типа double, тип:

clib.libname.show_double_(var)

Издатели могут изменять эти имена при построении интерфейса к библиотеке. Для получения дополнительной информации см. раздел «Настройка имен шаблонов функций».

Для просмотра документации необходимо авторизоваться на сайте