9 #ifndef _aa2965aa_e891_4713_9c90_e8eacd2944ea
10 #define _aa2965aa_e891_4713_9c90_e8eacd2944ea
33 std::istream & stream;
36 std::string transfer_syntax;
45 bool keep_group_length;
52 static T read_binary(std::istream & stream,
ByteOrdering byte_ordering);
57 std::string transfer_syntax,
bool keep_group_length=
false);
60 static void ignore(std::istream & stream, std::streamsize size);
67 std::istream & stream, std::string
const & transfer_syntax,
68 bool keep_group_length=
false);
71 std::shared_ptr<DataSet> read_data_set(
72 std::function<
bool(
Tag const &)> halt_condition =
73 [](
Tag const &) {
return false;})
const;
79 uint32_t read_length(
VR vr)
const;
87 Tag const & tag=
Tag(0xffff,0xffff),
88 std::shared_ptr<DataSet const> data_set=std::make_shared<DataSet>())
const;
91 static std::pair<std::shared_ptr<DataSet>, std::shared_ptr<DataSet>>
93 std::istream & stream,
94 bool keep_group_length=
false,
95 std::function<
bool(
Tag const &)> halt_condition = [](
Tag const &) {
return false;});
100 typedef void result_type;
102 std::istream & stream;
106 std::string transfer_syntax;
109 bool keep_group_length;
112 std::istream & stream,
VR vr, uint32_t vl,
113 std::string
const & transfer_syntax,
ByteOrdering byte_ordering,
114 bool explicit_vr,
bool keep_group_length);
125 std::shared_ptr<DataSet>
126 read_item(std::istream & specific_stream)
const;
128 std::istream & specific_stream)
const;
134 #include "odil/Reader.txx"
136 #endif // _aa2965aa_e891_4713_9c90_e8eacd2944ea