jorlow@chromium.org | 3a2fc8c | 2009-08-27 09:55:02 +0900 | [diff] [blame] | 1 | // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #ifndef BASE_NULLABLE_STRING16_H_ |
| 6 | #define BASE_NULLABLE_STRING16_H_ |
| 7 | |
| 8 | #include "base/string16.h" |
| 9 | |
| 10 | // This class is a simple wrapper for string16 which also contains a null |
| 11 | // state. This should be used only where the difference between null and |
| 12 | // empty is meaningful. |
| 13 | class NullableString16 { |
| 14 | public: |
| 15 | NullableString16() : is_null_(false) { } |
| 16 | NullableString16(const string16& string, bool is_null) |
| 17 | : string_(string), is_null_(is_null) { |
| 18 | } |
| 19 | |
| 20 | const string16& string() const { return string_; } |
| 21 | bool is_null() const { return is_null_; } |
| 22 | |
| 23 | private: |
| 24 | string16 string_; |
| 25 | bool is_null_; |
| 26 | }; |
| 27 | |
| 28 | #endif // BASE_NULLABLE_STRING16_H_ |