OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r
ights reserved. |
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
9 * Copyright (C) 2013 Google Inc. All rights reserved. | 9 * Copyright (C) 2013 Google Inc. All rights reserved. |
10 * | 10 * |
(...skipping 25 matching lines...) Expand all Loading... |
36 class Node; | 36 class Node; |
37 | 37 |
38 class DocumentOrderedList final { | 38 class DocumentOrderedList final { |
39 WTF_MAKE_NONCOPYABLE(DocumentOrderedList); | 39 WTF_MAKE_NONCOPYABLE(DocumentOrderedList); |
40 DISALLOW_NEW(); | 40 DISALLOW_NEW(); |
41 public: | 41 public: |
42 DocumentOrderedList() { } | 42 DocumentOrderedList() { } |
43 | 43 |
44 void add(Node*); | 44 void add(Node*); |
45 void remove(const Node*); | 45 void remove(const Node*); |
| 46 bool contains(const Node* node) const { return m_nodes.contains(const_cast<N
ode*>(node)); }; |
46 bool isEmpty() const { return m_nodes.isEmpty(); } | 47 bool isEmpty() const { return m_nodes.isEmpty(); } |
47 void clear() { m_nodes.clear(); } | 48 void clear() { m_nodes.clear(); } |
48 size_t size() const { return m_nodes.size(); } | 49 size_t size() const { return m_nodes.size(); } |
49 | 50 |
50 using iterator = HeapListHashSet<Member<Node>, 32>::iterator; | 51 using iterator = HeapListHashSet<Member<Node>, 32>::iterator; |
| 52 using const_iterator = HeapListHashSet<Member<Node>, 32>::const_iterator; |
51 using const_reverse_iterator = HeapListHashSet<Member<Node>, 32>::const_reve
rse_iterator; | 53 using const_reverse_iterator = HeapListHashSet<Member<Node>, 32>::const_reve
rse_iterator; |
52 | 54 |
53 iterator begin() { return m_nodes.begin(); } | 55 iterator begin() { return m_nodes.begin(); } |
54 iterator end() { return m_nodes.end(); } | 56 iterator end() { return m_nodes.end(); } |
55 | 57 |
| 58 const_iterator begin() const { return m_nodes.begin(); } |
| 59 const_iterator end() const { return m_nodes.end(); } |
| 60 |
56 const_reverse_iterator rbegin() const { return m_nodes.rbegin(); } | 61 const_reverse_iterator rbegin() const { return m_nodes.rbegin(); } |
57 const_reverse_iterator rend() const { return m_nodes.rend(); } | 62 const_reverse_iterator rend() const { return m_nodes.rend(); } |
58 | 63 |
59 DECLARE_TRACE(); | 64 DECLARE_TRACE(); |
60 | 65 |
61 private: | 66 private: |
62 HeapListHashSet<Member<Node>, 32> m_nodes; | 67 HeapListHashSet<Member<Node>, 32> m_nodes; |
63 }; | 68 }; |
64 | 69 |
65 } // namespace blink | 70 } // namespace blink |
66 | 71 |
67 #endif | 72 #endif |
OLD | NEW |