Grok 10.0.5
BufferedStream.h File Reference
#include "grk_config_private.h"
#include "IBitIO.h"

Go to the source code of this file.

Classes

struct  grk::grk::BufferedStream
 

Namespaces

namespace  grk
 Copyright (C) 2016-2023 Grok Image Compression Inc.
 

Macros

#define GROK_STREAM_STATUS_OUTPUT   0x1U
 
#define GROK_STREAM_STATUS_INPUT   0x2U
 
#define GROK_STREAM_STATUS_END   0x4U
 
#define GROK_STREAM_STATUS_ERROR   0x8U
 

Functions

template<typename TYPE >
void grk::grk_write (uint8_t *buffer, TYPE value, uint32_t numBytes)
 
template<typename TYPE >
void grk::grk_write (uint8_t *buffer, TYPE value)
 
template<typename TYPE >
void grk::grk_read (const uint8_t *buffer, TYPE *value, uint32_t numBytes)
 
template<typename TYPE >
void grk::grk_read (const uint8_t *buffer, TYPE *value)
 

Variables

friend GrkObjectWrapperImpl< BufferedStream >
 
grk_object obj
 
void * user_data_
 user data
 
grk_stream_free_user_data_fn free_user_data_fn_
 Pointer to function to free user_data_ (nullptr at initialization) when destroying the stream.
 
uint64_t user_data_length_
 User data length.
 
grk_stream_read_fn read_fn_
 Pointer to actual read function (nullptr at initialization).
 
grk_stream_zero_copy_read_fn zero_copy_read_fn_
 Pointer to actual zero copy read function (nullptr at initialization).
 
grk_stream_write_fn write_fn_
 Pointer to actual write function (nullptr at initialization).
 
grk_stream_seek_fn seek_fn_
 Pointer to actual seek function (if available).
 
uint32_t status_
 Stream status flags.
 
grk_buf8 * buf_
 
size_t buffered_bytes_
 
size_t read_bytes_seekable_
 
uint64_t stream_offset_
 
GRK_CODEC_FORMAT format_
 

Macro Definition Documentation

◆ GROK_STREAM_STATUS_END

#define GROK_STREAM_STATUS_END   0x4U

◆ GROK_STREAM_STATUS_ERROR

#define GROK_STREAM_STATUS_ERROR   0x8U

◆ GROK_STREAM_STATUS_INPUT

#define GROK_STREAM_STATUS_INPUT   0x2U

◆ GROK_STREAM_STATUS_OUTPUT

#define GROK_STREAM_STATUS_OUTPUT   0x1U

Variable Documentation

◆ buf_

grk_buf8* buf_
private

◆ buffered_bytes_

◆ format_

◆ free_user_data_fn_

grk_stream_free_user_data_fn free_user_data_fn_
private

Pointer to function to free user_data_ (nullptr at initialization) when destroying the stream.

If pointer is nullptr the function is not called and the user_data_ is not freed (even if it isn't nullptr).

Referenced by grk::grk::BufferedStream::setUserData(), and grk::grk::BufferedStream::~BufferedStream().

◆ GrkObjectWrapperImpl< BufferedStream >

friend GrkObjectWrapperImpl< BufferedStream >

◆ obj

◆ read_bytes_seekable_

◆ read_fn_

grk_stream_read_fn read_fn_
private

Pointer to actual read function (nullptr at initialization).

Referenced by grk::grk::BufferedStream::read(), and grk::grk::BufferedStream::setReadFunction().

◆ seek_fn_

◆ status_

◆ stream_offset_

◆ user_data_

◆ user_data_length_

uint64_t user_data_length_
private

User data length.

Currently set to size of file for file read stream, and size of buffer for buffer read/write stream

Referenced by grk::grk::BufferedStream::numBytesLeft(), grk::grk::BufferedStream::read(), grk::grk::BufferedStream::read_seek(), and grk::grk::BufferedStream::setUserDataLength().

◆ write_fn_

grk_stream_write_fn write_fn_
private

Pointer to actual write function (nullptr at initialization).

Referenced by grk::grk::BufferedStream::flush(), grk::grk::BufferedStream::setWriteFunction(), and grk::grk::BufferedStream::writeBytes().

◆ zero_copy_read_fn_

grk_stream_zero_copy_read_fn zero_copy_read_fn_
private

Pointer to actual zero copy read function (nullptr at initialization).

Referenced by grk::grk::BufferedStream::setZeroCopyReadFunction().