File indexing completed on 2025-08-03 08:16:38
0001
0002 #ifndef RanSeed_h
0003 #define RanSeed_h
0004
0005 extern "C" { void* ranseed_address_(void); }
0006
0007
0008
0009
0010
0011
0012 class RanSeed
0013 {
0014 public:
0015 RanSeed();
0016 ~RanSeed();
0017
0018 int& nseed (void);
0019
0020 private:
0021
0022 struct RANSEED;
0023 friend struct RANSEED;
0024
0025 struct RANSEED
0026 {
0027 int nseed;
0028 };
0029
0030 static RANSEED* _ranseed;
0031 };
0032
0033
0034 RanSeed::RANSEED* RanSeed::_ranseed =0;
0035
0036 inline
0037 RanSeed::RanSeed()
0038 {}
0039
0040 inline
0041 RanSeed::~RanSeed()
0042 {}
0043
0044 inline int&
0045 RanSeed::nseed (void)
0046 {
0047 if (!_ranseed) _ranseed = static_cast<RANSEED*>(ranseed_address_());
0048 return _ranseed->nseed;
0049 }
0050
0051 #endif