jaulib v1.3.0
Jau Support Library (C++, Java, ..)
Classes | Namespaces | Enumerations | Functions
byte_stream.hpp File Reference
#include <string>
#include <cstdint>
#include <functional>
#include <thread>
#include <jau/basic_types.hpp>
#include <jau/ringbuffer.hpp>
#include <jau/file_util.hpp>
#include <jau/io_util.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
 Abstract byte input stream object. More...
 
class  jau::io::ByteInStream_Feed
 Ringbuffer-Based byte input stream with an externally provisioned data feed. More...
 
class  jau::io::ByteInStream_File
 File based byte input stream, including named file descriptor. More...
 
class  jau::io::ByteInStream_Recorder
 Wrapped byte input stream with the capability to record the read byte stream at will. More...
 
class  jau::io::ByteInStream_SecMemory
 Secure Memory-Based byte input stream. More...
 
class  jau::io::ByteInStream_URL
 Ringbuffer-Based byte input stream with a URL connection provisioned data feed. More...
 
class  jau::io::ByteOutStream
 Abstract byte output stream object, to write data to a sink. More...
 
class  jau::io::ByteOutStream_File
 File based byte output stream, including named file descriptor. More...
 
class  jau::io::iostate_func
 Supporting std::basic_ios's iostate functionality for all ByteInStream implementations. More...
 

Namespaces

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

Enumerations

enum class  jau::io::iostate : uint32_t {
  jau::io::iostate::none = 0 , jau::io::iostate::goodbit = 0 , jau::io::iostate::badbit = 1 << 0 , jau::io::iostate::eofbit = 1 << 1 ,
  jau::io::iostate::failbit = 1 << 2 , jau::io::iostate::timeout = 1 << 3
}
 Mimic std::ios_base::iostate for state functionality, see iostate_func. More...
 

Functions

constexpr uint32_t jau::io::number (const iostate rhs) noexcept
 
constexpr bool jau::io::operator!= (const iostate lhs, const iostate rhs) noexcept
 
constexpr iostate jau::io::operator& (const iostate lhs, const iostate rhs) noexcept
 
constexpr iostate & jau::io::operator&= (iostate &lhs, const iostate rhs) noexcept
 
constexpr bool jau::io::operator== (const iostate lhs, const iostate rhs) noexcept
 
constexpr iostate jau::io::operator^ (const iostate lhs, const iostate rhs) noexcept
 
constexpr iostate & jau::io::operator^= (iostate &lhs, const iostate rhs) noexcept
 
constexpr iostate jau::io::operator| (const iostate lhs, const iostate rhs) noexcept
 
constexpr iostate & jau::io::operator|= (iostate &lhs, const iostate rhs) noexcept
 
constexpr iostate jau::io::operator~ (const iostate rhs) noexcept
 
std::unique_ptr< ByteInStreamjau::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. More...
 
std::string jau::io::to_string (const iostate mask) noexcept