doc: remove usages of C++11

Now it's just the standard library.
pull/26827/head
fanquake 1 year ago
parent edc3d1b296
commit 672f7ad747
No known key found for this signature in database
GPG Key ID: 2EEB9F5CC09526C1

@ -15,7 +15,7 @@ assignees: ''
#### Useful skills: #### Useful skills:
<!-- (For example, “C++11 std::thread”, “Qt5 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.) --> <!-- (For example, “std::thread”, “Qt5 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.) -->
#### Want to work on this issue? #### Want to work on this issue?

@ -62,7 +62,7 @@ static inline int64_t GetPerformanceCounter() noexcept
__asm__ volatile ("rdtsc" : "=a"(r1), "=d"(r2)); // Constrain r1 to rax and r2 to rdx. __asm__ volatile ("rdtsc" : "=a"(r1), "=d"(r2)); // Constrain r1 to rax and r2 to rdx.
return (r2 << 32) | r1; return (r2 << 32) | r1;
#else #else
// Fall back to using C++11 clock (usually microsecond or nanosecond precision) // Fall back to using standard library clock (usually microsecond or nanosecond precision)
return std::chrono::high_resolution_clock::now().time_since_epoch().count(); return std::chrono::high_resolution_clock::now().time_since_epoch().count();
#endif #endif
} }
@ -438,7 +438,7 @@ public:
RNGState& GetRNGState() noexcept RNGState& GetRNGState() noexcept
{ {
// This C++11 idiom relies on the guarantee that static variable are initialized // This idiom relies on the guarantee that static variable are initialized
// on first call, even when multiple parallel calls are permitted. // on first call, even when multiple parallel calls are permitted.
static std::vector<RNGState, secure_allocator<RNGState>> g_rng(1); static std::vector<RNGState, secure_allocator<RNGState>> g_rng(1);
return g_rng[0]; return g_rng[0];

@ -250,7 +250,7 @@ public:
/* interval [0..0] */ Dur{0}; /* interval [0..0] */ Dur{0};
}; };
// Compatibility with the C++11 UniformRandomBitGenerator concept // Compatibility with the UniformRandomBitGenerator concept
typedef uint64_t result_type; typedef uint64_t result_type;
static constexpr uint64_t min() { return 0; } static constexpr uint64_t min() { return 0; }
static constexpr uint64_t max() { return std::numeric_limits<uint64_t>::max(); } static constexpr uint64_t max() { return std::numeric_limits<uint64_t>::max(); }

@ -250,7 +250,7 @@ void RandAddDynamicEnv(CSHA512& hasher)
gettimeofday(&tv, nullptr); gettimeofday(&tv, nullptr);
hasher << tv; hasher << tv;
#endif #endif
// Probably redundant, but also use all the clocks C++11 provides: // Probably redundant, but also use all the standard library clocks:
hasher << std::chrono::system_clock::now().time_since_epoch().count(); hasher << std::chrono::system_clock::now().time_since_epoch().count();
hasher << std::chrono::steady_clock::now().time_since_epoch().count(); hasher << std::chrono::steady_clock::now().time_since_epoch().count();
hasher << std::chrono::high_resolution_clock::now().time_since_epoch().count(); hasher << std::chrono::high_resolution_clock::now().time_since_epoch().count();

@ -4,7 +4,7 @@
#define BITCOIN_REVERSE_ITERATOR_H #define BITCOIN_REVERSE_ITERATOR_H
/** /**
* Template used for reverse iteration in C++11 range-based for loops. * Template used for reverse iteration in range-based for loops.
* *
* std::vector<int> v = {1, 2, 3, 4, 5}; * std::vector<int> v = {1, 2, 3, 4, 5};
* for (auto x : reverse_iterate(v)) * for (auto x : reverse_iterate(v))

@ -101,7 +101,7 @@ BOOST_AUTO_TEST_CASE(fastrandom_randbits)
} }
} }
/** Does-it-compile test for compatibility with standard C++11 RNG interface. */ /** Does-it-compile test for compatibility with standard library RNG interface. */
BOOST_AUTO_TEST_CASE(stdrandom_test) BOOST_AUTO_TEST_CASE(stdrandom_test)
{ {
FastRandomContext ctx; FastRandomContext ctx;

Loading…
Cancel
Save