diff options
Diffstat (limited to 'chromium/third_party/libaddressinput/src/cpp/src/format_element.cc')
-rw-r--r-- | chromium/third_party/libaddressinput/src/cpp/src/format_element.cc | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/chromium/third_party/libaddressinput/src/cpp/src/format_element.cc b/chromium/third_party/libaddressinput/src/cpp/src/format_element.cc new file mode 100644 index 00000000000..8f9669c8845 --- /dev/null +++ b/chromium/third_party/libaddressinput/src/cpp/src/format_element.cc @@ -0,0 +1,52 @@ +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "format_element.h" + +#include <libaddressinput/address_field.h> + +#include <cassert> +#include <ostream> + +namespace i18n { +namespace addressinput { + +FormatElement::FormatElement(AddressField field) : field_(field), literal_() {} + +FormatElement::FormatElement(const std::string& literal) + : field_(static_cast<AddressField>(-1)), literal_(literal) { + assert(!literal.empty()); +} + +FormatElement::FormatElement() + : field_(static_cast<AddressField>(-1)), literal_("\n") {} + +bool FormatElement::operator==(const FormatElement& other) const { + return field_ == other.field_ && literal_ == other.literal_; +} + +} // namespace addressinput +} // namespace i18n + +std::ostream& operator<<(std::ostream& o, + const i18n::addressinput::FormatElement& element) { + if (element.IsField()) { + o << "Field: " << element.GetField(); + } else if (element.IsNewline()) { + o << "Newline"; + } else { + o << "Literal: " << element.GetLiteral(); + } + return o; +} |