---
name: "std::tr2"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/std::tr2/3cxx"
---

# std::tr2(3cxx)

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.
