// Vector implementation -*- C++ -*-
-// Copyright (C) 2001-2023 Free Software Foundation, Inc.
+// Copyright (C) 2001-2024 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
# include <compare>
#endif
-#define __glibcxx_want_constexpr_vector
-#include <bits/version.h>
-
#include <debug/assertions.h>
#if _GLIBCXX_SANITIZE_STD_ALLOCATOR && _GLIBCXX_SANITIZE_VECTOR
_GLIBCXX_ASAN_ANNOTATE_GREW(1);
}
else
- _M_realloc_insert(end(), __x);
+ _M_realloc_append(__x);
}
#if __cplusplus >= 201103L
void
_M_realloc_insert(iterator __position, const value_type& __x);
+
+ void
+ _M_realloc_append(const value_type& __x);
#else
// A value_type object constructed with _Alloc_traits::construct()
// and destroyed with _Alloc_traits::destroy().
void
_M_realloc_insert(iterator __position, _Args&&... __args);
+ template<typename... _Args>
+ _GLIBCXX20_CONSTEXPR
+ void
+ _M_realloc_append(_Args&&... __args);
+
// Either move-construct at the end, or forward to _M_insert_aux.
_GLIBCXX20_CONSTEXPR
iterator