[stream.types]

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

## 31.2 Iostreams requirements [[iostreams.requirements]](iostreams.requirements#stream.types)

### 31.2.2 Types [stream.types]

[ð](#lib:streamoff)

`using streamoff = implementation-defined;
`

[1](#1)

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

The type streamoff is a synonym for one of the signed basic integral types of
sufficient size to represent the maximum possible file size for the operating system[.](#1.sentence-1)[255](#footnote-255 "Typically long long.")

[ð](#lib:streamsize)

`using streamsize = implementation-defined;
`

[2](#2)

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

The typestreamsize is a synonym for one of the signed basic
integral types[.](#2.sentence-1)

It is used to represent the number of characters transferred in an I/O
operation, or the size of I/O buffers[.](#2.sentence-2)[256](#footnote-256 "Most places where streamsize is used would use size_­t in C, or ssize_­t in POSIX.")

[255)](#footnote-255)[255)](#footnoteref-255)

Typically long long[.](#footnote-255.sentence-1)

[256)](#footnote-256)[256)](#footnoteref-256)

Most places where streamsize is used would use size_t in C,
or ssize_t in POSIX[.](#footnote-256.sentence-1)
