Index: third_party/WebKit/Source/platform/inspector_protocol/CollectionsSTL.h |
diff --git a/third_party/WebKit/Source/platform/inspector_protocol/CollectionsSTL.h b/third_party/WebKit/Source/platform/inspector_protocol/CollectionsSTL.h |
deleted file mode 100644 |
index ee99cfd8bd855bc4e1ad9691acd3b9fbce8840e0..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/Source/platform/inspector_protocol/CollectionsSTL.h |
+++ /dev/null |
@@ -1,244 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CollectionsSTL_h |
-#define CollectionsSTL_h |
- |
-#include "platform/inspector_protocol/Platform.h" |
-#include "platform/inspector_protocol/String16.h" |
- |
-#include <algorithm> |
-#include <map> |
-#include <vector> |
- |
-namespace blink { |
-namespace protocol { |
- |
-template <typename T> |
-class Vector { |
-public: |
- Vector() { } |
- Vector(size_t capacity) : m_impl(capacity) { } |
- typedef typename std::vector<T>::iterator iterator; |
- typedef typename std::vector<T>::const_iterator const_iterator; |
- |
- iterator begin() { return m_impl.begin(); } |
- iterator end() { return m_impl.end(); } |
- const_iterator begin() const { return m_impl.begin(); } |
- const_iterator end() const { return m_impl.end(); } |
- |
- void resize(size_t s) { m_impl.resize(s); } |
- size_t size() const { return m_impl.size(); } |
- bool isEmpty() const { return !m_impl.size(); } |
- T& operator[](size_t i) { return at(i); } |
- const T& operator[](size_t i) const { return at(i); } |
- T& at(size_t i) { return m_impl[i]; } |
- const T& at(size_t i) const { return m_impl.at(i); } |
- T& last() { return m_impl[m_impl.size() - 1]; } |
- const T& last() const { return m_impl[m_impl.size() - 1]; } |
- void append(const T& t) { m_impl.push_back(t); } |
- void prepend(const T& t) { m_impl.insert(m_impl.begin(), t); } |
- void remove(size_t i) { m_impl.erase(m_impl.begin() + i); } |
- void clear() { m_impl.clear(); } |
- void swap(Vector& other) { m_impl.swap(other.m_impl); } |
- void removeLast() { m_impl.pop_back(); } |
- |
-private: |
- std::vector<T> m_impl; |
-}; |
- |
-template <typename T> |
-class Vector<std::unique_ptr<T>> { |
-public: |
- Vector() { } |
- Vector(size_t capacity) : m_impl(capacity) { } |
- Vector(Vector&& other) { m_impl.swap(other.m_impl); } |
- ~Vector() { clear(); } |
- |
- typedef typename std::vector<T*>::iterator iterator; |
- typedef typename std::vector<T*>::const_iterator const_iterator; |
- |
- iterator begin() { return m_impl.begin(); } |
- iterator end() { return m_impl.end(); } |
- const_iterator begin() const { return m_impl.begin(); } |
- const_iterator end() const { return m_impl.end(); } |
- |
- void resize(size_t s) { m_impl.resize(s); } |
- size_t size() const { return m_impl.size(); } |
- bool isEmpty() const { return !m_impl.size(); } |
- T* operator[](size_t i) { return at(i); } |
- const T* operator[](size_t i) const { return at(i); } |
- T* at(size_t i) { return m_impl[i]; } |
- const T* at(size_t i) const { return m_impl.at(i); } |
- T* last() { return m_impl[m_impl.size() - 1]; } |
- const T* last() const { return m_impl[m_impl.size() - 1]; } |
- void append(std::unique_ptr<T> t) { m_impl.push_back(t.release()); } |
- void prepend(std::unique_ptr<T> t) { m_impl.insert(m_impl.begin(), t.release()); } |
- |
- void remove(size_t i) |
- { |
- delete m_impl[i]; |
- m_impl.erase(m_impl.begin() + i); |
- } |
- |
- void clear() |
- { |
- for (auto t : m_impl) |
- delete t; |
- m_impl.clear(); |
- } |
- |
- void swap(Vector& other) { m_impl.swap(other.m_impl); } |
- void swap(Vector&& other) { m_impl.swap(other.m_impl); } |
- void removeLast() |
- { |
- delete last(); |
- m_impl.pop_back(); |
- } |
- |
-private: |
- Vector(const Vector&) = delete; |
- Vector& operator=(const Vector&) = delete; |
- std::vector<T*> m_impl; |
-}; |
- |
-template <typename K, typename V, typename I> |
-class HashMapIterator { |
-public: |
- HashMapIterator(const I& impl) : m_impl(impl) { } |
- std::pair<K, V*>* get() const { m_pair.first = m_impl->first; m_pair.second = &m_impl->second; return &m_pair; } |
- std::pair<K, V*>& operator*() const { return *get(); } |
- std::pair<K, V*>* operator->() const { return get(); } |
- |
- bool operator==(const HashMapIterator<K, V, I>& other) const { return m_impl == other.m_impl; } |
- bool operator!=(const HashMapIterator<K, V, I>& other) const { return m_impl != other.m_impl; } |
- |
- HashMapIterator<K, V, I>& operator++() { ++m_impl; return *this; } |
- |
-private: |
- mutable std::pair<K, V*> m_pair; |
- I m_impl; |
-}; |
- |
-template <typename K, typename V, typename I> |
-class HashMapIterator<K, std::unique_ptr<V>, I> { |
-public: |
- HashMapIterator(const I& impl) : m_impl(impl) { } |
- std::pair<K, V*>* get() const { m_pair.first = m_impl->first; m_pair.second = m_impl->second; return &m_pair; } |
- std::pair<K, V*>& operator*() const { return *get(); } |
- std::pair<K, V*>* operator->() const { return get(); } |
- |
- bool operator==(const HashMapIterator<K, std::unique_ptr<V>, I>& other) const { return m_impl == other.m_impl; } |
- bool operator!=(const HashMapIterator<K, std::unique_ptr<V>, I>& other) const { return m_impl != other.m_impl; } |
- |
- HashMapIterator<K, std::unique_ptr<V>, I>& operator++() { ++m_impl; return *this; } |
- |
-private: |
- mutable std::pair<K, V*> m_pair; |
- I m_impl; |
-}; |
- |
-template <typename K, typename V> |
-class HashMap { |
-public: |
- HashMap() { } |
- ~HashMap() { } |
- |
- using iterator = HashMapIterator<K, V, typename std::map<K, V>::iterator>; |
- using const_iterator = HashMapIterator<K, const V, typename std::map<K, V>::const_iterator>; |
- |
- iterator begin() { return iterator(m_impl.begin()); } |
- iterator end() { return iterator(m_impl.end()); } |
- iterator find(const K& k) { return iterator(m_impl.find(k)); } |
- const_iterator begin() const { return const_iterator(m_impl.begin()); } |
- const_iterator end() const { return const_iterator(m_impl.end()); } |
- const_iterator find(const K& k) const { return const_iterator(m_impl.find(k)); } |
- |
- size_t size() const { return m_impl.size(); } |
- bool isEmpty() const { return !m_impl.size(); } |
- bool set(const K& k, const V& v) |
- { |
- bool isNew = m_impl.find(k) == m_impl.end(); |
- m_impl[k] = v; |
- return isNew; |
- } |
- bool contains(const K& k) const { return m_impl.find(k) != m_impl.end(); } |
- V get(const K& k) const { auto it = m_impl.find(k); return it == m_impl.end() ? V() : it->second; } |
- void remove(const K& k) { m_impl.erase(k); } |
- void clear() { m_impl.clear(); } |
- V take(const K& k) |
- { |
- V result = m_impl[k]; |
- m_impl.erase(k); |
- return result; |
- } |
- |
-private: |
- std::map<K, V> m_impl; |
-}; |
- |
-template <typename K, typename V> |
-class HashMap<K, std::unique_ptr<V>> { |
-public: |
- HashMap() { } |
- ~HashMap() { clear(); } |
- |
- using iterator = HashMapIterator<K, std::unique_ptr<V>, typename std::map<K, V*>::iterator>; |
- using const_iterator = HashMapIterator<K, std::unique_ptr<V>, typename std::map<K, V*>::const_iterator>; |
- |
- iterator begin() { return iterator(m_impl.begin()); } |
- iterator end() { return iterator(m_impl.end()); } |
- iterator find(const K& k) { return iterator(m_impl.find(k)); } |
- const_iterator begin() const { return const_iterator(m_impl.begin()); } |
- const_iterator end() const { return const_iterator(m_impl.end()); } |
- const_iterator find(const K& k) const { return const_iterator(m_impl.find(k)); } |
- |
- size_t size() const { return m_impl.size(); } |
- bool isEmpty() const { return !m_impl.size(); } |
- bool set(const K& k, std::unique_ptr<V> v) |
- { |
- bool isNew = m_impl.find(k) == m_impl.end(); |
- if (!isNew) |
- delete m_impl[k]; |
- m_impl[k] = v.release(); |
- return isNew; |
- } |
- bool contains(const K& k) const { return m_impl.find(k) != m_impl.end(); } |
- V* get(const K& k) const { auto it = m_impl.find(k); return it == m_impl.end() ? nullptr : it->second; } |
- std::unique_ptr<V> take(const K& k) |
- { |
- if (!contains(k)) |
- return nullptr; |
- std::unique_ptr<V> result(m_impl[k]); |
- delete m_impl[k]; |
- m_impl.erase(k); |
- return result; |
- } |
- void remove(const K& k) |
- { |
- delete m_impl[k]; |
- m_impl.erase(k); |
- } |
- |
- void clear() |
- { |
- for (auto pair : m_impl) |
- delete pair.second; |
- m_impl.clear(); |
- } |
- |
-private: |
- std::map<K, V*> m_impl; |
-}; |
- |
-template <typename K> |
-class HashSet : public protocol::HashMap<K, K> { |
-public: |
- void add(const K& k) { this->set(k, k); } |
-}; |
- |
-} // namespace platform |
-} // namespace blink |
- |
-#endif // !defined(CollectionsSTL_h) |