Mam problemy, aby ten wiersz tutaj rację:Jak poprawnie użyć parametru boost async_write z wektorem boost const_buffers?
boost::asio::async_write(serialPort,
boost::asio::buffer(
boost::asio::buffer_cast<const void*>(vector_.front()),
boost::asio::buffer_size(vector_.front())))
vector_
posiada szereg boost::asio::const_buffers
std::vector<boost::asio::const_buffer> vector_;
Te rzeczy działa, ale jestem pewien, że jest to sposób bardziej elegancki sposób aby to zrobić, a jeśli nie, chciałbym to zrobić od kogoś z nieco większym doświadczeniem.
Czy to rozwiązanie można poprawić? Jeśli tak to jak?
OK, to jest rzeczywiście czystsze, dzięki. Ale w zasadzie robisz to samo - prawda? Zastanawiam się, czy istnieje sposób bezpośredniego obsadzenia 'boost :: asio :: const_buffer' w' boost :: asio :: buffer' - w pewnym sensie: 'boost :: asio :: buffer_cast (vector_.front()) '- czy wiesz, czy jest to możliwe/niemożliwe? –
Jook
@Jook: Jeśli ci się nie podoba, możesz zmienić nazwę w dowolnym momencie z 'make_buffer' na' buffer_cast' (w twojej przestrzeni nazw) i wywołać ją. – Nawaz
hehe, nazwa jest w porządku;) Zastanawiam się tylko, czy można to osiągnąć poprzez bezpośrednie przekształcanie typu rahter niż za pomocą funkcji. – Jook