Riot Buy me a riot | Taz a écrit :
aka Cheshire Cat
De toutes façons, tu fais bien de planquer l'implémentation histoire de ne pas tirer Boost à chaque fois que tu vas inclure "tontruc.h".
Ce qui va peut-être t'ennuyer un peu c'est si le truc que tu veux planquer est template.
|
C'est exactement ça. Au départ ma méthode asyncWrite() était une fonction template :
Code :
- template< typename Handler >
- void asyncWrite( const unsigned char* pData, unsigned int dataSize, Handler handler );
|
Et du coup je me suis retrouvé coincé car j'aurais été obligé de mettre la définition dans le .h :
Code :
- {
- p_private->m_serial.async_read_some( boost::asio::buffer( pData, dataSize ),
- boost::bind( &SerialComm_p::readCompleted, p_private, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred, handler ) );
- }
|
Du coup j'imagine que le seul moyen de me dépatouiller avec la callback est d'utiliser un void*, non ?
Code :
- void asyncWrite( const unsigned char* pData, unsigned int dataSize, void* cb );
|
---------------
Be the one with the flames.
|