LeviLamina
Loading...
Searching...
No Matches
CacheManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/world/level/PositionTrackingId.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
12class Dimension;
13class Level;
14namespace PositionTrackingDB { class TrackingRecord; }
15// clang-format on
16
17namespace PositionTrackingDB {
18
19class CacheManager {
20public:
21 // CacheManager inner types define
22 using TrackingRecordMap = ::std::map<::PositionTrackingId, ::std::unique_ptr<::PositionTrackingDB::TrackingRecord>>;
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 8, ::Level&> mLevel;
28 ::ll::TypedStorage<8, 16, ::std::map<::PositionTrackingId, ::std::unique_ptr<::PositionTrackingDB::TrackingRecord>>>
29 mLocalCache;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 CacheManager& operator=(CacheManager const&);
35 CacheManager(CacheManager const&);
36 CacheManager();
37
38public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI ::gsl::not_null<::PositionTrackingDB::TrackingRecord*> createTrackingRecordInLocalCache(
42 ::PositionTrackingId const& id,
43 ::BlockPos const& pos,
44 ::DimensionType const& dimension
45 );
46 // NOLINTEND
47};
48
49} // namespace PositionTrackingDB
Definition BlockPos.h:19
Definition Dimension.h:86
Definition Level.h:250
Definition TrackingRecord.h:22
Definition PositionTrackingId.h:5