aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/random_provider/random_provider.h
blob: 41526f00cf22f71bac5f185627ba3e47019f8dad (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once 
 
#include <util/generic/guid.h> 
#include <util/random/common_ops.h> 
 
class IRandomProvider: public TThrRefBase, public TCommonRNG<ui64, IRandomProvider> { 
public: 
    virtual TGUID GenGuid() noexcept = 0; 
    virtual TGUID GenUuid4() noexcept = 0; 
    virtual ui64 GenRand() noexcept = 0; // for TCommonRNG 
}; 
 
TIntrusivePtr<IRandomProvider> CreateDefaultRandomProvider(); 
TIntrusivePtr<IRandomProvider> CreateDeterministicRandomProvider(ui64 seed);