1*635a8641SAndroid Build Coastguard Worker // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2*635a8641SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*635a8641SAndroid Build Coastguard Worker // found in the LICENSE file. 4*635a8641SAndroid Build Coastguard Worker 5*635a8641SAndroid Build Coastguard Worker #include "base/strings/nullable_string16.h" 6*635a8641SAndroid Build Coastguard Worker 7*635a8641SAndroid Build Coastguard Worker #include <ostream> 8*635a8641SAndroid Build Coastguard Worker #include <utility> 9*635a8641SAndroid Build Coastguard Worker 10*635a8641SAndroid Build Coastguard Worker namespace base { 11*635a8641SAndroid Build Coastguard Worker NullableString16::NullableString16() = default; 12*635a8641SAndroid Build Coastguard Worker NullableString16::NullableString16(const NullableString16& other) = default; 13*635a8641SAndroid Build Coastguard Worker NullableString16::NullableString16(NullableString16&& other) = default; 14*635a8641SAndroid Build Coastguard Worker NullableString16(const string16 & string,bool is_null)15*635a8641SAndroid Build Coastguard WorkerNullableString16::NullableString16(const string16& string, bool is_null) { 16*635a8641SAndroid Build Coastguard Worker if (!is_null) 17*635a8641SAndroid Build Coastguard Worker string_.emplace(string); 18*635a8641SAndroid Build Coastguard Worker } 19*635a8641SAndroid Build Coastguard Worker NullableString16(Optional<string16> optional_string16)20*635a8641SAndroid Build Coastguard WorkerNullableString16::NullableString16(Optional<string16> optional_string16) 21*635a8641SAndroid Build Coastguard Worker : string_(std::move(optional_string16)) {} 22*635a8641SAndroid Build Coastguard Worker 23*635a8641SAndroid Build Coastguard Worker NullableString16::~NullableString16() = default; 24*635a8641SAndroid Build Coastguard Worker NullableString16& NullableString16::operator=(const NullableString16& other) = 25*635a8641SAndroid Build Coastguard Worker default; 26*635a8641SAndroid Build Coastguard Worker NullableString16& NullableString16::operator=(NullableString16&& other) = 27*635a8641SAndroid Build Coastguard Worker default; 28*635a8641SAndroid Build Coastguard Worker operator <<(std::ostream & out,const NullableString16 & value)29*635a8641SAndroid Build Coastguard Workerstd::ostream& operator<<(std::ostream& out, const NullableString16& value) { 30*635a8641SAndroid Build Coastguard Worker return value.is_null() ? out << "(null)" : out << value.string(); 31*635a8641SAndroid Build Coastguard Worker } 32*635a8641SAndroid Build Coastguard Worker 33*635a8641SAndroid Build Coastguard Worker } // namespace base 34