| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "src/lib/fostr/indent.h" |
| |
| namespace fostr { |
| namespace internal { |
| |
| constexpr long kDefaultIndentBy = 4; |
| |
| // static |
| long& IndentLevel::Value(std::ostream& os) { |
| static int index = std::ios_base::xalloc(); |
| return os.iword(index); |
| } |
| |
| // static |
| long& IndentBy::Value(std::ostream& os) { |
| static int index = std::ios_base::xalloc(); |
| |
| long& stored = os.iword(index); |
| if (stored == 0) { |
| stored = kDefaultIndentBy; |
| } |
| |
| return stored; |
| } |
| |
| } // namespace internal |
| } // namespace fostr |