Changeset 45262 in webkit for trunk/JavaScriptCore/wtf/Vector.h


Ignore:
Timestamp:
Jun 26, 2009, 9:29:35 AM (16 years ago)
Author:
Simon Hausmann
Message:

JavaScriptCore:

2009-06-26 Jedrzej Nowacki <[email protected]>

Reviewed by Simon Hausmann.

Add support for QDataStream operators to Vector.

WebCore:

2009-06-26 Jedrzej Nowacki <[email protected]>

Reviewed by Simon Hausmann.

Add support for QDataStream operators to String and IntPoint.

File:
1 edited

Legend:

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

    r45068 r45262  
    2929#include <utility>
    3030
     31#if PLATFORM(QT)
     32#include <QDataStream>
     33#endif
     34
    3135namespace WTF {
    3236
     
    563567        Buffer m_buffer;
    564568    };
     569
     570#if PLATFORM(QT)
     571    template<typename T>
     572    QDataStream& operator<<(QDataStream& stream, const Vector<T>& data)
     573    {
     574        stream << qint64(data.size());
     575        foreach (const T& i, data)
     576            stream << i;
     577        return stream;
     578    }
     579
     580    template<typename T>
     581    QDataStream& operator>>(QDataStream& stream, Vector<T>& data)
     582    {
     583        data.clear();
     584        qint64 count;
     585        T item;
     586        stream >> count;
     587        data.reserveCapacity(count);
     588        for (qint64 i = 0; i < count; ++i) {
     589            stream >> item;
     590            data.append(item);
     591        }
     592        return stream;
     593    }
     594#endif
    565595
    566596    template<typename T, size_t inlineCapacity>
Note: See TracChangeset for help on using the changeset viewer.