1 // Copyright 2020 The Tint Authors.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #include <cstring>
16 
17 #include "src/diagnostic/printer.h"
18 
19 namespace tint {
20 namespace diag {
21 namespace {
22 
23 class PrinterOther : public Printer {
24  public:
PrinterOther(FILE * f)25   explicit PrinterOther(FILE* f) : file(f) {}
26 
write(const std::string & str,const Style &)27   void write(const std::string& str, const Style&) override {
28     fwrite(str.data(), 1, str.size(), file);
29   }
30 
31  private:
32   FILE* file;
33 };
34 
35 }  // namespace
36 
create(FILE * out,bool)37 std::unique_ptr<Printer> Printer::create(FILE* out, bool) {
38   return std::make_unique<PrinterOther>(out);
39 }
40 
41 }  // namespace diag
42 }  // namespace tint
43