theKernel 10.0 NHI1 - theKernel - theLink - theConfig - theSq3Lite - theCompiler - theBrain - theGuard
c - tcl - py - rb - jv - cc
Loading...
Searching...
No Matches
MkBufferStreamS Struct Reference

The ABSTRACT-CLASS MkBufferStreamS is used for package-based serialized IOMore...

#include <LibMkKernel_mk.h>

+ Collaboration diagram for MkBufferStreamS:

Data Fields

union { 
 
   struct MkObjectS   obj 
 
   struct MkBufferS   buf 
 
super 
 
struct { 
 
   MK_NUM   numItems 
 
   MK_I32   undo 
 
   bool   endian_is_wrong 
 
var 
 
struct { 
 
   union MkBufferU   cur 
 point to current position in the package, used for write-to or read-from . More...
 
storage 
 
struct MkBuffer64S busRef
 
struct MkCacheS saveCache
 
struct MkBufferStreamSaveS * busWriteSave
 
struct MkBufferStreamSaveS * busReadSave
 
MK_BINB ils_data [MkBufferStreamS_ils_size]
 

Detailed Description

The ABSTRACT-CLASS MkBufferStreamS is used for package-based serialized IO

C-Kernel-Details

The ABSTRACT-CLASS MkBufferStreamS has the private-parent-class MkBufferS and is used to store typed-data in a continuous binary-array at MkBufferS::storage.

private-parent-class mean:
MkBufferStreamS use the features of MkBufferS but does not expose the API

In addition to the binary-array the MkBufferStreamS also include features like:

  1. the encoding: MkBufferStreamS::endian_is_wrong
  2. the total number of items: MkBufferStreamS::numItems
  3. current position pointer: MkBufferStreamS::cur
  4. support for recursion: embedding a MkBufferStreamS into a MkBufferStreamS

The MkBufferStreamS inherits the following features from MkBufferS:

  1. the storage: MkBufferS::storage
  2. the type: MkBufferS::type
  3. the ILS: MkBufferS::ils

The ABSTRACT-CLASS MkBufferStreamS is missing the ILS-storage, the FINAL-CLASSES are:

MkBufferStream16384S, MkBufferStream256S, MkBufferStream64S and MkBufferStream1024S

See also
MkBufferC, MkBufferListC

Definition at line 7066 of file LibMkKernel_mk.h.

Field Documentation

◆ buf

struct MkBufferS MkBufferStreamS::buf

Definition at line 7071 of file LibMkKernel_mk.h.

◆ busReadSave

struct MkBufferStreamSaveS* MkBufferStreamS::busReadSave

Definition at line 7106 of file LibMkKernel_mk.h.

◆ busRef

struct MkBuffer64S MkBufferStreamS::busRef

Definition at line 7102 of file LibMkKernel_mk.h.

◆ busWriteSave

struct MkBufferStreamSaveS* MkBufferStreamS::busWriteSave

Definition at line 7105 of file LibMkKernel_mk.h.

◆ cur

union MkBufferU MkBufferStreamS::cur

point to current position in the package, used for write-to or read-from .

Each reading-from and each writing-into an MkBufferStreamS increases the MkBufferStreamS::cur.

always:
buf.storage.first.B <= storage.cur.B <= buf.storage.first.B+buf.var.cursize

Definition at line 7097 of file LibMkKernel_mk.h.

◆ endian_is_wrong

bool MkBufferStreamS::endian_is_wrong

Definition at line 7089 of file LibMkKernel_mk.h.

◆ ils_data

MK_BINB MkBufferStreamS::ils_data[MkBufferStreamS_ils_size]

Definition at line 7108 of file LibMkKernel_mk.h.

◆ numItems

MK_NUM MkBufferStreamS::numItems

Definition at line 7078 of file LibMkKernel_mk.h.

◆ obj

struct MkObjectS MkBufferStreamS::obj

Definition at line 7070 of file LibMkKernel_mk.h.

◆ saveCache

struct MkCacheS MkBufferStreamS::saveCache

Definition at line 7104 of file LibMkKernel_mk.h.

◆ [struct]

struct { ... } MkBufferStreamS::storage

◆ [union]

union { ... } MkBufferStreamS::super

◆ undo

MK_I32 MkBufferStreamS::undo

Definition at line 7079 of file LibMkKernel_mk.h.

◆ [struct]

struct { ... } MkBufferStreamS::var

The documentation for this struct was generated from the following file: