OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2014 Google Inc. All rights reserved. | 2 * Copyright (C) 2014 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 ++size_; | 91 ++size_; |
92 } | 92 } |
93 | 93 |
94 template <typename T> | 94 template <typename T> |
95 inline const T& HeapLinkedStack<T>::Peek() { | 95 inline const T& HeapLinkedStack<T>::Peek() { |
96 return head_->data_; | 96 return head_->data_; |
97 } | 97 } |
98 | 98 |
99 template <typename T> | 99 template <typename T> |
100 inline void HeapLinkedStack<T>::Pop() { | 100 inline void HeapLinkedStack<T>::Pop() { |
101 ASSERT(head_ && size_); | 101 DCHECK(head_); |
| 102 DCHECK(size_); |
102 head_ = head_->next_; | 103 head_ = head_->next_; |
103 --size_; | 104 --size_; |
104 } | 105 } |
105 | 106 |
106 template <typename T> | 107 template <typename T> |
107 inline size_t HeapLinkedStack<T>::size() { | 108 inline size_t HeapLinkedStack<T>::size() { |
108 return size_; | 109 return size_; |
109 } | 110 } |
110 | 111 |
111 template <typename T> | 112 template <typename T> |
112 class TraceEagerlyTrait<HeapLinkedStack<T>> { | 113 class TraceEagerlyTrait<HeapLinkedStack<T>> { |
113 STATIC_ONLY(TraceEagerlyTrait); | 114 STATIC_ONLY(TraceEagerlyTrait); |
114 | 115 |
115 public: | 116 public: |
116 static const bool value = TraceEagerlyTrait<T>::value; | 117 static const bool value = TraceEagerlyTrait<T>::value; |
117 }; | 118 }; |
118 | 119 |
119 } // namespace blink | 120 } // namespace blink |
120 | 121 |
121 #endif // HeapLinkedStack_h | 122 #endif // HeapLinkedStack_h |
OLD | NEW |