Estou aprendendo a programar em c++ e a utilizar o boost com um amigo meu, e já faz um bom tempo que ando garimpando a internet para entender do que se trata ou como é chamado isso que acontece nesse código, meu amigo também não sabe do que se trata isso, não tenho certeza se é algo do framework boost ou coisa do gênero. Por favor me ajudem, agradeço desde já.
Preciso saber o que essa linha aqui faz e como se chama isso em c++:
[this](boost::system::error_code ec, std::size_t /*length*/)
Código completo:
void do_write()
{
boost::asio::async_write(socket_,
boost::asio::buffer(write_msgs_.front().data(),
write_msgs_.front().length()),
[this](boost::system::error_code ec, std::size_t /*length*/) //Aqui começa a minha duvida
{
if (!ec)
{
write_msgs_.pop_front();
if (!write_msgs_.empty())
{
do_write();
}
}
else
{
socket_.close();
}
});//E aqui termina a minha duvida
}