Lines Matching defs:scoped_array
10 // scoped_array, scoped_ptr_malloc, and make_scoped_ptr.
30 template <class C> class scoped_array;
168 // scoped_array<C> is like scoped_ptr<C>, except that the caller must allocate
171 // As with scoped_ptr<C>, a scoped_array<C> either points to an object
172 // or is NULL. A scoped_array<C> owns the object that it points to.
173 // scoped_array<T> is thread-compatible, and once you index into it,
176 // Size: sizeof(scoped_array<C>) == sizeof(C*)
178 class scoped_array {
185 // There is no way to create an uninitialized scoped_array.
187 explicit scoped_array(C* p = NULL) : array_(p) { }
191 ~scoped_array() {
222 // These return whether a scoped_array and a raw pointer refer to
228 void swap(scoped_array& p2) {
248 // Forbid comparison of different scoped_array types.
249 template <class C2> bool operator==(scoped_array<C2> const& p2) const;
250 template <class C2> bool operator!=(scoped_array<C2> const& p2) const;
253 scoped_array(const scoped_array&);
254 void operator=(const scoped_array&);
259 inline void swap(scoped_array<C>& p1, scoped_array<C>& p2) {
264 inline bool operator==(const C* p1, const scoped_array<C>& p2) {
269 inline bool operator==(const C* p1, const scoped_array<const C>& p2) {
274 inline bool operator!=(const C* p1, const scoped_array<C>& p2) {
279 inline bool operator!=(const C* p1, const scoped_array<const C>& p2) {