From Jason Turner

[ifstream.general]

Diff to HTML by rtfpessoa

tmp/tmpor0np8jo/{from.md → to.md} RENAMED
@@ -4,14 +4,15 @@
4
  namespace std {
5
  template<class charT, class traits = char_traits<charT>>
6
  class basic_ifstream : public basic_istream<charT, traits> {
7
  public:
8
  using char_type = charT;
9
- using int_type = typename traits::int_type;
10
- using pos_type = typename traits::pos_type;
11
- using off_type = typename traits::off_type;
12
  using traits_type = traits;
 
13
 
14
  // [ifstream.cons], constructors
15
  basic_ifstream();
16
  explicit basic_ifstream(const char* s,
17
  ios_base::openmode mode = ios_base::in);
@@ -30,10 +31,11 @@ namespace std {
30
  // [ifstream.swap], swap
31
  void swap(basic_ifstream& rhs);
32
 
33
  // [ifstream.members], members
34
  basic_filebuf<charT, traits>* rdbuf() const;
 
35
 
36
  bool is_open() const;
37
  void open(const char* s, ios_base::openmode mode = ios_base::in);
38
  void open(const filesystem::path::value_type* s,
39
  ios_base::openmode mode = ios_base::in); // wide systems only; see [fstream.syn]
@@ -50,7 +52,7 @@ namespace std {
50
  The class `basic_ifstream<charT, traits>` supports reading from named
51
  files. It uses a `basic_filebuf<{}charT, traits>` object to control the
52
  associated sequence. For the sake of exposition, the maintained data is
53
  presented here as:
54
 
55
- - `sb`, the `filebuf` object.
56
 
 
4
  namespace std {
5
  template<class charT, class traits = char_traits<charT>>
6
  class basic_ifstream : public basic_istream<charT, traits> {
7
  public:
8
  using char_type = charT;
9
+ using int_type = traits::int_type;
10
+ using pos_type = traits::pos_type;
11
+ using off_type = traits::off_type;
12
  using traits_type = traits;
13
+ using native_handle_type = basic_filebuf<charT, traits>::native_handle_type;
14
 
15
  // [ifstream.cons], constructors
16
  basic_ifstream();
17
  explicit basic_ifstream(const char* s,
18
  ios_base::openmode mode = ios_base::in);
 
31
  // [ifstream.swap], swap
32
  void swap(basic_ifstream& rhs);
33
 
34
  // [ifstream.members], members
35
  basic_filebuf<charT, traits>* rdbuf() const;
36
+ native_handle_type native_handle() const noexcept;
37
 
38
  bool is_open() const;
39
  void open(const char* s, ios_base::openmode mode = ios_base::in);
40
  void open(const filesystem::path::value_type* s,
41
  ios_base::openmode mode = ios_base::in); // wide systems only; see [fstream.syn]
 
52
  The class `basic_ifstream<charT, traits>` supports reading from named
53
  files. It uses a `basic_filebuf<{}charT, traits>` object to control the
54
  associated sequence. For the sake of exposition, the maintained data is
55
  presented here as:
56
 
57
+ - *`sb`*, the `filebuf` object.
58