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

#include <vector.h>

Inheritance diagram for v8::base::Vector< T >:
Collaboration diagram for v8::base::Vector< T >:

Public Types

using value_type = T
 
using iterator = T*
 
using const_iterator = const T*
 

Public Member Functions

constexpr Vector ()
 
constexpr Vector (T *data, size_t length)
 
Vector< T > SubVector (size_t from, size_t to) const
 
Vector< T > SubVectorFrom (size_t from) const
 
template<class U >
void OverwriteWith (Vector< U > other)
 
template<class U , size_t n>
void OverwriteWith (const std::array< U, n > &other)
 
int length () const
 
constexpr size_t size () const
 
constexpr bool empty () const
 
T & operator[] (size_t index) const
 
const T & at (size_t index) const
 
T & first ()
 
const T & first () const
 
T & last ()
 
const T & last () const
 
constexpr T * begin () const
 
constexpr const T * cbegin () const
 
constexpr T * data () const
 
constexpr T * end () const
 
constexpr const T * cend () const
 
constexpr std::reverse_iterator< T * > rbegin () const
 
constexpr std::reverse_iterator< T * > rend () const
 
Vector< T > Clone () const
 
void Truncate (size_t length)
 
void Dispose ()
 
Vector< T > operator+ (size_t offset)
 
Vector< T > operator+= (size_t offset)
 
template<typename U >
requires std::is_convertible_v<T*, const U*> && (sizeof(U) == sizeof(T))
 operator Vector< const U > () const
 
bool operator== (const Vector< T > &other) const
 
bool operator!= (const Vector< T > &other) const
 
template<typename TT = T>
requires (!std::is_const_v<TT>)
bool operator== (const Vector< const T > &other) const
 
template<typename TT = T>
requires (!std::is_const_v<TT>)
bool operator!= (const Vector< const T > &other) const
 

Static Public Member Functions

static Vector< T > New (size_t length)
 
template<typename S >
static Vector< T > cast (Vector< S > input)
 

Private Attributes

T * start_
 
size_t length_
 

Detailed Description

template<typename T>
class v8::base::Vector< T >

Definition at line 15 of file zone-list.h.

Member Typedef Documentation

◆ const_iterator

template<typename T >
using v8::base::Vector< T >::const_iterator = const T*

Definition at line 27 of file vector.h.

◆ iterator

template<typename T >
using v8::base::Vector< T >::iterator = T*

Definition at line 26 of file vector.h.

◆ value_type

template<typename T >
using v8::base::Vector< T >::value_type = T

Definition at line 25 of file vector.h.

Constructor & Destructor Documentation

◆ Vector() [1/2]

template<typename T >
v8::base::Vector< T >::Vector ( )
inlineconstexpr

Definition at line 29 of file vector.h.

Here is the caller graph for this function:

◆ Vector() [2/2]

template<typename T >
v8::base::Vector< T >::Vector ( T * data,
size_t length )
inlineconstexpr

Definition at line 31 of file vector.h.

Member Function Documentation

◆ at()

template<typename T >
const T & v8::base::Vector< T >::at ( size_t index) const
inline

Definition at line 81 of file vector.h.

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

◆ begin()

template<typename T >
T * v8::base::Vector< T >::begin ( ) const
inlineconstexpr

Definition at line 96 of file vector.h.

◆ cast()

template<typename T >
template<typename S >
static Vector< T > v8::base::Vector< T >::cast ( Vector< S > input)
inlinestatic

Definition at line 157 of file vector.h.

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

◆ cbegin()

template<typename T >
const T * v8::base::Vector< T >::cbegin ( ) const
inlineconstexpr

Definition at line 97 of file vector.h.

◆ cend()

template<typename T >
const T * v8::base::Vector< T >::cend ( ) const
inlineconstexpr

Definition at line 104 of file vector.h.

◆ Clone()

template<typename T >
Vector< T > v8::base::Vector< T >::Clone ( ) const
inline

Definition at line 114 of file vector.h.

Here is the call graph for this function:

◆ data()

template<typename T >
T * v8::base::Vector< T >::data ( ) const
inlineconstexpr

Definition at line 100 of file vector.h.

Here is the caller graph for this function:

◆ Dispose()

template<typename T >
void v8::base::Vector< T >::Dispose ( )
inline

Definition at line 127 of file vector.h.

Here is the caller graph for this function:

◆ empty()

template<typename T >
bool v8::base::Vector< T >::empty ( ) const
inlineconstexpr

Definition at line 73 of file vector.h.

Here is the caller graph for this function:

◆ end()

template<typename T >
T * v8::base::Vector< T >::end ( ) const
inlineconstexpr

