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 #include <vector> 10 11 _LIBCPP_BEGIN_NAMESPACE_STD 12 13 #ifndef _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON 14 15 template <bool> 16 struct __vector_base_common; 17 18 template <> 19 struct __vector_base_common<true> { 20 _LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void __throw_length_error() const; 21 _LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void __throw_out_of_range() const; 22 }; 23 24 void __vector_base_common<true>::__throw_length_error() const { 25 _VSTD::__throw_length_error("vector"); 26 } 27 28 void __vector_base_common<true>::__throw_out_of_range() const { 29 _VSTD::__throw_out_of_range("vector"); 30 } 31 32 #endif // _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON 33 34 _LIBCPP_END_NAMESPACE_STD 35