| OLD | NEW |
| 1 /* | 1 /* |
| 2 * (C) 1999 Lars Knoll (knoll@kde.org) | 2 * (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 bool isAllSpecialCharacters(const CharacterType*, size_t); | 85 bool isAllSpecialCharacters(const CharacterType*, size_t); |
| 86 | 86 |
| 87 class WTF_EXPORT String { | 87 class WTF_EXPORT String { |
| 88 public: | 88 public: |
| 89 // Construct a null string, distinguishable from an empty string. | 89 // Construct a null string, distinguishable from an empty string. |
| 90 String() { } | 90 String() { } |
| 91 | 91 |
| 92 // Construct a string with UTF-16 data. | 92 // Construct a string with UTF-16 data. |
| 93 String(const UChar* characters, unsigned length); | 93 String(const UChar* characters, unsigned length); |
| 94 | 94 |
| 95 // Construct a string by copying the contents of a vector. To avoid | 95 // Construct a string by copying the contents of a vector. |
| 96 // copying, consider using String::adopt instead. | |
| 97 // This method will never create a null string. Vectors with size() == 0 | 96 // This method will never create a null string. Vectors with size() == 0 |
| 98 // will return the empty string. | 97 // will return the empty string. |
| 99 // NOTE: This is different from String(vector.data(), vector.size()) | 98 // NOTE: This is different from String(vector.data(), vector.size()) |
| 100 // which will sometimes return a null string when vector.data() is null | 99 // which will sometimes return a null string when vector.data() is null |
| 101 // which can only occur for vectors without inline capacity. | 100 // which can only occur for vectors without inline capacity. |
| 102 // See: https://bugs.webkit.org/show_bug.cgi?id=109792 | 101 // See: https://bugs.webkit.org/show_bug.cgi?id=109792 |
| 103 template<size_t inlineCapacity> | 102 template<size_t inlineCapacity> |
| 104 explicit String(const Vector<UChar, inlineCapacity>&); | 103 explicit String(const Vector<UChar, inlineCapacity>&); |
| 105 | 104 |
| 106 // Construct a string with UTF-16 data, from a null-terminated source. | 105 // Construct a string with UTF-16 data, from a null-terminated source. |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 void swap(String& o) { m_impl.swap(o.m_impl); } | 142 void swap(String& o) { m_impl.swap(o.m_impl); } |
| 144 | 143 |
| 145 template<typename CharType> | 144 template<typename CharType> |
| 146 static String adopt(StringBuffer<CharType>& buffer) | 145 static String adopt(StringBuffer<CharType>& buffer) |
| 147 { | 146 { |
| 148 if (!buffer.length()) | 147 if (!buffer.length()) |
| 149 return StringImpl::empty(); | 148 return StringImpl::empty(); |
| 150 return String(buffer.release()); | 149 return String(buffer.release()); |
| 151 } | 150 } |
| 152 | 151 |
| 153 template<typename CharType, size_t inlineCapacity> | |
| 154 static String adopt(Vector<CharType, inlineCapacity>& vector) { return Strin
gImpl::adopt(vector); } | |
| 155 | |
| 156 bool isNull() const { return !m_impl; } | 152 bool isNull() const { return !m_impl; } |
| 157 bool isEmpty() const { return !m_impl || !m_impl->length(); } | 153 bool isEmpty() const { return !m_impl || !m_impl->length(); } |
| 158 | 154 |
| 159 StringImpl* impl() const { return m_impl.get(); } | 155 StringImpl* impl() const { return m_impl.get(); } |
| 160 PassRefPtr<StringImpl> releaseImpl() { return m_impl.release(); } | 156 PassRefPtr<StringImpl> releaseImpl() { return m_impl.release(); } |
| 161 | 157 |
| 162 unsigned length() const | 158 unsigned length() const |
| 163 { | 159 { |
| 164 if (!m_impl) | 160 if (!m_impl) |
| 165 return 0; | 161 return 0; |
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 730 using WTF::equal; | 726 using WTF::equal; |
| 731 using WTF::equalIgnoringCase; | 727 using WTF::equalIgnoringCase; |
| 732 using WTF::find; | 728 using WTF::find; |
| 733 using WTF::isAllSpecialCharacters; | 729 using WTF::isAllSpecialCharacters; |
| 734 using WTF::isSpaceOrNewline; | 730 using WTF::isSpaceOrNewline; |
| 735 using WTF::reverseFind; | 731 using WTF::reverseFind; |
| 736 using WTF::ASCIILiteral; | 732 using WTF::ASCIILiteral; |
| 737 | 733 |
| 738 #include "wtf/text/AtomicString.h" | 734 #include "wtf/text/AtomicString.h" |
| 739 #endif | 735 #endif |
| OLD | NEW |