naiveproxy/tools/gn/config_values_extractors.cc

36 lines
953 B
C++
Raw Permalink Normal View History

2018-01-28 19:30:36 +03:00
// Copyright (c) 2013 The Chromium 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 "tools/gn/config_values_extractors.h"
#include "tools/gn/escape.h"
namespace {
class EscapedStringWriter {
public:
explicit EscapedStringWriter(const EscapeOptions& escape_options)
: escape_options_(escape_options) {
}
void operator()(const std::string& s, std::ostream& out) const {
out << " ";
EscapeStringToStream(out, s, escape_options_);
}
private:
const EscapeOptions& escape_options_;
};
} // namespace
void RecursiveTargetConfigStringsToStream(
const Target* target,
const std::vector<std::string>& (ConfigValues::* getter)() const,
const EscapeOptions& escape_options,
std::ostream& out) {
RecursiveTargetConfigToStream(target, getter,
EscapedStringWriter(escape_options), out);
}