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 | |