OLD | NEW |
1 // Copyright 2013 Google Inc. All Rights Reserved. | 1 // Copyright 2013 Google Inc. All Rights Reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with 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 | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 // See the License for the specific language governing permissions and | 12 // See the License for the specific language governing permissions and |
13 // limitations under the License. | 13 // limitations under the License. |
14 // | 14 // |
15 // File IO helpers | 15 // File IO helpers. |
16 | 16 |
17 #ifndef WOFF2_FILE_H_ | 17 #ifndef WOFF2_FILE_H_ |
18 #define WOFF2_FILE_H_ | 18 #define WOFF2_FILE_H_ |
19 | 19 |
20 #include <fstream> | 20 #include <fstream> |
21 #include <iterator> | 21 #include <iterator> |
22 | 22 |
23 namespace woff2 { | 23 namespace woff2 { |
24 | 24 |
25 inline std::string GetFileContent(std::string filename) { | 25 using std::string; |
| 26 |
| 27 |
| 28 inline string GetFileContent(string filename) { |
26 std::ifstream ifs(filename.c_str(), std::ios::binary); | 29 std::ifstream ifs(filename.c_str(), std::ios::binary); |
27 return std::string( | 30 return string( |
28 std::istreambuf_iterator<char>(ifs.rdbuf()), | 31 std::istreambuf_iterator<char>(ifs.rdbuf()), |
29 std::istreambuf_iterator<char>()); | 32 std::istreambuf_iterator<char>()); |
30 } | 33 } |
31 | 34 |
32 inline void SetFileContents(std::string filename, std::string content) { | 35 inline void SetFileContents(string filename, string::iterator start, |
| 36 string::iterator end) { |
33 std::ofstream ofs(filename.c_str(), std::ios::binary); | 37 std::ofstream ofs(filename.c_str(), std::ios::binary); |
34 std::copy(content.begin(), | 38 std::copy(start, end, std::ostream_iterator<char>(ofs)); |
35 content.end(), | |
36 std::ostream_iterator<char>(ofs)); | |
37 } | 39 } |
38 | 40 |
39 } // namespace woff2 | 41 } // namespace woff2 |
40 #endif // WOFF2_FILE_H_ | 42 #endif // WOFF2_FILE_H_ |
OLD | NEW |