1645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez// Copyright 2016 The Chromium Authors. All rights reserved.
2645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez// Use of this source code is governed by a BSD-style license that can be
3645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez// found in the LICENSE file.
4645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
5645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez#include "mojo/edk/system/ports/name.h"
6645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
7645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chaveznamespace mojo {
8645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chaveznamespace edk {
9645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chaveznamespace ports {
10645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
11645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavezstd::ostream& operator<<(std::ostream& stream, const Name& name) {
12645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  std::ios::fmtflags flags(stream.flags());
13645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  stream << std::hex << std::uppercase << name.v1;
14645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  if (name.v2 != 0)
15645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    stream << '.' << name.v2;
16645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  stream.flags(flags);
17645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  return stream;
18645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez}
19645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
20645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez}  // namespace ports
21645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez}  // namespace edk
22645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez}  // namespace mojo
23