20 #ifndef __stir_IO_InputStreamWithRecords_H__ 21 #define __stir_IO_InputStreamWithRecords_H__ 58 template <
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;
92 inline SavedPosition save_get_position();
95 inline Succeeded set_get_position(
const SavedPosition&);
102 inline std::vector<std::streampos> get_saved_get_positions()
const;
109 inline void set_saved_get_positions(
const std::vector<std::streampos>&);
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.
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43