This commit is contained in:
2025-10-25 03:02:53 +03:00
commit 043225d523
3416 changed files with 681196 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
[streambuf.pub.get]
# 31 Input/output library [[input.output]](./#input.output)
## 31.6 Stream buffers [[stream.buffers]](stream.buffers#streambuf.pub.get)
### 31.6.3 Class template basic_streambuf [[streambuf]](streambuf#pub.get)
#### 31.6.3.3 Public member functions [[streambuf.members]](streambuf.members#streambuf.pub.get)
#### 31.6.3.3.3 Get area [streambuf.pub.get]
[🔗](#lib:in_avail,basic_streambuf)
`streamsize in_avail();
`
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3279)
*Returns*: If a read position is available, returnsegptr() - gptr()[.](#1.sentence-1)
Otherwise returns[showmanyc()](filebuf.virtuals#lib:basic_streambuf,showmanyc "31.10.3.5Overridden virtual functions[filebuf.virtuals]")[.](#1.sentence-2)
[🔗](#lib:snextc,basic_streambuf)
`int_type snextc();
`
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3293)
*Effects*: Callssbumpc()[.](#2.sentence-1)
[3](#3)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3298)
*Returns*: If that function returnstraits::eof(),
returnstraits::eof()[.](#3.sentence-1)
Otherwise, returnssgetc()[.](#3.sentence-2)
[🔗](#lib:sbumpc,basic_streambuf)
`int_type sbumpc();
`
[4](#4)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3314)
*Effects*: If the input sequence read position is not available,
returnsuflow()[.](#4.sentence-1)
Otherwise, returnstraits::to_int_type(*gptr()) and increments the next pointer for the input sequence[.](#4.sentence-2)
[🔗](#lib:sgetc,basic_streambuf)
`int_type sgetc();
`
[5](#5)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3330)
*Returns*: If the input sequence read position is not available,
returnsunderflow()[.](#5.sentence-1)
Otherwise, returnstraits::to_int_type(*gptr())[.](#5.sentence-2)
[🔗](#lib:sgetn,basic_streambuf)
`streamsize sgetn(char_type* s, streamsize n);
`
[6](#6)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3345)
*Returns*: xsgetn(s, n)[.](#6.sentence-1)

View File

@@ -0,0 +1,41 @@
[streambuf.pub.pback]
# 31 Input/output library [[input.output]](./#input.output)
## 31.6 Stream buffers [[stream.buffers]](stream.buffers#streambuf.pub.pback)
### 31.6.3 Class template basic_streambuf [[streambuf]](streambuf#pub.pback)
#### 31.6.3.3 Public member functions [[streambuf.members]](streambuf.members#streambuf.pub.pback)
#### 31.6.3.3.4 Putback [streambuf.pub.pback]
[🔗](#lib:sputbackc,basic_streambuf)
`int_type sputbackc(char_type c);
`
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3358)
*Effects*: If the input sequence putback position is not available, or
iftraits::eq(c, gptr()[-1]) is false, returnspbackfail(traits::to_int_type(c))[.](#1.sentence-1)
Otherwise, decrements the next pointer for the input sequence and
returnstraits::to_int_type(*gptr())[.](#1.sentence-2)
[🔗](#lib:sungetc,basic_streambuf)
`int_type sungetc();
`
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3376)
*Effects*: If the input sequence putback position is not available,
returnspbackfail()[.](#2.sentence-1)
Otherwise, decrements the next pointer for the input sequence and
returnstraits::to_int_type(*gptr())[.](#2.sentence-2)

View File

@@ -0,0 +1,38 @@
[streambuf.pub.put]
# 31 Input/output library [[input.output]](./#input.output)
## 31.6 Stream buffers [[stream.buffers]](stream.buffers#streambuf.pub.put)
### 31.6.3 Class template basic_streambuf [[streambuf]](streambuf#pub.put)
#### 31.6.3.3 Public member functions [[streambuf.members]](streambuf.members#streambuf.pub.put)
#### 31.6.3.3.5 Put area [streambuf.pub.put]
[🔗](#lib:sputc,basic_streambuf)
`int_type sputc(char_type c);
`
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3394)
*Effects*: If the output sequence write position is not available,
returnsoverflow(traits::to_int_type(c))[.](#1.sentence-1)
Otherwise, stores c at the next pointer for the output sequence,
increments the pointer, and
returnstraits::to_int_type(c)[.](#1.sentence-2)
[🔗](#lib:sputn,basic_streambuf)
`streamsize sputn(const char_type* s, streamsize n);
`
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3411)
*Returns*: xsputn(s, n)[.](#2.sentence-1)