If a random hardware device is not available to the implementation, a pseudo random number engine is used. Is a random number hardware device available? By that, I mean not only physically there, but also available to that particular implementation of std::random_device.