Definition at line 103 of file vector.h.

Here is the caller graph for this function:

◆ first() [1/2]

template<typename T >
T & v8::base::Vector< T >::first ( )
inline

Definition at line 83 of file vector.h.

Here is the caller graph for this function:

◆ first() [2/2]

template<typename T >
const T & v8::base::Vector< T >::first ( ) const
inline

Definition at line 84 of file vector.h.

◆ last() [1/2]

template<typename T >
T & v8::base::Vector< T >::last ( )
inline

Definition at line 86 of file vector.h.

Here is the caller graph for this function:

◆ last() [2/2]

template<typename T >
const T & v8::base::Vector< T >::last ( ) const
inline

Definition at line 90 of file vector.h.

◆ length()

template<typename T >
int v8::base::Vector< T >::length ( ) const
inline

Definition at line 64 of file vector.h.

◆ New()

template<typename T >
static Vector< T > v8::base::Vector< T >::New ( size_t length)
inlinestatic

Definition at line 35 of file vector.h.

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

◆ operator Vector< const U >()

template<typename T >
template<typename U >
requires std::is_convertible_v<T*, const U*> && (sizeof(U) == sizeof(T))
v8::base::Vector< T >::operator Vector< const U > ( ) const
inline

Definition at line 152 of file vector.h.

◆ operator!=() [1/2]

template<typename T >
template<typename TT = T>
requires (!std::is_const_v<TT>)
bool v8::base::Vector< T >::operator!= ( const Vector< const T > & other) const
inline

Definition at line 184 of file vector.h.

Here is the call graph for this function:

◆ operator!=() [2/2]

template<typename T >
bool v8::base::Vector< T >::operator!= ( const Vector< T > & other) const
inline

Definition at line 172 of file vector.h.

Here is the call graph for this function:

◆ operator+()

template<typename T >
Vector< T > v8::base::Vector< T >::operator+ ( size_t offset)
inline

Definition at line 133 of file vector.h.

Here is the call graph for this function:

◆ operator+=()

template<typename T >
Vector< T > v8::base::Vector< T >::operator+= ( size_t offset)
inline

Definition at line 138 of file vector.h.

◆ operator==() [1/2]

template<typename T >
template<typename TT = T>
requires (!std::is_const_v<TT>)
bool v8::base::Vector< T >::operator== ( const Vector< const T > & other) const
inline

Definition at line 178 of file vector.h.

Here is the call graph for this function:

◆ operator==() [2/2]

template<typename T >
bool v8::base::Vector< T >::operator== ( const Vector< T > & other) const
inline

Definition at line 168 of file vector.h.

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

◆ operator[]()

template<typename T >
T & v8::base::Vector< T >::operator[] ( size_t index) const
inline

Definition at line 76 of file vector.h.

Here is the caller graph for this function:

◆ OverwriteWith() [1/2]

template<typename T >
template<class U , size_t n>
void v8::base::Vector< T >::OverwriteWith ( const std::array< U, n > & other)
inline

Definition at line 57 of file vector.h.

Here is the call graph for this function:

◆ OverwriteWith() [2/2]

template<typename T >
template<class U >
void v8::base::Vector< T >::OverwriteWith ( Vector< U > other)
inline

Definition at line 51 of file vector.h.

Here is the call graph for this function:

◆ rbegin()

template<typename T >
std::reverse_iterator< T * > v8::base::Vector< T >::rbegin ( ) const
inlineconstexpr

Definition at line 106 of file vector.h.

Here is the call graph for this function:

◆ rend()

template<typename T >
std::reverse_iterator< T * > v8::base::Vector< T >::rend ( ) const
inlineconstexpr

Definition at line 109 of file vector.h.

Here is the call graph for this function:

◆ size()

template<typename T >
size_t v8::base::Vector< T >::size ( ) const
inlineconstexpr

Definition at line 70 of file vector.h.

◆ SubVector()

template<typename T >
Vector< T > v8::base::Vector< T >::SubVector ( size_t from,
size_t to ) const
inline

Definition at line 41 of file vector.h.

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

◆ SubVectorFrom()

template<typename T >
Vector< T > v8::base::Vector< T >::SubVectorFrom ( size_t from) const
inline

Definition at line 46 of file vector.h.

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

◆ Truncate()

template<typename T >
void v8::base::Vector< T >::Truncate ( size_t length)
inline

Definition at line 120 of file vector.h.

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

Member Data Documentation

◆ length_

template<typename T >
size_t v8::base::Vector< T >::length_
private

Definition at line 190 of file vector.h.

◆ start_

template<typename T >
T* v8::base::Vector< T >::start_
private

Definition at line 189 of file vector.h.


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