1 #ifndef GENESIS_UTILS_IO_INPUT_SOURCE_H_
2 #define GENESIS_UTILS_IO_INPUT_SOURCE_H_
68 std::string
const& file_name,
69 bool detect_compression =
true
72 return std::make_shared<utils::GzipInputSource>(
73 std::make_shared< FileInputSource >( file_name )
76 return std::make_shared< FileInputSource >( file_name );
90 inline std::vector<std::shared_ptr<BaseInputSource>>
from_files(
91 std::vector<std::string>
const& file_names,
92 bool detect_compression =
true
94 std::vector<std::shared_ptr<BaseInputSource>> ret;
95 for(
size_t i = 0; i < file_names.size(); ++i ) {
96 ret.emplace_back(
from_file( file_names[i], detect_compression ));
110 template<
typename InputIterator>
111 inline std::vector<std::shared_ptr<BaseInputSource>>
from_files(
114 bool detect_compression =
true
116 std::vector<std::shared_ptr<BaseInputSource>> ret;
117 while( first != last ) {
118 ret.emplace_back(
from_file( *first, detect_compression ));
134 std::string
const& input_string
136 return std::make_shared< StringInputSource >( input_string );
148 std::vector<std::string>
const& input_strings
150 std::vector<std::shared_ptr<BaseInputSource>> ret;
151 for(
size_t i = 0; i < input_strings.size(); ++i ) {
152 ret.emplace_back(
from_string( input_strings[i] ));
165 template<
typename InputIterator>
170 std::vector<std::shared_ptr<BaseInputSource>> ret;
171 while( first != last ) {
188 std::istream& input_stream
190 return std::make_shared< StreamInputSource >( input_stream );
196 #endif // include guard