TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
lazy_codes.hpp File Reference

Lattice-indexed obstacle codes that start "not computed" (INT32_MIN) and are allocated in chunks on first write. More...

#include <climits>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <vector>

Go to the source code of this file.

Classes

class  tmk::route::LazyCodes

Namespaces

namespace  tmk
namespace  tmk::route

Detailed Description

Lattice-indexed obstacle codes that start "not computed" (INT32_MIN) and are allocated in chunks on first write.

The router's per-class caches cover the whole board lattice on every layer, but a run touches only the cells its windows reach: a full array per class was 1.6 GB per router on KiCad-Library_Teensy_test_layout, and filling it with INT32_MIN 3-5 % of the run. Reading an unallocated chunk gives INT32_MIN, as the full array did.

Definition in file lazy_codes.hpp.