5#ifndef V8_BASE_VECTOR_H_ 
    6#define V8_BASE_VECTOR_H_ 
   32    DCHECK(length == 0 || data != 
nullptr);
 
 
   53    std::copy(other.begin(), other.end(), 
begin());
 
 
   56  template <
class U, 
size_t n>
 
   59    std::copy(other.begin(), other.end(), 
begin());
 
 
   66    return static_cast<int>(
length_);
 
 
  106  constexpr std::reverse_iterator<T*> 
rbegin()
 const {
 
  107    return std::make_reverse_iterator(
end());
 
 
  109  constexpr std::reverse_iterator<T*> 
rend()
 const {
 
  110    return std::make_reverse_iterator(
begin());
 
 
  150  template <
typename U>
 
  151    requires std::is_convertible_v<T*, const U*> && (
sizeof(U) == 
sizeof(
T))
 
  156  template <
typename S>
 
  160    static_assert(std::is_trivial_v<S> && std::is_standard_layout_v<S>);
 
  161    static_assert(std::is_trivial_v<T> && std::is_standard_layout_v<T>);
 
  162    DCHECK_EQ(0, (input.size() * 
sizeof(S)) % 
sizeof(T));
 
  163    DCHECK_EQ(0, 
reinterpret_cast<uintptr_t
>(input.begin()) % 
alignof(T));
 
  164    return Vector<T>(
reinterpret_cast<T*
>(input.begin()),
 
  165                     input.size() * 
sizeof(S) / 
sizeof(T));
 
 
  169    return std::equal(
begin(), 
end(), other.begin(), other.end());
 
 
  176  template <
typename TT = T>
 
  177    requires(!std::is_const_v<TT>)
 
  179    return std::equal(
begin(), 
end(), other.begin(), other.end());
 
 
  182  template <
typename TT = T>
 
  183    requires(!std::is_const_v<TT>)
 
  228  template <
typename U>
 
  229    requires std::is_convertible_v<std::unique_ptr<U>, std::unique_ptr<T>>
 
  231    *
this = std::move(other);
 
 
  234  template <
typename U>
 
  235    requires std::is_convertible_v<std::unique_ptr<U>, std::unique_ptr<T>>
 
  237    static_assert(
sizeof(U) == 
sizeof(
T));
 
  238    data_ = std::move(other.data_);
 
 
  262  constexpr std::reverse_iterator<T*> 
rbegin()
 const {
 
  263    return std::make_reverse_iterator(
end());
 
 
  265  constexpr std::reverse_iterator<T*> 
rend()
 const {
 
  266    return std::make_reverse_iterator(
begin());
 
 
  282    return std::move(
data_);
 
 
  288    if (size == 0) 
return {};
 
 
  295    if (size == 0) 
return {};
 
  296    return OwnedVector<T>(std::make_unique_for_overwrite<T[]>(size), size);
 
 
  302  template <
typename U>
 
  305    std::copy(data, data + size, 
result.begin());
 
 
  313  template <
typename U>
 
 
  327  return {array, N - 1};
 
 
  332  return {
data, strlen(data)};
 
 
  338  return {
reinterpret_cast<const uint8_t*
>(
data), length};
 
 
  353template <
typename T, 
size_t N>
 
  361  return {
start, size};
 
 
  366template <
typename Container>
 
  368    -> 
decltype(
VectorOf(std::data(c), std::size(c))) {
 
  369  return VectorOf(std::data(c), std::size(c));
 
 
  377  return VectorOf(list.begin(), list.size());
 
 
  390template <
typename Container>
 
  392    -> 
decltype(
OwnedCopyOf(std::data(c), std::size(c))) {
 
 
  396template <
typename T, 
size_t kSize>
 
  401    std::fill_n(
buffer_, kSize, initial_value);
 
 
 
union v8::internal::@341::BuiltinMetadata::KindSpecificData data
 
EmbeddedVector & operator=(const EmbeddedVector &)=delete
 
EmbeddedVector(const EmbeddedVector &)=delete
 
EmbeddedVector(const T &initial_value)
 
constexpr T * begin() const
 
constexpr bool empty() const
 
constexpr size_t size() const
 
bool operator==(std::nullptr_t) const
 
static OwnedVector< T > New(size_t size)
 
static OwnedVector< U > NewByCopying(const U *data, size_t size)
 
std::unique_ptr< T[]> ReleaseData()
 
OwnedVector(OwnedVector< U > &&other) V8_NOEXCEPT
 
std::unique_ptr< T[]> data_
 
OwnedVector(const OwnedVector &)=delete
 
T & operator[](size_t index) const
 
OwnedVector(std::unique_ptr< T[]> data, size_t length)
 
OwnedVector & operator=(const OwnedVector &)=delete
 
constexpr std::reverse_iterator< T * > rbegin() const
 
constexpr T * end() const
 
bool operator!=(std::nullptr_t) const
 
constexpr T * data() const
 
constexpr std::reverse_iterator< T * > rend() const
 
Vector< T > as_vector() const
 
OwnedVector & operator=(OwnedVector< U > &&other) V8_NOEXCEPT
 
static OwnedVector< T > NewForOverwrite(size_t size)
 
DISALLOW_IMPLICIT_CONSTRUCTORS(ScopedVector)
 
ScopedVector(size_t length)
 
void OverwriteWith(Vector< U > other)
 
Vector< T > Clone() const
 
T & operator[](size_t index) const
 
Vector< T > SubVector(size_t from, size_t to) const
 
bool operator!=(const Vector< T > &other) const
 
constexpr std::reverse_iterator< T * > rend() const
 
bool operator==(const Vector< T > &other) const
 
Vector< T > operator+=(size_t offset)
 
constexpr bool empty() const
 
constexpr Vector(T *data, size_t length)
 
Vector< T > operator+(size_t offset)
 
void Truncate(size_t length)
 
constexpr size_t size() const
 
const T & at(size_t index) const
 
Vector< T > SubVectorFrom(size_t from) const
 
void OverwriteWith(const std::array< U, n > &other)
 
static Vector< T > New(size_t length)
 
constexpr std::reverse_iterator< T * > rbegin() const
 
constexpr const T * cend() const
 
constexpr T * begin() const
 
constexpr T * data() const
 
static Vector< T > cast(Vector< S > input)
 
constexpr const T * cbegin() const
 
constexpr T * end() const
 
ZoneVector< RpoNumber > & result
 
V8_INLINE size_t hash_value(unsigned int v)
 
V8_INLINE size_t hash_range(Iterator first, Iterator last)
 
constexpr Vector< T > ArrayVector(T(&arr)[N])
 
Vector< const uint8_t > StaticOneByteVector(const char(&array)[N])
 
constexpr Vector< const char > StaticCharVector(const char(&array)[N])
 
constexpr Vector< T > VectorOf(T *start, size_t size)
 
Vector< const char > CStrVector(const char *data)
 
OwnedVector< T > OwnedCopyOf(const T *data, size_t size)
 
Vector< const uint8_t > OneByteVector(const char *data, size_t length)
 
#define DCHECK_LE(v1, v2)
 
#define CHECK_GE(lhs, rhs)
 
#define DCHECK_IMPLIES(v1, v2)
 
#define DCHECK(condition)
 
#define DCHECK_LT(v1, v2)
 
#define DCHECK_EQ(v1, v2)