Articles of boost

Hash um valor arbitrário de precisão (boost :: multiprecision :: cpp_int)

Eu preciso obter o hash de valor com precisão arbitrária (de Boost.Multiprecision); Eu uso o backend cpp_int . Por enquanto, eu criei o seguinte código: boost::multiprecision::cpp_int x0 = 1; const auto seed = std::hash{}(x0.str()); Eu não preciso que o código seja o mais rápido possível, mas acho muito desajeitado o hash da representação de string. […]

boost :: spirit :: qi duplicar a análise na saída

Eu tenho este analisador muito simples usando Boost :: Spirit: rule zeroTo255 = (string(“25”) >> char_(‘0’, ‘5’)) | (char_(‘2’) >> char_(‘0’, ‘4’) >> digit) | (char_(‘1’) >> repeat[2](digit)) | (char_(‘1’, ‘9’) >> digit) | digit; Quando tento analisar std::string o{“1”}; std::string s; parse(o.begin(), o.end(), zeroTo255, s); std::cout << o << ": " << s << […]

Quais resources do Boost se sobrepõem ao C ++ 11?

Eu coloquei minhas habilidades de C ++ na prateleira há vários anos e parece agora, quando eu preciso delas novamente, a paisagem mudou. Temos o C ++ 11 agora, e meu entendimento é que ele se sobrepõe a muitos resources do Boost. Existe algum resumo em que essas sobreposições se encontrem, quais bibliotecas do Boost […]

Analisar strings citadas com boost :: spirit

Eu gostaria de analisar uma frase em que algumas strings podem estar sem aspas, “entre aspas” ou “entre aspas”. O código abaixo quase funciona – mas não corresponde às cotações de fechamento. Eu estou supondo que isso é por causa da referência qq. Uma modificação é comentada no código, a modificação resulta em “entre aspas” […]

Aumentar gerador de números randoms

Alguém tem um gerador de números randoms de impulso favorito e você pode explicar um pouco sobre como implementá-lo em código. Estou tentando fazer com que o mersenne twister funcione e fiquei me perguntando se alguém tinha preferência por um dos outros.

Por que o construtor de movimento definido pelo usuário desabilita o construtor de cópia implícito?

Enquanto eu estou lendo boost / shared_ptr.hpp, eu vi este código: // generated copy constructor, destructor are fine… #if defined( BOOST_HAS_RVALUE_REFS ) // … except in C++0x, move disables the implicit copy shared_ptr( shared_ptr const & r ): px( r.px ), pn( r.pn ) // never throws { } #endif O que o comentário “gerado […]

Serializando e desserializando json com boost

Eu sou novato em c++ . Qual é a maneira mais fácil de serializar e desserializar dados do tipo std::Map usando boost . Eu encontrei alguns exemplos com o uso de PropertyTree mas eles são obscuros para mim.

C ++ – passando referências para std :: shared_ptr ou boost :: shared_ptr

Se eu tenho uma function que precisa trabalhar com um shared_ptr , não seria mais eficiente passar uma referência a ela (para evitar a cópia do object shared_ptr )? Quais são os possíveis efeitos colaterais ruins? Eu imagino dois casos possíveis: 1) dentro da function é feita uma cópia do argumento, como em ClassA::take_copy_of_sp(boost::shared_ptr &sp) […]

como boost :: function and boost :: bind work

Eu não gosto de ter checkboxs mágicas espalhadas por todo o meu código … como exatamente essas duas classs funcionam para permitir que basicamente qualquer function seja mapeada para um object de function mesmo se a function tiver um parâmetro completamente diferente definido para aquele que está passando para boost::bind Ele até funciona com diferentes […]

Como definir um tempo limite no bloqueio de sockets no impulso asio?

Existe uma maneira de cancelar uma operação pendente (sem desconexão) ou definir um tempo limite para as funções da biblioteca de reforço? Ou seja, eu quero definir um tempo limite no soquete de bloqueio no impulso asio? socket.read_some (boost :: asio :: buffer (pData, maxSize), erro_); Exemplo: eu quero ler alguns do soquete, mas quero […]