Changeset 27208 in webkit for trunk/JavaScriptCore/wtf/RefPtr.h


Ignore:
Timestamp:
Oct 28, 2007, 9:37:37 PM (18 years ago)
Author:
darin
Message:
  • fix "broken everything" from the storage leak fix
  • wtf/RefPtr.h: (WTF::RefPtr::RefPtr): Added a PlacementNewAdopt constructor.
  • kjs/ustring.h: (KJS::UString::UString): Pass PlacementNewAdopt along to RefPtr.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/wtf/RefPtr.h

    r27103 r27208  
    11// -*- mode: c++; c-basic-offset: 4 -*-
    22/*
    3  *  This file is part of the KDE libraries
    4  *  Copyright (C) 2005, 2006 Apple Computer, Inc.
     3 *  Copyright (C) 2005, 2006, 2007 Apple Inc. All rights reserved.
    54 *
    65 *  This library is free software; you can redistribute it and/or
     
    2928namespace WTF {
    3029
     30    enum PlacementNewAdoptType { PlacementNewAdopt };
     31
    3132    template <typename T> class PassRefPtr;
    3233
    33     template <typename T> class RefPtr
    34     {
     34    template <typename T> class RefPtr {
    3535    public:
    3636        RefPtr() : m_ptr(0) {}
     
    3939        // see comment in PassRefPtr.h for why this takes const reference
    4040        template <typename U> RefPtr(const PassRefPtr<U>&);
     41
     42        // Special constructor for cases where we overwrite an object in place.
     43        RefPtr(PlacementNewAdoptType) { }
    4144
    4245        ~RefPtr() { if (T *ptr = m_ptr) ptr->deref(); }
     
    6669
    6770    private:
    68         T *m_ptr;
     71        T* m_ptr;
    6972    };
    7073   
Note: See TracChangeset for help on using the changeset viewer.