8 #ifndef BOTAN_DATA_SRC_H__ 9 #define BOTAN_DATA_SRC_H__ 11 #include <botan/secmem.h> 32 virtual size_t read(
byte out[],
size_t length) = 0;
45 virtual size_t peek(
byte out[],
size_t length,
46 size_t peek_offset)
const = 0;
52 virtual bool end_of_data()
const = 0;
57 virtual std::string
id()
const {
return ""; }
59 virtual bool check_available(
size_t n) = 0;
67 size_t read_byte(
byte& out);
75 size_t peek_byte(
byte& out)
const;
82 size_t discard_next(
size_t N);
97 size_t read(
byte[],
size_t);
98 size_t peek(
byte[],
size_t,
size_t)
const;
99 bool check_available(
size_t n);
100 bool end_of_data()
const;
131 size_t read(
byte[],
size_t);
132 size_t peek(
byte[],
size_t,
size_t)
const;
133 bool check_available(
size_t n);
134 bool end_of_data()
const;
135 std::string id()
const;
138 const std::string&
id =
"<std::istream>");
149 const std::string identifier;
151 std::istream* source_p;
152 std::istream& source;
virtual std::string id() const