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

#include <zone-compact-set.h>

Collaboration diagram for v8::internal::ZoneCompactSet< T >:

Classes

class  const_iterator
 

Public Member Functions

 ZoneCompactSet ()
 
 ZoneCompactSet (T handle)
 
 ZoneCompactSet (std::initializer_list< T > handles, Zone *zone)
 
 ZoneCompactSet (const ZoneCompactSet &other) V8_NOEXCEPT=default
 
ZoneCompactSetoperator= (const ZoneCompactSet &other) V8_NOEXCEPT=default
 
 ZoneCompactSet (ZoneCompactSet &&other) V8_NOEXCEPT=default
 
ZoneCompactSetoperator= (ZoneCompactSet &&other) V8_NOEXCEPT=default
 
template<class It , typename = typename std::iterator_traits<It>::iterator_category>
 ZoneCompactSet (It first, It last, Zone *zone)
 
ZoneCompactSet< TClone (Zone *zone) const
 
bool is_empty () const
 
size_t size () const
 
T at (size_t i) const
 
T operator[] (size_t i) const
 
void insert (T handle, Zone *zone)
 
void Union (ZoneCompactSet< T > const &other, Zone *zone)
 
bool contains (ZoneCompactSet< T > const &other) const
 
bool contains (T handle) const
 
void remove (T handle, Zone *zone)
 
void clear ()
 
const_iterator begin () const
 
const_iterator end () const
 

Private Types

enum  Tag { kSingletonTag = 0 , kEmptyTag = 1 , kListTag = 2 }
 
using Traits = ZoneCompactSetTraits<T>
 
using handle_type = typename Traits::handle_type
 
using data_type = typename Traits::data_type
 
using List = base::Vector<data_type*>
 
using PointerWithPayload = base::PointerWithPayload<void, Tag, 2>
 

Private Member Functions

bool is_singleton () const
 
bool is_list () const
 
List const * list () const
 
data_typesingleton () const
 
ListNewList (size_t size, Zone *zone)
 

Static Private Member Functions

static PointerWithPayload EmptyValue ()
 

Private Attributes

PointerWithPayload data_
 

Friends

bool operator== (ZoneCompactSet< T > const &lhs, ZoneCompactSet< T > const &rhs)
 
bool operator!= (ZoneCompactSet< T > const &lhs, ZoneCompactSet< T > const &rhs)
 
uintptr_t hash_value (ZoneCompactSet< T > const &set)
 

Detailed Description

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

Definition at line 52 of file zone-compact-set.h.

Member Typedef Documentation

◆ data_type

template<typename T >
using v8::internal::ZoneCompactSet< T >::data_type = typename Traits::data_type
private

Definition at line 58 of file zone-compact-set.h.

◆ handle_type

template<typename T >
using v8::internal::ZoneCompactSet< T >::handle_type = typename Traits::handle_type
private

Definition at line 57 of file zone-compact-set.h.

◆ List

template<typename T >
using v8::internal::ZoneCompactSet< T >::List = base::Vector<data_type*>
private

Definition at line 275 of file zone-compact-set.h.

◆ PointerWithPayload

template<typename T >
using v8::internal::ZoneCompactSet< T >::PointerWithPayload = base::PointerWithPayload<void, Tag, 2>
private

Definition at line 276 of file zone-compact-set.h.

◆ Traits

template<typename T >
using v8::internal::ZoneCompactSet< T >::Traits = ZoneCompactSetTraits<T>
private

Definition at line 56 of file zone-compact-set.h.

Member Enumeration Documentation

◆ Tag

template<typename T >
enum v8::internal::ZoneCompactSet::Tag
private
Enumerator
kSingletonTag 
kEmptyTag 
kListTag 

Definition at line 273 of file zone-compact-set.h.

Constructor & Destructor Documentation

◆ ZoneCompactSet() [1/6]

template<typename T >
v8::internal::ZoneCompactSet< T >::ZoneCompactSet ( )
inline

Definition at line 61 of file zone-compact-set.h.

◆ ZoneCompactSet() [2/6]

template<typename T >
v8::internal::ZoneCompactSet< T >::ZoneCompactSet ( T handle)
inlineexplicit

Definition at line 62 of file zone-compact-set.h.

◆ ZoneCompactSet() [3/6]

template<typename T >
v8::internal::ZoneCompactSet< T >::ZoneCompactSet ( std::initializer_list< T > handles,
Zone * zone )
inlineexplicit

Definition at line 64 of file zone-compact-set.h.

◆ ZoneCompactSet() [4/6]

template<typename T >
v8::internal::ZoneCompactSet< T >::ZoneCompactSet ( const ZoneCompactSet< T > & other)
default

◆ ZoneCompactSet() [5/6]

template<typename T >
v8::internal::ZoneCompactSet< T >::ZoneCompactSet ( ZoneCompactSet< T > && other)
default

◆ ZoneCompactSet() [6/6]

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

