Articles of impulso

Comparando 3 formas modernas de c ++ para convertir valores integrales en cadenas

Estaba tratando de elegir una forma estándar para convertir integrales a cadenas , así que continué y realicé una pequeña evaluación de rendimiento midiendo el tiempo de ejecución de 3 métodos #include #include #include #include #include #include #include #include #include using namespace std; // 1. A way to easily measure elapsed time ——————- template struct […]

¿Cómo se hace un impulso heterogéneo :: mapa?

Quiero tener un mapa que tenga un tipo de clave homogéneo pero tipos de datos heterogéneos. Quiero ser capaz de hacer algo como (pseudo-código): boost::map m; m.add(“a”, 2); m.add(“b”, “black sheep”); int i = m.get(“a”); int j = m.get(“b”); // error! Podría tener un puntero a una clase base como tipo de datos, pero preferiría […]

Diferencia entre C ++ 11 std :: bind y boost :: bind

¿Hay alguna diferencia entre los dos? ¿O puedo reemplazar todas las apariciones de boost::bind by std::bind en mi código y así eliminar la dependencia de Boost?

¿Puedo usar la biblioteca de impulso para la ejecución de aplicaciones crossplatform?

¿Hay algún análogo de WinAPI WinExec en las bibliotecas boost (c ++)? Necesito ejecutar ejecutables desde mi progtwig y pasarle parámetros. ¿Debo usar cualquier otra biblioteca multiplataforma para esto o manejar el sistema operativo para el que está comstackdo mi progtwig?

¿Cómo puedo usar atributos polimórficos con boost :: spirit :: qi parsers?

Me gustaría que mi analizador boost :: spirit-based pueda analizar un archivo, convertir las reglas analizadas en diferentes tipos y emitir un vector que contenga todas las coincidencias encontradas. Todos los tipos que se emiten como atributos se deben heredar de un tipo base, por ejemplo: #include #include #include #include struct CommandBase { virtual void […]

Hash un valor de precisión arbitrario (boost :: multiprecision :: cpp_int)

Necesito obtener el hash de valor con precisión arbitraria (de Boost.Multiprecision); Yo uso el backend cpp_int . Por ahora, se me ocurrió el siguiente código: boost::multiprecision::cpp_int x0 = 1; const auto seed = std::hash{}(x0.str()); No necesito que el código sea lo más rápido posible, pero me parece muy torpe el uso de la representación de […]

Parse citó cadenas con boost :: spirit

Me gustaría analizar una oración donde algunas cadenas pueden ser sin comillas, ‘citadas’ o ‘citadas’. El siguiente código casi funciona, pero no coincide con las cotizaciones de cierre. Supongo que esto se debe a la referencia qq. Se comenta una modificación en el código, los cambios de modificación en “citado” o “citado” también se analizan […]

¿Deberíamos pasar un shared_ptr por referencia o por valor?

Cuando una función debe tomar un shared_ptr (de boost o C ++ 11 STL), ¿lo está pasando? por const referencia: void foo(const shared_ptr& p) o por valor: void foo(shared_ptr p) ? Preferiría el primer método porque sospecho que es más rápido. ¿Pero esto realmente vale la pena o hay algún problema adicional? ¿Podría explicar los […]

Tipos de punto flotante de tamaño fijo

En los stdint.h (C99), boost / cstdint.hpp y cstdint (C ++ 0x) hay, entre otros, el tipo int32_t . ¿Hay tipos de puntos flotantes de tamaño fijo similares? Algo así como float32_t ?

Problemas con Boost Spirit skipper

Tengo problemas con los skippers de impulso de espíritu. Necesito analizar un archivo como ese: ROW int int [int, int] int [int, int] … Puedo analizarlo sin problemas (gracias a stackoverflow;) solo si agrego un ‘_’ después de la primera int. De hecho, creo que el capitán come el final de la línea después de […]