Update mojo sdk to rev 1dc8a9a5db73d3718d99917fadf31f5fb2ebad4f
[chromium-blink-merge.git] / third_party / woff2 / src / file.h
blob69a92f8ab91f7947112626cbc2598168438ead05
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.
15 // File IO helpers
17 #ifndef WOFF2_FILE_H_
18 #define WOFF2_FILE_H_
20 #include <fstream>
21 #include <iterator>
23 namespace woff2 {
25 inline 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>());
32 inline 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));
39 } // namespace woff2
40 #endif // WOFF2_FILE_H_