X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/b37bf2e156556c589aea3e1f58a377f2b1189665..b80e619319b1def83d1e8b4f84042b661be1be7f:/wtf/VectorTraits.h diff --git a/wtf/VectorTraits.h b/wtf/VectorTraits.h index c62a0bf..3f33b29 100644 --- a/wtf/VectorTraits.h +++ b/wtf/VectorTraits.h @@ -1,7 +1,5 @@ -// -*- mode: c++; c-basic-offset: 4 -*- /* - * This file is part of the KDE libraries - * Copyright (C) 2006 Apple Computer, Inc. + * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -23,33 +21,18 @@ #ifndef WTF_VectorTraits_h #define WTF_VectorTraits_h +#include "OwnPtr.h" #include "RefPtr.h" +#include "TypeTraits.h" #include +#include using std::pair; namespace WTF { - template struct IsPod { static const bool value = false; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template <> struct IsPod { static const bool value = true; }; - template struct IsPod

{ static const bool value = true; }; - template - class VectorTraitsBase; + struct VectorTraitsBase; template struct VectorTraitsBase @@ -89,11 +72,14 @@ namespace WTF { static const bool canCompareWithMemcmp = true; }; - // we know RefPtr is simple enough that initializing to 0 and moving with memcpy + // we know OwnPtr and RefPtr are simple enough that initializing to 0 and moving with memcpy // (and then not destructing the original) will totally work template struct VectorTraits > : SimpleClassVectorTraits { }; - + + template + struct VectorTraits > : SimpleClassVectorTraits { }; + template struct VectorTraits > {