---
name: "std::integral_constant"
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::integral_constant/3cxx"
---

# std::integral\_constant(3cxx)

integral\_constant

## NAME

std::integral\_constant\< \_Tp, \_\_v \> - integral\_constant

## SYNOPSIS

`#include <type_traits>`

Inherited by std::\_\_is\_fast\_hash\< hash\< std::basic\_string\< \_CharT \> \> \>, std::\_\_is\_fast\_hash\< hash\< \_Tp \> \>, **std::is\_base\_of\< random\_access\_iterator\_tag, \_\_iterator\_category\_t\< \_It \> \>**, std::\_\_detail::\_\_is\_contiguous\_iter\< \_Tp \>, std::\_\_detail::\_\_is\_contiguous\_iter\< \_Tp \* \>, std::\_\_detail::\_\_is\_contiguous\_iter\< \_\_gnu\_cxx::\_\_normal\_iterator\< \_Tp \*, \_Cont \> \>, std::\_\_detail::\_\_variant::\_Extra\_visit\_slot\_needed\< \_Maybe\_variant\_cookie, \_Variant \>::\_Variant\_never\_valueless\< variant\< \_Types... \> \>, std::\_\_detail::\_\_variant::\_Multi\_array\< \_Tp \>::\_\_untag\_result\< typename \>, std::\_\_detail::\_\_variant::\_Multi\_array\< \_Tp \>::\_\_untag\_result\< \_\_deduce\_visit\_result\< \_Res \>(\*)(\_Args...)\>, std::\_\_detail::\_\_variant::\_Multi\_array\< \_Tp \>::\_\_untag\_result\< \_\_variant\_cookie(\*)(\_Args...)\>, std::\_\_detail::\_\_variant::\_Multi\_array\< \_Tp \>::\_\_untag\_result\< \_\_variant\_idx\_cookie(\*)(\_Args...)\>, std::\_\_detail::\_\_variant::\_Multi\_array\< \_Tp \>::\_\_untag\_result\< const void(\*)(\_Args...)\>, std::\_\_detail::\_\_variant::\_Never\_valueless\_alt\< std::any \>, std::\_\_detail::\_\_variant::\_Never\_valueless\_alt\< std::function\< \_Signature \> \>, std::\_\_detail::\_\_variant::\_Never\_valueless\_alt\< std::shared\_ptr\< \_Tp \> \>, std::\_\_detail::\_\_variant::\_Never\_valueless\_alt\< std::unique\_ptr\< \_Tp, \_Del \> \>, std::\_\_detail::\_\_variant::\_Never\_valueless\_alt\< std::weak\_ptr\< \_Tp \> \>, std::\_\_has\_iec559\_behavior\< \_Trait, \_Tp \>, std::\_\_has\_iec559\_storage\_format\< \_Tp \>, std::\_\_is\_bitwise\_relocatable\<::deque\< \_Tp \> \>, std::\_\_is\_byte\_like\< \_Tp, \_Pred \>, std::\_\_is\_byte\_like\< byte, equal\_to\< byte \> \>, std::\_\_is\_byte\_like\< byte, equal\_to\< void \> \>, std::\_\_is\_copy\_assignable\_impl\< \_Tp, false \>, std::\_\_is\_empty\_non\_tuple\< tuple\< \_El0, \_El... \> \>, std::\_\_is\_fast\_hash\< \_Hash \>, std::\_\_is\_fast\_hash\< hash\< experimental::string\_view \> \>, std::\_\_is\_fast\_hash\< hash\< experimental::u16string\_view \> \>, std::\_\_is\_fast\_hash\< hash\< experimental::u32string\_view \> \>, std::\_\_is\_fast\_hash\< hash\< experimental::wstring\_view \> \>, std::\_\_is\_fast\_hash\< hash\< long double \> \>, std::\_\_is\_fast\_hash\< hash\< string \> \>, std::\_\_is\_fast\_hash\< hash\< string\_view \> \>, std::\_\_is\_fast\_hash\< hash\< u16string \> \>, std::\_\_is\_fast\_hash\< hash\< u16string\_view \> \>, std::\_\_is\_fast\_hash\< hash\< u32string \> \>, std::\_\_is\_fast\_hash\< hash\< u32string\_view \> \>, std::\_\_is\_fast\_hash\< hash\< variant\< \_Types... \> \> \>, std::\_\_is\_fast\_hash\< hash\< wstring \> \>, std::\_\_is\_fast\_hash\< hash\< wstring\_view \> \>, std::\_\_is\_member\_function\_pointer\_helper\< typename \>, std::\_\_is\_member\_object\_pointer\_helper\< typename \>, std::\_\_is\_move\_assignable\_impl\< \_Tp, false \>, std::\_\_is\_nt\_copy\_assignable\_impl\< \_Tp, false \>, std::\_\_is\_nt\_move\_assignable\_impl\< \_Tp, false \>, std::\_\_is\_null\_pointer\_helper\< typename \>, std::\_\_is\_null\_pointer\_helper\< std::nullptr\_t \>, std::\_\_is\_pointer\_helper\< typename \>, std::\_\_is\_pointer\_helper\< \_Tp \* \>, std::\_\_is\_trivially\_copy\_assignable\_impl\< \_Tp, false \>, std::\_\_is\_trivially\_copy\_constructible\_impl\< \_Tp, false \>, std::\_\_is\_trivially\_move\_assignable\_impl\< \_Tp, false \>, std::\_\_is\_trivially\_move\_constructible\_impl\< \_Tp, false \>, std::\_\_is\_tuple\_like\_impl\< array\< \_Tp, \_Nm \> \>, std::\_\_parse\_int::\_Number\< \_Base, \_Digs \>, std::\_\_parse\_int::\_Number\< \_Base \>, std::\_\_parse\_int::\_Parse\_int\< \_Digs \>, std::\_\_parse\_int::\_Parse\_int\< '0', 'B', \_Digs... \>, std::\_\_parse\_int::\_Parse\_int\< '0', 'X', \_Digs... \>, std::\_\_parse\_int::\_Parse\_int\< '0', 'b', \_Digs... \>, std::\_\_parse\_int::\_Parse\_int\< '0', 'x', \_Digs... \>, std::\_\_parse\_int::\_Parse\_int\< '0', \_Digs... \>, std::\_\_parse\_int::\_Power\< \_Base, \_Digs \>, std::\_\_parse\_int::\_Power\< \_Base \>, std::\_\_sp\_compatible\_with\< \_Yp\_ptr, \_Tp\_ptr \>, std::\_\_sp\_compatible\_with\< \_Up(\*)\[\_Nm\], \_Up(\*)\[\]\>, std::\_\_sp\_compatible\_with\< \_Up(\*)\[\_Nm\], const \_Up(\*)\[\]\>, std::\_\_sp\_compatible\_with\< \_Up(\*)\[\_Nm\], const volatile \_Up(\*)\[\]\>, std::\_\_sp\_compatible\_with\< \_Up(\*)\[\_Nm\], volatile \_Up(\*)\[\]\>, std::\_\_sp\_is\_constructible\_arr\< \_Up, \_Yp, typename \>, std::\_\_sp\_is\_constructible\_arrN\< \_Up, \_Nm, \_Yp, typename \>, std::\_\_value\_exists\_impl\< \_Trait, \_Tp, typename \>, std::\_\_value\_exists\_impl\< \_Trait, \_Tp, void\_t\< decltype(\_Trait\< \_Tp \>::value)\> \>, std::chrono::is\_clock\< \_Tp \>, std::chrono::is\_clock\< \_Tp \>, std::chrono::is\_clock\< file\_clock \>, std::chrono::is\_clock\< gps\_clock \>, std::chrono::is\_clock\< steady\_clock \>, std::chrono::is\_clock\< system\_clock \>, std::chrono::is\_clock\< tai\_clock \>, std::chrono::is\_clock\< utc\_clock \>, std::experimental::fundamentals\_v2::\_\_make\_array\_elem\< void, \_Types... \>::\_\_is\_reference\_wrapper\< typename \>, std::experimental::fundamentals\_v2::\_\_make\_array\_elem\< void, \_Types... \>::\_\_is\_reference\_wrapper\< reference\_wrapper\< \_Up \> \>, **std::has\_unique\_object\_representations\< \_Tp \>**, **std::is\_aggregate\< \_Tp \>**, **std::is\_array\< typename \>**, std::is\_array\< \_Tp\[\]\>, std::is\_array\< \_Tp\[\_Size\]\>, **std::is\_bind\_expression\< \_Tp \>**, **std::is\_bind\_expression\< \_Bind\< \_Signature \> \>**, **std::is\_bind\_expression\< \_Bind\_result\< \_Result, \_Signature \> \>**, **std::is\_bind\_expression\< const \_Bind\< \_Signature \> \>**, **std::is\_bind\_expression\< const \_Bind\_result\< \_Result, \_Signature \> \>**, **std::is\_bind\_expression\< const volatile \_Bind\< \_Signature \> \>**, **std::is\_bind\_expression\< const volatile \_Bind\_result\< \_Result, \_Signature \> \>**, **std::is\_bind\_expression\< volatile \_Bind\< \_Signature \> \>**, **std::is\_bind\_expression\< volatile \_Bind\_result\< \_Result, \_Signature \> \>**, **std::is\_const\< typename \>**, std::is\_const\< \_Tp const \>, **std::is\_error\_code\_enum\< \_Tp \>**, **std::is\_error\_code\_enum\< future\_errc \>**, std::is\_error\_code\_enum\< io\_errc \>, **std::is\_error\_condition\_enum\< \_Tp \>**, std::is\_error\_condition\_enum\< errc \>, std::is\_function\< \_Tp & \>, std::is\_function\< \_Tp && \>, **std::is\_layout\_compatible\< \_Tp, \_Up \>**, **std::is\_lvalue\_reference\< typename \>**, std::is\_lvalue\_reference\< \_Tp & \>, **std::is\_member\_function\_pointer\< \_Tp \>**, **std::is\_member\_object\_pointer\< \_Tp \>**, **std::is\_null\_pointer\< \_Tp \>**, **std::is\_pointer\< \_Tp \>**, **std::is\_pointer\_interconvertible\_base\_of\< \_Base, \_Derived \>**, **std::is\_rvalue\_reference\< typename \>**, std::is\_rvalue\_reference\< \_Tp && \>, **std::is\_same\< \_Tp, \_Up \>**, std::is\_same\< \_Tp, \_Tp \>, **std::is\_volatile\< typename \>**, std::is\_volatile\< \_Tp volatile \>, std::uses\_allocator\< promise\< \_Res \>, \_Alloc \>, and **std::uses\_allocator\< tuple\< \_Types... \>, \_Alloc \>**.

### Public Types

**typedef** **integral\_constant**\< \_Tp, **\_\_v** \> **type**\
 **typedef** \_Tp **value\_type**\

### Public Member Functions

constexpr **operator value\_type** () const noexcept\
 constexpr value\_type **operator()** () const noexcept\

### Static Public Attributes

**static** constexpr \_Tp **value**\

## Detailed Description

### template\<typename \_Tp, \_Tp \_\_v\>

struct std::integral\_constant\< \_Tp, \_\_v \>"integral\_constant

## Author

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