InvokeInterfaceSetter: различия между версиями
Перейти к навигации
Перейти к поиску
Строка 16: | Строка 16: | ||
{{function sa add|[[InvokeInterfaceGetter]]|{{InvokeInterfaceGetter brief}}}} | {{function sa add|[[InvokeInterfaceGetter]]|{{InvokeInterfaceGetter brief}}}} | ||
{{function sa add|[[InvokeInterface]]|{{InvokeInterface brief}}}} | {{function sa add|[[InvokeInterface]]|{{InvokeInterface brief}}}} | ||
{{function sa add|[[ | {{function sa add|[[InvokeDomainInterfaceSetter]]|{{InvokeDomainInterfaceSetter brief}}}} | ||
{{function sa end}} | {{function sa end}} | ||
{{function_end}} | {{function_end}} |
Текущая версия на 20:52, 24 декабря 2017
template <class _Callable, class..._Args>
auto InvokeInterfaceSetter(_Callable&& fn, _Args&&...args) -> return_code_t;
Вызывает интерфейсный метод, возвращающий код return_code_t, с указанным набором аргументов и, если интерфейсный метод возвращает код ошибочного завершения, генерирует исключение Chusov::Exceptions::ChsvCodeException.
- Параметры шаблона
_Callable Тип Callable-объекта, который вызывается функцией. Прототип объекта должен позволять однозначно выполнить вызов объекта с аргументами std::forward<_Args>(args)...
._Args... Тип входных аргументов, над которыми вызывается Callable-объект fn. - Параметры
fn Функциональный объект типа _Callable, который вызывается над аргументами args.... ...args Набор входных аргументов, над которыми вызывается Callable-объект fn. - Возвращаемое значение:
- Код return_code_t, возвращенный функтором fn.
- Возможные исключения
Chusov::Exceptions::ChsvCodeException Исключение, соответствующее коду ошибочного завершения, если последний возвращается объектом fn. - См. также
InvokeInterfaceGetter Вызывает указанный Callable объект, возвращающий return_code_t, и, если объект возвращает код успешного завершения, возвращает указанный индексом выходной параметр через return
- иначе генерирует исключение типа Chusov::Exceptions::ChsvCodeException.InvokeInterface Вызывает интерфейсный метод, возвращающий код return_code_t, с указанным набором аргументов и, если интерфейсный метод возвращает код ошибочного завершения, генерирует исключение Chusov::Exceptions::ChsvCodeException. InvokeDomainInterfaceSetter Вызывает интерфейсный метод, возвращающий код domain_response_code_t, с указанным набором аргументов и, если интерфейсный метод возвращает код ошибочного завершения, генерирует исключение drc_exception.
Пример
auto pckg = package_const_reference<_ObjectImpl>(pObject, cbObject);
InvokeInterfaceSetter(&IMemBufInputByteStream::ShiftCurPos, rStream, pckg.size());