jaulib v1.4.0-2-g788cf73
Jau Support Library (C++, Java, ..)
Loading...
Searching...
No Matches
byte_stream.hpp File Reference
#include <cstdint>
#include <string>
#include <jau/basic_types.hpp>
#include <jau/byte_util.hpp>
#include <jau/enum_util.hpp>
#include <jau/io/file_util.hpp>
#include <jau/io/io_util.hpp>
#include <jau/ringbuffer.hpp>
Include dependency graph for byte_stream.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  jau::io::ByteInStream_Feed
 Ringbuffer-Based byte input stream with an externally provisioned data feed. More...
 
class  jau::io::ByteInStream_URL
 Ringbuffer-Based byte input stream with a URL connection provisioned data feed. More...
 
class  jau::io::ByteStream
 Byte stream interface. More...
 
class  jau::io::ByteStream_File
 File based byte input stream, including named file descriptor. More...
 
class  jau::io::ByteStream_Recorder
 Wrapped byte input stream with the capability to record the read byte stream at will. More...
 
class  jau::io::ByteStream_SecMemory
 Secure Memory-Based byte input stream. More...
 
class  jau::io::IOStateCap
 Supporting std::basic_ios's iostate capabilities for all ByteStream implementations. More...
 
class  jau::io::impl::RewindBuffer
 Rewind buffer support for mark/setMark, read and reset/seekMark. More...
 

Namespaces

namespace  jau
 __pack(...): Produces MSVC, clang and gcc compatible lead-in and -out macros.
 
namespace  jau::io
 
namespace  jau::io::impl
 

Enumerations

enum class  jau::io::iomode_t : uint32_t {
  jau::io::iomode_t::none = 0 , jau::io::iomode_t::read = 1U << 0 , jau::io::iomode_t::write = 1U << 1 , jau::io::iomode_t::rw = read | write ,
  jau::io::iomode_t::atend = 1U << 2 , jau::io::iomode_t::trunc = 1U << 3 , jau::io::iomode_t::writetrunc = write | trunc
}
 Stream I/O mode, e.g. More...
 
enum class  jau::io::iostate_t : uint32_t {
  jau::io::iostate_t::none = 0 , jau::io::iostate_t::goodbit = 0 , jau::io::iostate_t::badbit = 1U << 0 , jau::io::iostate_t::eofbit = 1U << 1 ,
  jau::io::iostate_t::failbit = 1U << 2 , jau::io::iostate_t::timeout = 1U << 3
}
 

Functions

 jau::io::JAU_MAKE_BITFIELD_ENUM_STRING (iomode_t, read, write, atend, trunc)
 
 jau::io::JAU_MAKE_BITFIELD_ENUM_STRING (iostate_t, goodbit, badbit, eofbit, failbit, timeout)
 
std::ostream & jau::io::operator<< (std::ostream &os, const ByteStream &v)
 
std::unique_ptr< ByteStreamjau::io::to_ByteInStream (const std::string &path_or_uri, jau::fraction_i64 timeout=20_s) noexcept
 Parses the given path_or_uri, if it matches a supported protocol, see jau::io::uri::protocol_supported(), but is not a local file, see jau::io::uri::is_local_file_protocol(), ByteInStream_URL is being attempted.