---
name: "std::tr2"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/std::tr2"
---

# std::tr2(3)

Namespace for non-standard "TR2" extensions.

## NAME

std::tr2 - Namespace for non-standard "TR2" extensions.

## SYNOPSIS

### Namespaces

namespace **\_\_detail**\
 Implementation details not part of the namespace std::tr2 interface.

### Classes

struct **\_\_dynamic\_bitset\_base**\
 struct **\_\_reflection\_typelist**\
 struct **\_\_reflection\_typelist\< \_First, \_Rest... \>**\
 Partial specialization.  struct **\_\_reflection\_typelist\<\>**\
 Specialization for an empty typelist.  struct **bases**\
 Sequence abstraction metafunctions for manipulating a typelist.  class **bool\_set**\
 struct **direct\_bases**\
 Enumerate all the direct base classes of a class. Form of a typelist.  class **dynamic\_bitset**\
 The dynamic\_bitset class represents a sequence of bits.

### Functions

bool **certainly** (**bool\_set** \_\_b)\
 bool **contains** (**bool\_set** \_\_s, **bool\_set** \_\_t)\
 bool **equals** (**bool\_set** \_\_s, **bool\_set** \_\_t)\
 bool **is\_emptyset** (**bool\_set** \_\_b)\
 bool **is\_indeterminate** (**bool\_set** \_\_b)\
 bool **is\_singleton** (**bool\_set** \_\_b)\
 **bool\_set** **operator!=** (bool \_\_s, **bool\_set** \_\_t)\
 **bool\_set** **operator!=** (**bool\_set** \_\_s, bool \_\_t)\
 **bool\_set** **operator!=** (**bool\_set** \_\_s, **bool\_set** \_\_t)\
 **bool\_set** **operator&** (bool \_\_s, **bool\_set** \_\_t)\
 **bool\_set** **operator&** (**bool\_set** \_\_s, bool \_\_t)\
 template\<typename \_CharT, typename \_Traits, typename \_WordT, typename \_Alloc\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_x)\
 Stream output operator for dynamic\_bitset.  **bool\_set** **operator==** (bool \_\_s, **bool\_set** \_\_t)\
 **bool\_set** **operator==** (**bool\_set** \_\_s, bool \_\_t)\
 template\<typename \_CharT, typename \_Traits, typename \_WordT, typename \_Alloc\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_x)\
 Stream input operator for dynamic\_bitset.  **bool\_set** **operator^** (bool \_\_s, **bool\_set** \_\_t)\
 **bool\_set** **operator^** (**bool\_set** \_\_s, bool \_\_t)\
 **bool\_set** **operator\|** (bool \_\_s, **bool\_set** \_\_t)\
 **bool\_set** **operator\|** (**bool\_set** \_\_s, bool \_\_t)\
 bool **possibly** (**bool\_set** \_\_b)\
 **bool\_set** **set\_complement** (**bool\_set** \_\_b)\
 **bool\_set** **set\_intersection** (bool \_\_s, **bool\_set** \_\_t)\
 **bool\_set** **set\_intersection** (**bool\_set** \_\_s, bool \_\_t)\
 **bool\_set** **set\_intersection** (**bool\_set** \_\_s, **bool\_set** \_\_t)\
 **bool\_set** **set\_union** (bool \_\_s, **bool\_set** \_\_t)\
 **bool\_set** **set\_union** (**bool\_set** \_\_s, bool \_\_t)\
 **bool\_set** **set\_union** (**bool\_set** \_\_s, **bool\_set** \_\_t)\

template\<typename \_WordT, typename \_Alloc\> bool **operator!=** (const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_lhs, const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_rhs)\
 These comparisons for equality/inequality are, well, *bitwise*.  template\<typename \_WordT, typename \_Alloc\> bool **operator\<=** (const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_lhs, const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_rhs)\
 These comparisons for equality/inequality are, well, *bitwise*.  template\<typename \_WordT, typename \_Alloc\> bool **operator\>** (const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_lhs, const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_rhs)\
 These comparisons for equality/inequality are, well, *bitwise*.  template\<typename \_WordT, typename \_Alloc\> bool **operator\>=** (const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_lhs, const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_rhs)\
 These comparisons for equality/inequality are, well, *bitwise*.

template\<typename \_WordT, typename \_Alloc\> **dynamic\_bitset**\< \_WordT, \_Alloc \> **operator&** (const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_x, const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_y)\
 Global bitwise operations on bitsets.  template\<typename \_WordT, typename \_Alloc\> **dynamic\_bitset**\< \_WordT, \_Alloc \> **operator\|** (const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_x, const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_y)\
 Global bitwise operations on bitsets.  template\<typename \_WordT, typename \_Alloc\> **dynamic\_bitset**\< \_WordT, \_Alloc \> **operator^** (const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_x, const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_y)\
 Global bitwise operations on bitsets.  template\<typename \_WordT, typename \_Alloc\> **dynamic\_bitset**\< \_WordT, \_Alloc \> **operator-** (const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_x, const **dynamic\_bitset**\< \_WordT, \_Alloc \> &\_\_y)\
 Global bitwise operations on bitsets.

## Detailed Description

Namespace for non-standard "TR2" extensions.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
