blob: 201d4e3bf09a4939744387c1a701552f31d2c787 [file] [log] [blame]
Louis Dionne9bd93882021-11-17 16:25:01 -05001//===----------------------------------------------------------------------===//
Eric Fiselierd23d4592017-06-15 01:53:12 +00002//
Chandler Carruthd2012102019-01-19 10:56:40 +00003// 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
Eric Fiselierd23d4592017-06-15 01:53:12 +00006//
7//===----------------------------------------------------------------------===//
8
9#include "vector"
10
11_LIBCPP_BEGIN_NAMESPACE_STD
12
Nikolas Klauser129974f2022-02-03 23:09:37 +010013#ifndef _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON
14
15template <bool>
16struct __vector_base_common;
17
18template <>
19struct __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
Louis Dionneb6aabd92021-08-19 12:21:06 -040024void __vector_base_common<true>::__throw_length_error() const {
Nikolas Klauser129974f2022-02-03 23:09:37 +010025 _VSTD::__throw_length_error("vector");
Louis Dionneb6aabd92021-08-19 12:21:06 -040026}
27
28void __vector_base_common<true>::__throw_out_of_range() const {
Nikolas Klauser129974f2022-02-03 23:09:37 +010029 _VSTD::__throw_out_of_range("vector");
Louis Dionneb6aabd92021-08-19 12:21:06 -040030}
Eric Fiselierd23d4592017-06-15 01:53:12 +000031
Nikolas Klauser129974f2022-02-03 23:09:37 +010032#endif // _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON
33
Eric Fiselierd23d4592017-06-15 01:53:12 +000034_LIBCPP_END_NAMESPACE_STD