20#ifndef __stir_IO_InputStreamWithRecords_H__
21#define __stir_IO_InputStreamWithRecords_H__
58template <
class RecordT,
class OptionsT>
62 typedef std::vector<std::streampos>::size_type SavedPosition;
67 const std::size_t size_of_record_signature,
68 const std::size_t max_size_of_record,
69 const OptionsT& options);
76 const std::size_t size_of_record_signature,
77 const std::size_t max_size_of_record,
78 const OptionsT& options,
79 const std::streampos start_of_data = 0);
83 inline virtual Succeeded get_next_record(RecordT& record)
const;
111 inline std::istream& get_stream() {
return *this->stream_ptr; }
114 shared_ptr<std::istream> stream_ptr;
115 const std::string filename;
117 std::streampos starting_stream_position;
118 std::vector<std::streampos> saved_get_positions;
120 const std::size_t size_of_record_signature;
121 const std::size_t max_size_of_record;
123 const OptionsT options;
Declaration of class stir::Succeeded.
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...