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;
57 virtual std::string
id()
const {
return ""; }
88 DataSource(
const DataSource&);
97 size_t read(
byte[],
size_t);
98 size_t peek(
byte[],
size_t,
size_t)
const;
131 size_t read(
byte[],
size_t);
132 size_t peek(
byte[],
size_t,
size_t)
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;
bool check_available(size_t n)
size_t peek(byte[], size_t, size_t) const
size_t read(byte[], size_t)
DataSource_Memory(const std::string &in)
DataSource_Stream(std::istream &, const std::string &id="<std::istream>")
bool check_available(size_t n)
size_t peek(byte[], size_t, size_t) const
size_t read(byte[], size_t)
virtual std::string id() const
virtual size_t read(byte out[], size_t length)=0
virtual size_t peek(byte out[], size_t length, size_t peek_offset) const =0
size_t discard_next(size_t N)
size_t peek_byte(byte &out) const
size_t read_byte(byte &out)
virtual bool check_available(size_t n)=0
virtual bool end_of_data() const =0