\( % Arcus cosine. \def\acos{\cos^{-1}} % Vector projection. \def\projection#1#2{{proj_{#1}\left(#2\right)}} % Vector rejection. \def\rejection#1#2{{rej_{#1}\left(#2\right)}} % Norm. \def\norm#1{{\left\|#1\right\|}} % Cross product. \def\cross#1#2{\mathit{cross}\left(#1,#2\right)} % Dot product. \def\dot#1#2{{#1 \cdot #2}} % Magnitude. \def\mag#1{{\left|#1\right}} \def\group#1{\left(#1\right)}} \def\sbgrp#1{\left\{#1\right\}} \)

Ring1_ByteBuffer

The type of a Byte buffer.

typedef struct Ring1_ByteBuffer { ... } Ring1_ByteBuffer;

A buffer of Bytes. The size is automatically adjusted as Bytes are added and removed. The "appendByte" and "accessByte" operations are constant time in all cases, the "insertByte" and the "insertBytes" operations linear time in worst case. The "appendBytes" operations are linear in the number of Bytes in worst case. An Mkx_ByteBuffer can be allocated on the stack or on the heap and can be part of struct types. Before using the Byte bffer object, it must be initialized using Mkx_ByteBuffer_initialize. When no longer required, it must be uninitialized using Mkx_ByteBuffer_uninitialize.