Definition at line 74 of file zone-compact-set.h.

Here is the call graph for this function:

Member Function Documentation

◆ at()

template<typename T >
T v8::internal::ZoneCompactSet< T >::at ( size_t i) const
inline

Definition at line 105 of file zone-compact-set.h.

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

◆ begin()

template<typename T >
ZoneCompactSet< T >::const_iterator v8::internal::ZoneCompactSet< T >::begin ( ) const
inline

Definition at line 356 of file zone-compact-set.h.

Here is the caller graph for this function:

◆ clear()

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

Definition at line 245 of file zone-compact-set.h.

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

◆ Clone()

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

Definition at line 93 of file zone-compact-set.h.

Here is the call graph for this function:

◆ contains() [1/2]

template<typename T >
bool v8::internal::ZoneCompactSet< T >::contains ( T handle) const
inline

Definition at line 190 of file zone-compact-set.h.

Here is the call graph for this function:

◆ contains() [2/2]

template<typename T >
bool v8::internal::ZoneCompactSet< T >::contains ( ZoneCompactSet< T > const & other) const
inline

Definition at line 163 of file zone-compact-set.h.

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

◆ EmptyValue()

template<typename T >
static PointerWithPayload v8::internal::ZoneCompactSet< T >::EmptyValue ( )
inlinestaticprivate

Definition at line 298 of file zone-compact-set.h.

Here is the caller graph for this function:

◆ end()

template<typename T >
ZoneCompactSet< T >::const_iterator v8::internal::ZoneCompactSet< T >::end ( ) const
inline

Definition at line 361 of file zone-compact-set.h.

Here is the caller graph for this function:

◆ insert()

template<typename T >
void v8::internal::ZoneCompactSet< T >::insert ( T handle,
Zone * zone )
inline

Definition at line 116 of file zone-compact-set.h.

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

◆ is_empty()

template<typename T >
bool v8::internal::ZoneCompactSet< T >::is_empty ( ) const
inline

Definition at line 97 of file zone-compact-set.h.

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

◆ is_list()

template<typename T >
bool v8::internal::ZoneCompactSet< T >::is_list ( ) const
inlineprivate

Definition at line 279 of file zone-compact-set.h.

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

◆ is_singleton()

template<typename T >
bool v8::internal::ZoneCompactSet< T >::is_singleton ( ) const
inlineprivate

Definition at line 278 of file zone-compact-set.h.

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

◆ list()

template<typename T >
List const * v8::internal::ZoneCompactSet< T >::list ( ) const
inlineprivate

Definition at line 281 of file zone-compact-set.h.

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

◆ NewList()

template<typename T >
List * v8::internal::ZoneCompactSet< T >::NewList ( size_t size,
Zone * zone )
inlineprivate

Definition at line 291 of file zone-compact-set.h.

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

◆ operator=() [1/2]

template<typename T >
ZoneCompactSet & v8::internal::ZoneCompactSet< T >::operator= ( const ZoneCompactSet< T > & other)
default

◆ operator=() [2/2]

template<typename T >
ZoneCompactSet & v8::internal::ZoneCompactSet< T >::operator= ( ZoneCompactSet< T > && other)
default

◆ operator[]()

template<typename T >
T v8::internal::ZoneCompactSet< T >::operator[] ( size_t i) const
inline

Definition at line 114 of file zone-compact-set.h.

Here is the call graph for this function:

◆ remove()

template<typename T >
void v8::internal::ZoneCompactSet< T >::remove ( T handle,
Zone * zone )
inline

Definition at line 201 of file zone-compact-set.h.

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

◆ singleton()

template<typename T >
data_type * v8::internal::ZoneCompactSet< T >::singleton ( ) const
inlineprivate

Definition at line 286 of file zone-compact-set.h.

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

◆ size()

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

Definition at line 99 of file zone-compact-set.h.

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

◆ Union()

template<typename T >
void v8::internal::ZoneCompactSet< T >::Union ( ZoneCompactSet< T > const & other,
Zone * zone )
inline

Definition at line 157 of file zone-compact-set.h.

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

Friends And Related Symbol Documentation

◆ hash_value

template<typename T >
uintptr_t hash_value ( ZoneCompactSet< T > const & set)
friend

Definition at line 264 of file zone-compact-set.h.

◆ operator!=

template<typename T >
bool operator!= ( ZoneCompactSet< T > const & lhs,
ZoneCompactSet< T > const & rhs )
friend

Definition at line 259 of file zone-compact-set.h.

◆ operator==

template<typename T >
bool operator== ( ZoneCompactSet< T > const & lhs,
ZoneCompactSet< T > const & rhs )
friend

Definition at line 247 of file zone-compact-set.h.

Member Data Documentation

◆ data_

template<typename T >
PointerWithPayload v8::internal::ZoneCompactSet< T >::data_
private

Definition at line 302 of file zone-compact-set.h.


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