[streambuf.get.area]

# 31 Input/output library [[input.output]](./#input.output)

## 31.6 Stream buffers [[stream.buffers]](stream.buffers#streambuf.get.area)

### 31.6.3 Class template basic_streambuf [[streambuf]](streambuf#get.area)

#### 31.6.3.4 Protected member functions [[streambuf.protected]](streambuf.protected#streambuf.get.area)

#### 31.6.3.4.2 Get area access [streambuf.get.area]

[ð](#lib:eback,basic_streambuf)

`char_type* eback() const;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3463)

*Returns*: The beginning pointer for the input sequence[.](#1.sentence-1)

[ð](#lib:gptr,basic_streambuf)

`char_type* gptr() const;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3474)

*Returns*: The next pointer for the input sequence[.](#2.sentence-1)

[ð](#lib:egptr,basic_streambuf)

`char_type* egptr() const;
`

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3485)

*Returns*: The end pointer for the input sequence[.](#3.sentence-1)

[ð](#lib:gbump,basic_streambuf)

`void gbump(int n);
`

[4](#4)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3496)

*Effects*: Adds n to the next pointer for the input sequence[.](#4.sentence-1)

[ð](#lib:setg,basic_streambuf)

`void setg(char_type* gbeg, char_type* gnext, char_type* gend);
`

[5](#5)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3507)

*Preconditions*: [gbeg, gnext), [gbeg, gend), and [gnext, gend)
are all valid ranges[.](#5.sentence-1)

[6](#6)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L3512)

*Postconditions*: gbeg == eback(),gnext == gptr(),
andgend == egptr() are all true[.](#6.sentence-1)
