Превратить постоянное выражение в типC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Превратить постоянное выражение в тип

Сообщение Anonymous »

Для декларативной части системы некоторые обработчики* должны быть переданы в виде типов: < /p>

int read_handler();
class handler {...};

typedef bluetoe::service<
bluetoe::service_uuid< 0x8C8B4094, 0x0DE2, 0x499F, 0xA28A, 0x4EED5BC73CA9 >,
bluetoe::characteristic<
bluetoe::free_read_handler< read_handler >, // *
bluetoe::member_read_handler< handler, &handler::read, &handler_instance > // *
>
> service;
< /code>

Особенно для версии функции члена это значение «значение для типа» должно быть определено для каждой комбинации квалификатора CV. И для каждого преобразования я должен представить новое имя. То, что я пробовал, заключалась в том, чтобы вывести тип и захватить значение обработчика функцией ContexPR. Что -то по линии: < /p>

typedef bluetoe::service<
bluetoe::service_uuid< 0x8C8B4094, 0x0DE2, 0x499F, 0xA28A, 0x4EED5BC73CA9 >,
bluetoe::characteristic<
decltype( bluetoe::bind( read_handler ) ),
decltype( bluetoe::bind( handler, &handler::read, &handler_instance ) )
>
> service;
< /code>

с bind < /code> wee: < /p>

auto constexpr bind( void(*f)() ) -> bluetoe::free_read_handler< f >
{
return bluetoe::free_read_handler< f >();
}
< /code>

Может ли кто -то из вас подумать о решении, чтобы сделать эту работу. Предпочтительнее C ++ 11, но любое решение, которое, по крайней мере, упрощает задачу, также приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/341 ... nto-a-type
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»