1// Copyright 2013 Google Inc. All Rights Reserved.
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// File IO helpers
16
17#ifndef WOFF2_FILE_H_
18#define WOFF2_FILE_H_
19
20#include <fstream>
21#include <iterator>
22
23namespace woff2 {
24
25inline std::string GetFileContent(std::string filename) {
26  std::ifstream ifs(filename.c_str(), std::ios::binary);
27  return std::string(
28    std::istreambuf_iterator<char>(ifs.rdbuf()),
29    std::istreambuf_iterator<char>());
30}
31
32inline void SetFileContents(std::string filename, std::string content) {
33  std::ofstream ofs(filename.c_str(), std::ios::binary);
34  std::copy(content.begin(),
35            content.end(),
36            std::ostream_iterator<char>(ofs));
37}
38
39} // namespace woff2
40#endif  // WOFF2_FILE_H_
41