v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::ZoneVector< T > Class Template Reference

#include <zone-containers.h>

Inheritance diagram for v8::internal::ZoneVector< T >:
Collaboration diagram for v8::internal::ZoneVector< T >:

Public Types

using iterator = T*
 
using const_iterator = const T*
 
using reverse_iterator = std::reverse_iterator<T*>
 
using const_reverse_iterator = std::reverse_iterator<const T*>
 
using value_type = T
 
using reference = T&
 
using const_reference = const T&
 
using size_type = size_t
 

Public Member Functions

 ZoneVector (Zone *zone)
 
 ZoneVector (size_t size, Zone *zone)
 
 ZoneVector (size_t size, T def, Zone *zone)
 
 ZoneVector (std::initializer_list< T > list, Zone *zone)
 
template<class It , typename = typename std::iterator_traits<It>::iterator_category>
 ZoneVector (It first, It last, Zone *zone)
 
 ZoneVector (const ZoneVector &other) V8_NOEXCEPT
 
 ZoneVector (ZoneVector &&other) V8_NOEXCEPT
 
 ~ZoneVector ()
 
ZoneVectoroperator= (const ZoneVector &other) V8_NOEXCEPT
 
ZoneVectoroperator= (ZoneVector &&other) V8_NOEXCEPT
 
ZoneVectoroperator= (std::initializer_list< T > ilist)
 
void swap (ZoneVector< T > &other) noexcept
 
void resize (size_t new_size)
 
void resize (size_t new_size, const T &value)
 
void assign (size_t new_size, const T &value)
 
void clear ()
 
size_t size () const
 
bool empty () const
 
size_t capacity () const
 
void reserve (size_t new_cap)
 
Tdata ()
 
const Tdata () const
 
Zonezone () const
 
Tat (size_t pos)
 
const Tat (size_t pos) const
 
Toperator[] (size_t pos)
 
const Toperator[] (size_t pos) const
 
Tfront ()
 
const Tfront () const
 
Tback ()
 
const Tback () const
 
Tbegin () V8_NOEXCEPT
 
const Tbegin () const V8_NOEXCEPT
 
const Tcbegin () const V8_NOEXCEPT
 
Tend () V8_NOEXCEPT
 
const Tend () const V8_NOEXCEPT
 
const Tcend () const V8_NOEXCEPT
 
reverse_iterator rbegin () V8_NOEXCEPT
 
const_reverse_iterator rbegin () const V8_NOEXCEPT
 
const_reverse_iterator crbegin () const V8_NOEXCEPT
 
reverse_iterator rend () V8_NOEXCEPT
 
const_reverse_iterator rend () const V8_NOEXCEPT
 
const_reverse_iterator crend () const V8_NOEXCEPT
 
void push_back (const T &value)
 
void push_back (T &&value)
 
void pop_back ()
 
template<typename... Args>
Templace_back (Args &&... args)
 
template<class It , typename = typename std::iterator_traits<It>::iterator_category>
Tinsert (const T *pos, It first, It last)
 
Tinsert (const T *pos, size_t count, const T &value)
 
Terase (const T *pos)
 
Terase (const T *first, const T *last)
 

Private Member Functions

size_t NewCapacity (size_t minimum)
 
V8_INLINE void EnsureOneMoreCapacity ()
 
V8_INLINE void EnsureCapacity (size_t minimum)
 
V8_INLINE void CopyToNewStorage (T *dst, const T *src)
 
V8_INLINE void MoveToNewStorage (T *dst, T *src)
 
V8_INLINE void CopyingOverwrite (T *dst, const T *src)
 
V8_INLINE void MovingOverwrite (T *dst, T *src)
 
V8_INLINE void CopyToNewStorage (T *dst, const T *src, const T *src_end)
 
V8_INLINE void MoveToNewStorage (T *dst, T *src, const T *src_end)
 
V8_INLINE void CopyingOverwrite (T *dst, const T *src, const T *src_end)
 
