libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
uuid.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef QI_UUID_HPP
3 #define QI_UUID_HPP
4 #include <boost/uuid/uuid.hpp>
5 #include <boost/uuid/uuid_generators.hpp>
6 #include <boost/random/random_device.hpp>
7 
9 
10 namespace qi
11 {
12  using Uuid = boost::uuids::uuid;
13  using UuidRandomGenerator =
14  boost::uuids::basic_random_generator<boost::random::random_device>;
15  // We don't use the default random uuid generator because in Boost < 1.67 it uses
16  // a Mersenne Twister engine which is randomness is not cryptographically secure.
17  // Use Boost.Random 's random device engine as it provides that guarantee.
18  // TODO: Boost >= v1.67 : use either boost::uuids::random_generator
19  // or explicitely boost::uuids::random_generator_pure for optimal case.
20 
21 } // qi
22 
23 #endif // QI_UUID_HPP
boost::uuids::uuid Uuid
Definition: uuid.hpp:12
boost::uuids::basic_random_generator< boost::random::random_device > UuidRandomGenerator
Definition: uuid.hpp:14