File indexing completed on 2024-04-28 11:39:16
0001 /* 0002 Copyright (C) 2006 Nikolas Zimmermann <wildfox@kde.org> 0003 2006 Apple Computer Inc. 0004 0005 This file is part of the KDE project 0006 0007 This library is free software; you can redistribute it and/or 0008 modify it under the terms of the GNU Library General Public 0009 License as published by the Free Software Foundation; either 0010 version 2 of the License, or (at your option) any later version. 0011 0012 This library is distributed in the hope that it will be useful, 0013 but WITHOUT ANY WARRANTY; without even the implied warranty of 0014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0015 Library General Public License for more details. 0016 0017 You should have received a copy of the GNU Library General Public License 0018 along with this library; see the file COPYING.LIB. If not, write to 0019 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0020 Boston, MA 02110-1301, USA. 0021 */ 0022 0023 #ifndef SVGListTraits_h 0024 #define SVGListTraits_h 0025 0026 #if ENABLE(SVG) 0027 0028 namespace WebCore 0029 { 0030 0031 template<typename Item> struct UsesDefaultInitializer { 0032 static const bool value = true; 0033 }; 0034 template<> struct UsesDefaultInitializer<double> { 0035 static const bool value = false; 0036 }; 0037 0038 template<bool usesDefaultInitializer, typename Item> 0039 struct SVGListTraits { }; 0040 0041 template<typename Item> 0042 struct SVGListTraits<true, Item> { 0043 static Item nullItem() 0044 { 0045 return Item(); 0046 } 0047 }; 0048 0049 template<> 0050 struct SVGListTraits<false, double> { 0051 static double nullItem() 0052 { 0053 return 0.0; 0054 } 0055 }; 0056 0057 } // namespace WebCore 0058 0059 #endif // SVG_SUPPORT 0060 #endif // SVGListTraits_h 0061