xref: /freebsd/contrib/llvm-project/libcxx/src/vector.cpp (revision 96190b4fef3b4a0cc3ca0606b0c4e3e69a5e6717)
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 { std::__throw_length_error("vector"); }
25 
26 void __vector_base_common<true>::__throw_out_of_range() const { std::__throw_out_of_range("vector"); }
27 
28 #endif // _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON
29 
30 _LIBCPP_END_NAMESPACE_STD
31