[simd.flags.overview]

# 29 Numerics library [[numerics]](./#numerics)

## 29.10 Data-parallel types [[simd]](simd#flags.overview)

### 29.10.5 Load and store flags [[simd.flags]](simd.flags#overview)

#### 29.10.5.1 Class template flags overview [simd.flags.overview]

[ð](#lib:flags,simd)

namespace std::simd {template<class... Flags> struct flags {// [[simd.flags.oper]](simd.flags.oper "29.10.5.2 flags operators"), flags operatorstemplate<class... Other>friend consteval auto operator|(flags, flags<Other...>); };}

[1](#1)

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

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

The class template flags acts like an integer bit-flag for types[.](#1.sentence-1)

â *end note*]

[2](#2)

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

*Constraints*: Every type in the parameter pack Flags is one of *convert-flag*,*aligned-flag*, or *overaligned-​flag*<N>[.](#2.sentence-1)
