Skip to content
Orbdale

Orbdale Terrain · OrbdaleTerrainCore module · class

Native::

FFollowSet

The followed items of one component, kept as a few sorted runs so an edit finds the items under it without a scan and adding a million items never re-sorts them all at once.

Declaration

class FFollowSet
Header
#include "Native/GroundFollow.h"
Module
PublicDependencyModuleNames.Add("OrbdaleTerrainCore"); in your module’s Build.cs.
Stability
Stable: changes within a major version only add.
Thread
Game thread (the shell owns it); no hash container, so every visit order is canonical.

Description

Each run is sorted by tile key (items of one tile keep the order they were added in). A new run merges into the previous one while that is not larger, and a merged run never exceeds kMaxRun items, so one Add costs at most about kMaxRun item moves and a lookup visits at most a few dozen runs.

Note.

Game thread (the shell owns it); no hash container, so every visit order is canonical.

Functions

  • Add

    Add items as a new sorted run, merging it into the runs before it as the policy allows.

  • RunCount

    The number of runs; visit them in index order.

  • Run (2 overloads)

    One run, ascending by tile key.

  • TileRange

    The half-open index range of one tile's items inside one run.

  • EraseAt

    Erase the items at the given ascending indices of one run (order kept); empty runs are dropped.

  • Size
  • Clear

Properties

NameTypeDefaultMeaning
kMaxRunsize_t65536

The largest run a merge may build.