1*5f757f3fSDimitry Andric// -*- C++ -*- 2*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 3*5f757f3fSDimitry Andric// 4*5f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*5f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 6*5f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*5f757f3fSDimitry Andric// 8*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 9*5f757f3fSDimitry Andric 10*5f757f3fSDimitry Andricexport namespace std { 11*5f757f3fSDimitry Andric // [bit.cast], bit_cast 12*5f757f3fSDimitry Andric using std::bit_cast; 13*5f757f3fSDimitry Andric 14*5f757f3fSDimitry Andric#if _LIBCPP_STD_VER >= 23 15*5f757f3fSDimitry Andric // [bit.byteswap], byteswap 16*5f757f3fSDimitry Andric using std::byteswap; 17*5f757f3fSDimitry Andric#endif 18*5f757f3fSDimitry Andric 19*5f757f3fSDimitry Andric // [bit.pow.two], integral powers of 2 20*5f757f3fSDimitry Andric using std::bit_ceil; 21*5f757f3fSDimitry Andric using std::bit_floor; 22*5f757f3fSDimitry Andric using std::bit_width; 23*5f757f3fSDimitry Andric using std::has_single_bit; 24*5f757f3fSDimitry Andric 25*5f757f3fSDimitry Andric // [bit.rotate], rotating 26*5f757f3fSDimitry Andric using std::rotl; 27*5f757f3fSDimitry Andric using std::rotr; 28*5f757f3fSDimitry Andric 29*5f757f3fSDimitry Andric // [bit.count], counting 30*5f757f3fSDimitry Andric using std::countl_one; 31*5f757f3fSDimitry Andric using std::countl_zero; 32*5f757f3fSDimitry Andric using std::countr_one; 33*5f757f3fSDimitry Andric using std::countr_zero; 34*5f757f3fSDimitry Andric using std::popcount; 35*5f757f3fSDimitry Andric 36*5f757f3fSDimitry Andric // [bit.endian], endian 37*5f757f3fSDimitry Andric using std::endian; 38*5f757f3fSDimitry Andric} // namespace std 39