44 #ifndef GNSSTK_FILEFILTERFRAME_HPP
45 #define GNSSTK_FILEFILTERFRAME_HPP
72 template <
class FileStream,
class FileData>
135 newSource(
const std::vector<std::string>& fileList,
154 bool writeFile(
const std::string& outputFile,
155 const bool append =
false)
const;
167 bool writeFile(FileStream& stream)
const;
185 template <
class FileStream,
class FileData>
189 : startTime(start), endTime(end)
192 template <
class FileStream,
class FileData>
197 : startTime(start), endTime(end)
199 typename std::vector<std::string>::const_iterator itr;
200 for (itr = fileList.begin(); itr != fileList.end(); itr++)
207 template <
class FileStream,
class FileData>
212 : fs(filename), startTime(start), endTime(end)
217 template <
class FileStream,
class FileData>
223 : fs(spec), startTime(start), endTime(end)
228 template <
class FileStream,
class FileData>
244 template <
class FileStream,
class FileData>
254 fs.newSpec(filename);
259 template <
class FileStream,
class FileData>
269 typename std::vector<std::string>::const_iterator itr;
270 for (itr = fileList.begin(); itr != fileList.end(); itr++)
278 template <
class FileStream,
class FileData>
284 std::list<std::string> listOfFiles =
288 for (
const auto& i : listOfFiles)
290 FileStream s(i.c_str());
301 template <
class FileStream,
class FileData>
304 const bool append)
const
306 if (!this->dataVec.empty())
309 std::string::size_type
pos = str.rfind(
'/');
310 if (
pos != std::string::npos)
313 std::ios::openmode mode = std::ios::out;
315 mode |= (std::ios::app|std::ios::ate);
317 FileStream stream(str.c_str(), mode);
318 return writeFile(stream);
324 template <
class FileStream,
class FileData>
328 if (!this->dataVec.empty())
330 stream.exceptions(std::ios::failbit);
332 typename std::list<FileData>::const_iterator index;
333 for(index = this->dataVec.begin(); index != this->dataVec.end(); index++)
334 (*index).putRecord(stream);
342 #endif // GNSSTK_FILEFILTERFRAME_HPP