From Jason Turner

[ios.base]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpjuq0okxt/{from.md → to.md} +13 -10
tmp/tmpjuq0okxt/{from.md → to.md} RENAMED
@@ -43,13 +43,13 @@ namespace std {
43
  static constexpr openmode out = unspecified;
44
  static constexpr openmode trunc = unspecified;
45
 
46
  // [ios::seekdir] seekdir
47
  typedef T4 seekdir;
48
- static constexpr fmtflags beg = unspecified;
49
- static constexpr fmtflags cur = unspecified;
50
- static constexpr fmtflags end = unspecified;
51
 
52
  class Init;
53
 
54
  // [fmtflags.state] fmtflags state:
55
  fmtflags flags() const;
@@ -87,13 +87,13 @@ namespace std {
87
 
88
  protected:
89
  ios_base();
90
 
91
  private:
92
- static int index; // exposition onlyr
93
- long* iarray; // exposition onlyr
94
- void** parray; // exposition onlyr
95
  };
96
  }
97
  ```
98
 
99
  `ios_base`
@@ -149,11 +149,11 @@ number reported by the operating system. Errors arising from within the
149
  stream library would typically be reported as
150
  `error_code(io_errc::stream,
151
  iostream_category())`.
152
 
153
  ``` cpp
154
- explicit failure(const string& msg, , const error_code& ec = io_errc::stream);
155
  ```
156
 
157
  *Effects:* Constructs an object of class `failure` by constructing the
158
  base class with `msg` and `ec`.
159
 
@@ -276,11 +276,11 @@ namespace std {
276
  class ios_base::Init {
277
  public:
278
  Init();
279
  ~Init();
280
  private:
281
- static int init_cnt; // exposition onlyr
282
  };
283
  }
284
  ```
285
 
286
  The class `Init` describes an object whose construction ensures the
@@ -441,11 +441,11 @@ c = fgetc(f);
441
  ```
442
 
443
  is the same as the effect of
444
 
445
  ``` cpp
446
- c = str.rdbuf()->sbumpc(c);
447
  ```
448
 
449
  for any sequences of characters; and the effect of pushing back a
450
  character `c` by
451
 
@@ -467,10 +467,13 @@ for any sequence of characters.[^6]
467
  static int xalloc();
468
  ```
469
 
470
  *Returns:* `index` `++`.
471
 
 
 
 
472
  ``` cpp
473
  long& iword(int idx);
474
  ```
475
 
476
  *Effects:* If `iarray` is a null pointer, allocates an array of `long`
@@ -540,11 +543,11 @@ ios_base();
540
  construction. The object’s members shall be initialized by calling
541
  `basic_ios::init` before the object’s first use or before it is
542
  destroyed, whichever comes first; otherwise the behavior is undefined.
543
 
544
  ``` cpp
545
- ~ios_base()
546
  ```
547
 
548
  *Effects:* Destroys an object of class `ios_base`. Calls each registered
549
  callback pair `(fn, index)` ([[ios.base.callback]]) as
550
  `(*fn)(erase_event, *this, index)` at such time that any `ios_base`
 
43
  static constexpr openmode out = unspecified;
44
  static constexpr openmode trunc = unspecified;
45
 
46
  // [ios::seekdir] seekdir
47
  typedef T4 seekdir;
48
+ static constexpr seekdir beg = unspecified;
49
+ static constexpr seekdir cur = unspecified;
50
+ static constexpr seekdir end = unspecified;
51
 
52
  class Init;
53
 
54
  // [fmtflags.state] fmtflags state:
55
  fmtflags flags() const;
 
87
 
88
  protected:
89
  ios_base();
90
 
91
  private:
92
+ static int index; // exposition only
93
+ long* iarray; // exposition only
94
+ void** parray; // exposition only
95
  };
96
  }
97
  ```
98
 
99
  `ios_base`
 
149
  stream library would typically be reported as
150
  `error_code(io_errc::stream,
151
  iostream_category())`.
152
 
153
  ``` cpp
154
+ explicit failure(const string& msg, const error_code& ec = io_errc::stream);
155
  ```
156
 
157
  *Effects:* Constructs an object of class `failure` by constructing the
158
  base class with `msg` and `ec`.
159
 
 
276
  class ios_base::Init {
277
  public:
278
  Init();
279
  ~Init();
280
  private:
281
+ static int init_cnt; // exposition only
282
  };
283
  }
284
  ```
285
 
286
  The class `Init` describes an object whose construction ensures the
 
441
  ```
442
 
443
  is the same as the effect of
444
 
445
  ``` cpp
446
+ c = str.rdbuf()->sbumpc();
447
  ```
448
 
449
  for any sequences of characters; and the effect of pushing back a
450
  character `c` by
451
 
 
467
  static int xalloc();
468
  ```
469
 
470
  *Returns:* `index` `++`.
471
 
472
+ *Remarks:* Concurrent access to this function by multiple threads shall
473
+ not result in a data race ([[intro.multithread]]).
474
+
475
  ``` cpp
476
  long& iword(int idx);
477
  ```
478
 
479
  *Effects:* If `iarray` is a null pointer, allocates an array of `long`
 
543
  construction. The object’s members shall be initialized by calling
544
  `basic_ios::init` before the object’s first use or before it is
545
  destroyed, whichever comes first; otherwise the behavior is undefined.
546
 
547
  ``` cpp
548
+ ~ios_base();
549
  ```
550
 
551
  *Effects:* Destroys an object of class `ios_base`. Calls each registered
552
  callback pair `(fn, index)` ([[ios.base.callback]]) as
553
  `(*fn)(erase_event, *this, index)` at such time that any `ios_base`