Tag: C++17
A continuación se muestra el uso muy simple de boost::log::set_filter: #include <boost/log/trivial.hpp> #include <boost/log/core.hpp> #include <boost/log/trivial.hpp> #include <boost/log/expressions.hpp> #include <boost/log/utility/setup/file.hpp> namespace logging = boost::log; void test() { logging::add_file_log("sample.log")->set_filter( logging::trivial::severity >= logging::trivial::info ); } Según la definición de set_filter: template< typename FunT > void set_filter(FunT const& filter) { BOOST_LOG_EXPR_IF_MT(boost::log::aux::exclusive_lock_guard< mutex_type > . . . Read more
Tratando de emitir un objeto de mapa donde el valor puede ser de cualquier tipo de datos. He intentado lo siguiente: #include <iostream> #include <unordered_map> #include <any> std::unordered_map<std::string, std::any=””> example = { {“first”, ‘A’}, {“second”, 2}, {“third”, ‘C’} }; std::ostream &operator<<(std::ostream &os, const std::any &m) { for (auto &t : . . . Read more
a.h constexpr uint64_t seed = strhash_ct(TIME); //seed en a.h debe ser constexpr, ya que quiero ponerlo en una plantilla, como esta: HashJic::ensure_compile_time<seed>::value b.cpp <h1>incluye “a.h”</h1> <p>uint64_t b = seed; <code> c.cpp </code></p> <h1>incluye “a.h”</h1> <p>uint64_t c = seed; En este caso, b != c ¿Cómo puedo obtener el mismo valor? . . . Read more
En el código de ejemplo, compilado en C++17: template <typename t=”int”> struct A { static constexpr double b = 0.5; }; int main() { A a; // compila double c = A<>::b; // compila double d = A::b; // no compila // … return 0; } Ese “A::b” no compila . . . Read more
Quiero asignar un número aleatorio a la variable de un objeto y para objetos, el número aleatorio no debe coincidir con la variable de ningún otro objeto. He escrito el código para generar un número aleatorio dentro de un rango, pero se repite. Por lo tanto, quiero una solución.