From Jason Turner

[rand.adapt.disc]

Diff to HTML by rtfpessoa

tmp/tmp6xpyv313/{from.md → to.md} RENAMED
@@ -19,11 +19,11 @@ invocation of `e()` while advancing `e`’s state as described above.
19
  namespace std {
20
  template<class Engine, size_t p, size_t r>
21
  class discard_block_engine {
22
  public:
23
  // types
24
- using result_type = typename Engine::result_type;
25
 
26
  // engine characteristics
27
  static constexpr size_t block_size = p;
28
  static constexpr size_t used_block = r;
29
  static constexpr result_type min() { return Engine::min(); }
@@ -50,14 +50,14 @@ namespace std {
50
  const Engine& base() const noexcept { return e; }
51
 
52
  // inserters and extractors
53
  template<class charT, class traits>
54
  friend basic_ostream<charT, traits>&
55
- operator<<(basic_ostream<charT, traits>& os, const discard_block_engine& x);
56
  template<class charT, class traits>
57
  friend basic_istream<charT, traits>&
58
- operator>>(basic_istream<charT, traits>& is, discard_block_engine& x);
59
 
60
  private:
61
  Engine e; // exposition only
62
  size_t n; // exposition only
63
  };
 
19
  namespace std {
20
  template<class Engine, size_t p, size_t r>
21
  class discard_block_engine {
22
  public:
23
  // types
24
+ using result_type = Engine::result_type;
25
 
26
  // engine characteristics
27
  static constexpr size_t block_size = p;
28
  static constexpr size_t used_block = r;
29
  static constexpr result_type min() { return Engine::min(); }
 
50
  const Engine& base() const noexcept { return e; }
51
 
52
  // inserters and extractors
53
  template<class charT, class traits>
54
  friend basic_ostream<charT, traits>&
55
+ operator<<(basic_ostream<charT, traits>& os, const discard_block_engine& x); // hosted
56
  template<class charT, class traits>
57
  friend basic_istream<charT, traits>&
58
+ operator>>(basic_istream<charT, traits>& is, discard_block_engine& x); // hosted
59
 
60
  private:
61
  Engine e; // exposition only
62
  size_t n; // exposition only
63
  };