[library.class.props]

# 16 Library introduction [[library]](./#library)

## 16.4 Library-wide requirements [[requirements]](requirements#library.class.props)

### 16.4.6 Conforming implementations [[conforming]](conforming#library.class.props)

#### 16.4.6.11 Properties of library classes [library.class.props]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3825)

Unless explicitly stated otherwise, it is unspecified whether any class
described in [[support]](support "17 Language support library") through [[exec]](exec "33 Execution control library") and[[depr]](depr "Annex D (normative) Compatibility features") is a trivially copyable class, a standard-layout class, or an
implicit-lifetime class ([[class.prop]](class.prop "11.2 Properties of classes"))[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3831)

Unless explicitly stated otherwise, it is unspecified whether any class for
which trivial relocation (i.e., the effects oftrivially_relocate ([[obj.lifetime]](obj.lifetime "20.2.6 Explicit lifetime management"))) would be semantically equivalent
to move-construction of the destination object followed by destruction of the
source object is a trivially relocatable class ([[class.prop]](class.prop "11.2 Properties of classes"))[.](#2.sentence-1)

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3838)

Unless explicitly stated otherwise, it is unspecified whether a class C is a replaceable class ([[class.prop]](class.prop "11.2 Properties of classes")) if assigning an xvalue a of
type C to an object b of type C is semantically
equivalent to destroying b and then constructing from a inb's place[.](#3.sentence-1)