V8_INLINE void MovingOverwrite (T *dst, T *src, const T *src_end)
 
V8_NOINLINE V8_PRESERVE_MOST void Grow (size_t minimum)
 
TPrepareForInsertion (const T *pos, size_t count, size_t *assignable)
 
Terase (const T *first, size_t count)
 
template<typename... Args>
void emplace (T *target, Args &&... args)
 

Private Attributes

Zonezone_ {nullptr}
 
Tdata_ {nullptr}
 
Tend_ {nullptr}
 
Tcapacity_ {nullptr}
 

Static Private Attributes

static constexpr size_t kMinCapacity = 2
 

Detailed Description

template<typename T>
class v8::internal::ZoneVector< T >

Definition at line 53 of file zone-containers.h.

Member Typedef Documentation

◆ const_iterator

template<typename T >
using v8::internal::ZoneVector< T >::const_iterator = const T*

Definition at line 56 of file zone-containers.h.

◆ const_reference

template<typename T >
using v8::internal::ZoneVector< T >::const_reference = const T&

Definition at line 61 of file zone-containers.h.

◆ const_reverse_iterator

template<typename T >
using v8::internal::ZoneVector< T >::const_reverse_iterator = std::reverse_iterator<const T*>

Definition at line 58 of file zone-containers.h.

◆ iterator

template<typename T >
using v8::internal::ZoneVector< T >::iterator = T*

Definition at line 55 of file zone-containers.h.

◆ reference

template<typename T >
using v8::internal::ZoneVector< T >::reference = T&

Definition at line 60 of file zone-containers.h.

◆ reverse_iterator

template<typename T >
using v8::internal::ZoneVector< T >::reverse_iterator = std::reverse_iterator<T*>

Definition at line 57 of file zone-containers.h.

◆ size_type

template<typename T >
using v8::internal::ZoneVector< T >::size_type = size_t

Definition at line 62 of file zone-containers.h.

◆ value_type

template<typename T >
using v8::internal::ZoneVector< T >::value_type = T

Definition at line 59 of file zone-containers.h.

Constructor & Destructor Documentation

◆ ZoneVector() [1/7]

template<typename T >
v8::internal::ZoneVector< T >::ZoneVector ( Zone * zone)
inlineexplicit

Definition at line 65 of file zone-containers.h.

◆ ZoneVector() [2/7]

template<typename T >
v8::internal::ZoneVector< T >::ZoneVector ( size_t size,
Zone * zone )
inline

Definition at line 69 of file zone-containers.h.

Here is the call graph for this function:

◆ ZoneVector() [3/7]

template<typename T >
v8::internal::ZoneVector< T >::ZoneVector ( size_t size,
T def,
Zone * zone )
inline

Definition at line 77 of file zone-containers.h.

Here is the call graph for this function:

◆ ZoneVector() [4/7]

template<typename T >
v8::internal::ZoneVector< T >::ZoneVector ( std::initializer_list< T > list,
Zone * zone )
inline

Definition at line 85 of file zone-containers.h.

Here is the call graph for this function:

◆ ZoneVector() [5/7]

template<typename T >
template<class It , typename = typename std::iterator_traits<It>::iterator_category>
v8::internal::ZoneVector< T >::ZoneVector ( It first,
It last,
Zone * zone )
inline

Definition at line 100 of file zone-containers.h.

Here is the call graph for this function:

◆ ZoneVector() [6/7]

template<typename T >
v8::internal::ZoneVector< T >::ZoneVector ( const ZoneVector< T > & other)
inline

Definition at line 114 of file zone-containers.h.

◆ ZoneVector() [7/7]

template<typename T >
v8::internal::ZoneVector< T >::ZoneVector ( ZoneVector< T > && other)
inline

Definition at line 118 of file zone-containers.h.

◆ ~ZoneVector()

template<typename T >
v8::internal::ZoneVector< T >::~ZoneVector ( )
inline

Definition at line 120 of file zone-containers.h.

Here is the call graph for this function:

