Lines Matching refs:Traits
118 template<typename K, typename V, typename Traits>
130 size_t Size() { return Traits::Size(&impl_); } in Size()
135 bool IsWeak() { return Traits::kCallbackType != kNotWeak; } in IsWeak()
141 return Local<V>::New(isolate_, FromVal(Traits::Get(&impl_, key))); in Get()
148 return Traits::Get(&impl_, key) != kPersistentContainerNotFound; in Contains()
157 return SetReturnValueFromVal(&returnValue, Traits::Get(&impl_, key)); in SetReturnValue()
167 reinterpret_cast<internal::Object**>(FromVal(Traits::Get(&impl_, key)))); in SetReference()
191 return Release(Traits::Remove(&impl_, key)).Pass(); in Remove()
199 typedef typename Traits::Iterator It; in Clear()
202 while (!Traits::Empty(&impl_)) { in Clear()
203 typename Traits::Impl impl; in Clear()
204 Traits::Swap(impl_, impl); in Clear()
205 for (It i = Traits::Begin(&impl); i != Traits::End(&impl); ++i) { in Clear()
206 Traits::Dispose(isolate_, Release(Traits::Value(i)).Pass(), in Clear()
207 Traits::Key(i)); in Clear()
263 return PersistentValueReference(Traits::Get(&impl_, key)); in GetReference()
285 if (Traits::kCallbackType != kNotWeak) { in SetUnique()
287 persistent->template SetWeak<typename Traits::WeakCallbackDataType>( in SetUnique()
288 Traits::WeakCallbackParameter(this, key, value), WeakCallback); in SetUnique()
291 Traits::Set(&impl_, key, ClearAndLeak(persistent)); in SetUnique()
296 const WeakCallbackData<V, typename Traits::WeakCallbackDataType>& data) { in WeakCallback()
297 if (Traits::kCallbackType != kNotWeak) { in WeakCallback()
298 PersistentValueMap<K, V, Traits>* persistentValueMap = in WeakCallback()
299 Traits::MapFromWeakCallbackData(data); in WeakCallback()
300 K key = Traits::KeyFromWeakCallbackData(data); in WeakCallback()
301 Traits::Dispose(data.GetIsolate(), in WeakCallback()
303 Traits::DisposeCallbackData(data.GetParameter()); in WeakCallback()
341 if (Traits::kCallbackType != kNotWeak && p.IsWeak()) { in Release()
342 Traits::DisposeCallbackData( in Release()
343 p.template ClearWeak<typename Traits::WeakCallbackDataType>()); in Release()
349 typename Traits::Impl impl_;
361 typename Traits = DefaultPersistentValueMapTraits<K, V> >
362 class StdPersistentValueMap : public PersistentValueMap<K, V, Traits> {
365 : PersistentValueMap<K, V, Traits>(isolate) {} in StdPersistentValueMap()
404 template<typename V, typename Traits = DefaultPersistentValueVectorTraits>
418 Traits::Append(&impl_, ClearAndLeak(&persistent)); in Append()
425 Traits::Append(&impl_, ClearAndLeak(&persistent)); in Append()
432 return Traits::IsEmpty(&impl_); in IsEmpty()
439 return Traits::Size(&impl_); in Size()
446 return Local<V>::New(isolate_, FromVal(Traits::Get(&impl_, index))); in Get()
453 size_t length = Traits::Size(&impl_); in Clear()
456 p.val_ = FromVal(Traits::Get(&impl_, i)); in Clear()
458 Traits::Clear(&impl_); in Clear()
466 Traits::ReserveCapacity(&impl_, capacity); in ReserveCapacity()
482 typename Traits::Impl impl_;