[file.native]

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

## 31.10 File-based streams [[file.streams]](file.streams#file.native)

### 31.10.2 Native handles [file.native]

[1](#1)

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

Several classes described in [[file.streams]](file.streams "31.10 File-based streams") have a member native_handle_type[.](#1.sentence-1)

[2](#2)

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

The type native_handle_type represents a platform-specific[*native handle*](#def:handle,native "31.10.2 Native handles [file.native]") to a file[.](#2.sentence-1)

It is trivially copyable and models [semiregular](concepts.object#concept:semiregular "18.6 Object concepts [concepts.object]")[.](#2.sentence-2)

[*Note [1](#note-1)*:

For operating systems based on POSIX,native_handle_type is int[.](#2.sentence-3)

For Windows-based operating systems,native_handle_type is HANDLE[.](#2.sentence-4)

â *end note*]