Member Function Documentation

◆ assign()

template<typename T >
void v8::internal::ZoneVector< T >::assign ( size_t new_size,
const T & value )
inline

Definition at line 216 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ at() [1/2]

template<typename T >
T & v8::internal::ZoneVector< T >::at ( size_t pos)
inline

Definition at line 246 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ at() [2/2]

template<typename T >
const T & v8::internal::ZoneVector< T >::at ( size_t pos) const
inline

Definition at line 250 of file zone-containers.h.

Here is the call graph for this function:

◆ back() [1/2]

template<typename T >
T & v8::internal::ZoneVector< T >::back ( )
inline

Definition at line 267 of file zone-containers.h.

Here is the caller graph for this function:

◆ back() [2/2]

template<typename T >
const T & v8::internal::ZoneVector< T >::back ( ) const
inline

Definition at line 271 of file zone-containers.h.

◆ begin() [1/2]

template<typename T >
const T * v8::internal::ZoneVector< T >::begin ( ) const
inline

Definition at line 277 of file zone-containers.h.

◆ begin() [2/2]

template<typename T >
T * v8::internal::ZoneVector< T >::begin ( )
inline

Definition at line 276 of file zone-containers.h.

Here is the caller graph for this function:

◆ capacity()

template<typename T >
size_t v8::internal::ZoneVector< T >::capacity ( ) const
inline

Definition at line 240 of file zone-containers.h.

Here is the caller graph for this function:

◆ cbegin()

template<typename T >
const T * v8::internal::ZoneVector< T >::cbegin ( ) const
inline

Definition at line 278 of file zone-containers.h.

Here is the caller graph for this function:

◆ cend()

template<typename T >
const T * v8::internal::ZoneVector< T >::cend ( ) const
inline

Definition at line 282 of file zone-containers.h.

Here is the caller graph for this function:

◆ clear()

template<typename T >
void v8::internal::ZoneVector< T >::clear ( )
inline

Definition at line 233 of file zone-containers.h.

Here is the caller graph for this function:

◆ CopyingOverwrite() [1/2]

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::CopyingOverwrite ( T * dst,
const T * src )
inlineprivate

Definition at line 413 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CopyingOverwrite() [2/2]

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::CopyingOverwrite ( T * dst,
const T * src,
const T * src_end )
inlineprivate

Definition at line 455 of file zone-containers.h.

Here is the call graph for this function:

◆ CopyToNewStorage() [1/2]

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::CopyToNewStorage ( T * dst,
const T * src )
inlineprivate

Definition at line 403 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CopyToNewStorage() [2/2]

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::CopyToNewStorage ( T * dst,
const T * src,
const T * src_end )
inlineprivate

Definition at line 440 of file zone-containers.h.

Here is the call graph for this function:

◆ crbegin()

template<typename T >
const_reverse_iterator v8::internal::ZoneVector< T >::crbegin ( ) const
inline

Definition at line 290 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ crend()

template<typename T >
const_reverse_iterator v8::internal::ZoneVector< T >::crend ( ) const
inline

Definition at line 299 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ data() [1/2]

template<typename T >
T * v8::internal::ZoneVector< T >::data ( )
inline

Definition at line 242 of file zone-containers.h.

Here is the caller graph for this function:

◆ data() [2/2]

template<typename T >
const T * v8::internal::ZoneVector< T >::data ( ) const
inline

Definition at line 243 of file zone-containers.h.

◆ emplace()

template<typename T >
template<typename... Args>
void v8::internal::ZoneVector< T >::emplace ( T * target,
Args &&... args )
inlineprivate

Definition at line 571 of file zone-containers.h.

Here is the caller graph for this function:

◆ emplace_back()

template<typename T >
template<typename... Args>
T & v8::internal::ZoneVector< T >::emplace_back ( Args &&... args)
inline

Definition at line 315 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ empty()

template<typename T >
bool v8::internal::ZoneVector< T >::empty ( ) const
inline

