|
theKernel 10.0
|
The ABSTRACT-CLASS used to store a native-type-data-item defined by PRIMITIVE TYPE … More...
#include <LibMkKernel_mk.h>
Collaboration diagram for MkBufferS:Data Structures | |
| struct | ilsS |
| instance storage predefined More... | |
Data Fields | ||
| union { | ||
| struct MkObjectS obj | ||
| } | super | |
| struct { | ||
| MK_NUM cursize | ||
| currently used size (always: cursize < size) More... | ||
| enum MkTypeE type | ||
| type of the item stored into the data-segment More... | ||
| } | var | |
| variable part of the instance-data | ||
| struct { | ||
| union MkBufferU first | ||
| POINTER to native data representation (ILS or malloc) More... | ||
| MK_NUM size | ||
| the size of the data-segment More... | ||
| bool doBufferFree | ||
| should the data be freed? -> example: pBufferRefInit More... | ||
| } | storage | |
| struct MkBufferS::ilsS | ils | |
| ILS = predefined storage used for MkBufferS::storage->first. | ||
| MK_BINB | ils_data [MkBufferS_ils_size] | |
| ILS storage | ||
The ABSTRACT-CLASS used to store a native-type-data-item defined by PRIMITIVE TYPE …
C-Kernel-Details
The ABSTRACT-CLASS MkBufferS is used to store MkTypeE data in an MkBufferS::storage …
A new MkBufferS is always preallocated with the predefined ILS-storage (MkBufferS::ils_data), but can switch to a MALLOC-storage if the storage requirements of the user exceed the predefined MkBufferS::ilsS::size.
A MkBufferS never run out of storage.
The basic goal of the ILS-storage technology is to minimize the usage of MALLOC, this mean that the MkBufferS::ilsS::size should be large enought to be sufficient for the user needs.
The following conditions must always be met for the ILS memory:
MkBufferSPtr->ils_data - MkBufferSPtr.The ABSTRACT-CLASS MkBufferS is missing the ILS-storage, the FINAL-CLASSES are:
Definition at line 5783 of file LibMkKernel_mk.h.
| MK_NUM MkBufferS::cursize |
currently used size (always: cursize < size)
Definition at line 5794 of file LibMkKernel_mk.h.
| bool MkBufferS::doBufferFree |
should the data be freed? -> example: pBufferRefInit
Definition at line 5801 of file LibMkKernel_mk.h.
| union MkBufferU MkBufferS::first |
POINTER to native data representation (ILS or malloc)
Definition at line 5799 of file LibMkKernel_mk.h.
| struct MkBufferS::ilsS MkBufferS::ils |
ILS = predefined storage used for MkBufferS::storage->first.
| MK_BINB MkBufferS::ils_data[MkBufferS_ils_size] |
ILS storage
Definition at line 5808 of file LibMkKernel_mk.h.
| struct MkObjectS MkBufferS::obj |
Definition at line 5787 of file LibMkKernel_mk.h.
| MK_NUM MkBufferS::size |
the size of the data-segment
Definition at line 5800 of file LibMkKernel_mk.h.
| struct { ... } MkBufferS::storage |
storage part of the instance-data
| union { ... } MkBufferS::super |
| enum MkTypeE MkBufferS::type |
type of the item stored into the data-segment
Definition at line 5795 of file LibMkKernel_mk.h.
| struct { ... } MkBufferS::var |
variable part of the instance-data