1 //===----------------------------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 // default ctor 10 11 #include <bitset> 12 #include <cassert> 13 14 #include "test_macros.h" 15 16 template <std::size_t N> test_default_ctor()17TEST_CONSTEXPR_CXX23 void test_default_ctor() 18 { 19 { 20 TEST_CONSTEXPR std::bitset<N> v1; 21 assert(v1.size() == N); 22 for (std::size_t i = 0; i < v1.size(); ++i) 23 assert(v1[i] == false); 24 } 25 #if TEST_STD_VER >= 11 26 { 27 constexpr std::bitset<N> v1; 28 static_assert(v1.size() == N, ""); 29 } 30 #endif 31 } 32 test()33TEST_CONSTEXPR_CXX23 bool test() { 34 test_default_ctor<0>(); 35 test_default_ctor<1>(); 36 test_default_ctor<31>(); 37 test_default_ctor<32>(); 38 test_default_ctor<33>(); 39 test_default_ctor<63>(); 40 test_default_ctor<64>(); 41 test_default_ctor<65>(); 42 test_default_ctor<1000>(); 43 44 return true; 45 } 46 main(int,char **)47int main(int, char**) 48 { 49 test(); 50 #if TEST_STD_VER > 20 51 static_assert(test()); 52 #endif 53 54 return 0; 55 } 56