MQLArticles/Utils/Bits/README.md

28 lines
901 B
Markdown
Raw Permalink Normal View History

2026-09-06 11:15:27 -05:00
[← Utils](../README.md)
# Utils/Bits
Bit manipulation, fast serialization buffers, and hashing support used by the ecosystem's hash maps.
## Main features
- Fast write-oriented bit buffer: booleans, integers, arrays, doubles, floats, padded strings (`CBitBuffer` in `BitFastBuffer.mqh`).
- Little-endian / big-endian byte (de)serialization (`FromBytesLE`, `FromBytesBE`, `ToBytes`).
- Generic hash + equality implementation for `CBitBuffer`, so it can be used as a key in `TSN` hash maps (`TSN::CGenericHash_CBitBuffer` in `Hash.mqh`, built on XXH64).
## Basic usage
```mql5
CBitBuffer bit;
bit.WriteBool(true);
bit.WriteInteger(42);
bit.WriteDouble(3.14);
uchar buf[];
int written = bit.ToBytes(buf);
```
```mql5
// Using CBitBuffer as a hash map key:
TSN::CHashMapFastNor<TSN::CBitBuffer, int, TSN::CGenericHash_CBitBuffer> cache;
```
> Only the most representative methods are shown here.