5#ifndef V8_BASE_INTRUSIVE_SET_H_
6#define V8_BASE_INTRUSIVE_SET_H_
18 template <
class T,
class GetIntrusiveSetIndex,
class Container>
20 static constexpr size_t kNotInSet = std::numeric_limits<size_t>::max();
39template <
class T,
class GetIntrusiveSetIndex,
class Container>
44 static_assert(std::is_trivially_copyable_v<T>);
47 GetIntrusiveSetIndex index_functor = {})
49 static_assert(std::is_same_v<decltype(index_functor(std::declval<T>())),
static constexpr size_t kNotInSet
const size_t * last_index_location_
const IntrusiveSet & set_
iterator(const IntrusiveSet &set)
bool operator!=(end_iterator) const
GetIntrusiveSetIndex index_functor_
IntrusiveSet(Container container, GetIntrusiveSetIndex index_functor={})
size_t & Index(T x) const
ZoneVector< RpoNumber > & result
#define DCHECK_NOT_NULL(val)
#define DCHECK(condition)
#define DCHECK_EQ(v1, v2)