Definition at line 239 of file zone-containers.h.

Here is the caller graph for this function:

◆ end() [1/2]

template<typename T >
const T * v8::internal::ZoneVector< T >::end ( ) const
inline

Definition at line 281 of file zone-containers.h.

◆ end() [2/2]

template<typename T >
T * v8::internal::ZoneVector< T >::end ( )
inline

Definition at line 280 of file zone-containers.h.

◆ EnsureCapacity()

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::EnsureCapacity ( size_t minimum)
inlineprivate

Definition at line 398 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EnsureOneMoreCapacity()

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::EnsureOneMoreCapacity ( )
inlineprivate

Definition at line 393 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ erase() [1/3]

template<typename T >
T * v8::internal::ZoneVector< T >::erase ( const T * first,
const T * last )
inline

Definition at line 375 of file zone-containers.h.

Here is the call graph for this function:

◆ erase() [2/3]

template<typename T >
T * v8::internal::ZoneVector< T >::erase ( const T * first,
size_t count )
inlineprivate

Definition at line 559 of file zone-containers.h.

Here is the call graph for this function:

◆ erase() [3/3]

template<typename T >
T * v8::internal::ZoneVector< T >::erase ( const T * pos)
inline

Definition at line 370 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ front() [1/2]

template<typename T >
T & v8::internal::ZoneVector< T >::front ( )
inline

Definition at line 258 of file zone-containers.h.

Here is the caller graph for this function:

◆ front() [2/2]

template<typename T >
const T & v8::internal::ZoneVector< T >::front ( ) const
inline

Definition at line 262 of file zone-containers.h.

◆ Grow()

template<typename T >
V8_NOINLINE V8_PRESERVE_MOST void v8::internal::ZoneVector< T >::Grow ( size_t minimum)
inlineprivate

Definition at line 471 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert() [1/2]

template<typename T >
template<class It , typename = typename std::iterator_traits<It>::iterator_category>
T * v8::internal::ZoneVector< T >::insert ( const T * pos,
It first,
It last )
inline

Definition at line 324 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert() [2/2]

template<typename T >
T * v8::internal::ZoneVector< T >::insert ( const T * pos,
size_t count,
const T & value )
inline

Definition at line 357 of file zone-containers.h.

Here is the call graph for this function:

◆ MoveToNewStorage() [1/2]

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::MoveToNewStorage ( T * dst,
T * src )
inlineprivate

Definition at line 405 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MoveToNewStorage() [2/2]

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::MoveToNewStorage ( T * dst,
T * src,
const T * src_end )
inlineprivate

Definition at line 447 of file zone-containers.h.

Here is the call graph for this function:

◆ MovingOverwrite() [1/2]

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::MovingOverwrite ( T * dst,
T * src )
inlineprivate

Definition at line 422 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MovingOverwrite() [2/2]

template<typename T >
V8_INLINE void v8::internal::ZoneVector< T >::MovingOverwrite ( T * dst,
T * src,
const T * src_end )
inlineprivate

Definition at line 462 of file zone-containers.h.

Here is the call graph for this function:

◆ NewCapacity()

template<typename T >
size_t v8::internal::ZoneVector< T >::NewCapacity ( size_t minimum)
inlineprivate

Definition at line 383 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/3]

template<typename T >
ZoneVector & v8::internal::ZoneVector< T >::operator= ( const ZoneVector< T > & other)
inline

Definition at line 126 of file zone-containers.h.

Here is the call graph for this function:

◆ operator=() [2/3]

template<typename T >
ZoneVector & v8::internal::ZoneVector< T >::operator= ( std::initializer_list< T > ilist)
inline

Definition at line 185 of file zone-containers.h.

Here is the call graph for this function:

◆ operator=() [3/3]

template<typename T >
ZoneVector & v8::internal::ZoneVector< T >::operator= ( ZoneVector< T > && other)
inline

Definition at line 164 of file zone-containers.h.

Here is the call graph for this function:

