SpECTRE  v2024.04.12
cpp20 Namespace Reference

C++ STL code present in C++20. More...

Classes

struct  array
 A std::array implementation with partial C++20 support. More...
 
struct  remove_cvref
 

Typedefs

template<class T >
using remove_cvref_t = typename remove_cvref< T >::type
 

Functions

template<class T >
constexpr void swap (T &a, T &b)
 
template<class ForwardIt1 , class ForwardIt2 >
constexpr void iter_swap (ForwardIt1 a, ForwardIt2 b)
 
template<class BidirectionalIterator >
constexpr void reverse (BidirectionalIterator first, BidirectionalIterator last)
 
template<class Compare , class BidirectionalIterator >
constexpr bool next_permutation (BidirectionalIterator first, BidirectionalIterator last, Compare comp)
 
template<class BidirectionalIterator >
constexpr bool next_permutation (BidirectionalIterator first, BidirectionalIterator last)
 
template<class InputIt , class T >
constexpr InputIt find (InputIt first, InputIt last, const T &value)
 
template<class InputIt , class UnaryPredicate >
constexpr InputIt find_if (InputIt first, InputIt last, UnaryPredicate p)
 
template<class InputIt , class UnaryPredicate >
constexpr InputIt find_if_not (InputIt first, InputIt last, UnaryPredicate q)
 
template<typename InputIter1 , typename InputIter2 , typename BinaryPred = detail::Equal<>>
constexpr bool equal (InputIter1 first1, InputIter1 last1, InputIter2 first2, BinaryPred pred=detail::Equal<>{})
 
template<typename InputIter1 , typename InputIter2 , typename BinaryPred = std::less_equal<>>
constexpr bool lexicographical_compare (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, BinaryPred pred=std::less_equal<>{})
 
template<class T , size_t Size>
constexpr bool operator== (const array< T, Size > &x, const array< T, Size > &y)
 
template<class T , size_t Size>
constexpr bool operator!= (const array< T, Size > &lhs, const array< T, Size > &rhs)
 
template<class T , size_t Size>
constexpr bool operator< (const array< T, Size > &lhs, const array< T, Size > &rhs)
 
template<class T , size_t Size>
constexpr bool operator> (const array< T, Size > &lhs, const array< T, Size > &rhs)
 
template<class T , size_t Size>
constexpr bool operator<= (const array< T, Size > &lhs, const array< T, Size > &rhs)
 
template<class T , size_t Size>
constexpr bool operator>= (const array< T, Size > &lhs, const array< T, Size > &rhs)
 
template<typename T >
std::ostreamoperator<< (std::ostream &os, const array< T, 0 > &)
 
template<typename T , size_t N>
std::ostreamoperator<< (std::ostream &os, const array< T, N > &a)
 
template<typename T , typename... Args>
detail::unique_type< T >::single_object make_unique_for_overwrite ()
 
template<typename T >
detail::unique_type< T >::array make_unique_for_overwrite (const size_t num)
 
template<typename T , typename... Args>
detail::unique_type< T >::invalid_type make_unique_for_overwrite (Args &&...)=delete
 

Detailed Description

C++ STL code present in C++20.