◆ operator[]() [1/2]

template<typename T >
T & v8::internal::ZoneVector< T >::operator[] ( size_t pos)
inline

Definition at line 255 of file zone-containers.h.

Here is the call graph for this function:

◆ operator[]() [2/2]

template<typename T >
const T & v8::internal::ZoneVector< T >::operator[] ( size_t pos) const
inline

Definition at line 256 of file zone-containers.h.

Here is the call graph for this function:

◆ pop_back()

template<typename T >
void v8::internal::ZoneVector< T >::pop_back ( )
inline

Definition at line 309 of file zone-containers.h.

Here is the caller graph for this function:

◆ PrepareForInsertion()

template<typename T >
T * v8::internal::ZoneVector< T >::PrepareForInsertion ( const T * pos,
size_t count,
size_t * assignable )
inlineprivate

Definition at line 485 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ push_back() [1/2]

template<typename T >
void v8::internal::ZoneVector< T >::push_back ( const T & value)
inline

Definition at line 303 of file zone-containers.h.

Here is the call graph for this function:

◆ push_back() [2/2]

template<typename T >
void v8::internal::ZoneVector< T >::push_back ( T && value)
inline

Definition at line 307 of file zone-containers.h.

Here is the call graph for this function:

◆ rbegin() [1/2]

template<typename T >
const_reverse_iterator v8::internal::ZoneVector< T >::rbegin ( ) const
inline

Definition at line 287 of file zone-containers.h.

Here is the call graph for this function:

◆ rbegin() [2/2]

template<typename T >
reverse_iterator v8::internal::ZoneVector< T >::rbegin ( )
inline

Definition at line 284 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rend() [1/2]

template<typename T >
const_reverse_iterator v8::internal::ZoneVector< T >::rend ( ) const
inline

Definition at line 296 of file zone-containers.h.

Here is the call graph for this function:

◆ rend() [2/2]

template<typename T >
reverse_iterator v8::internal::ZoneVector< T >::rend ( )
inline

Definition at line 293 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reserve()

template<typename T >
void v8::internal::ZoneVector< T >::reserve ( size_t new_cap)
inline

Definition at line 241 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resize() [1/2]

template<typename T >
void v8::internal::ZoneVector< T >::resize ( size_t new_size)
inline

Definition at line 200 of file zone-containers.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resize() [2/2]

template<typename T >
void v8::internal::ZoneVector< T >::resize ( size_t new_size,
const T & value )
inline

Definition at line 208 of file zone-containers.h.

Here is the call graph for this function:

◆ size()

template<typename T >
size_t v8::internal::ZoneVector< T >::size ( ) const
inline

Definition at line 238 of file zone-containers.h.

◆ swap()

template<typename T >
void v8::internal::ZoneVector< T >::swap ( ZoneVector< T > & other)
inlinenoexcept

Definition at line 193 of file zone-containers.h.

◆ zone()

template<typename T >
Zone * v8::internal::ZoneVector< T >::zone ( ) const
inline

Definition at line 244 of file zone-containers.h.

Here is the caller graph for this function:

Member Data Documentation

◆ capacity_

template<typename T >
T* v8::internal::ZoneVector< T >::capacity_ {nullptr}
private

Definition at line 578 of file zone-containers.h.

◆ data_

template<typename T >
T* v8::internal::ZoneVector< T >::data_ {nullptr}
private

Definition at line 576 of file zone-containers.h.

◆ end_

template<typename T >
T* v8::internal::ZoneVector< T >::end_ {nullptr}
private

Definition at line 577 of file zone-containers.h.

◆ kMinCapacity

template<typename T >
size_t v8::internal::ZoneVector< T >::kMinCapacity = 2
staticconstexprprivate

Definition at line 382 of file zone-containers.h.

◆ zone_

template<typename T >
Zone* v8::internal::ZoneVector< T >::zone_ {nullptr}
private

Definition at line 575 of file zone-containers.h.


The documentation for this class was generated from the following files: