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/world/level/PositionTrackingId.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class Level;
12struct DimensionType;
13namespace PositionTrackingDB { class TrackingRecord; }
14// clang-format on
15
16namespace PositionTrackingDB {
17
18class CacheManager {
19public:
20 // CacheManager inner types define
21 using TrackingRecordMap = ::std::map<::PositionTrackingId, ::std::unique_ptr<::PositionTrackingDB::TrackingRecord>>;
22
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 8, ::Level&> mLevel;
27 ::ll::TypedStorage<8, 16, ::std::map<::PositionTrackingId, ::std::unique_ptr<::PositionTrackingDB::TrackingRecord>>>
28 mLocalCache;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 CacheManager& operator=(CacheManager const&);
34 CacheManager(CacheManager const&);
35 CacheManager();
36
37public:
38 // member functions
39 // NOLINTBEGIN
40 MCAPI ::gsl::not_null<::PositionTrackingDB::TrackingRecord*> createTrackingRecordInLocalCache(
41 ::PositionTrackingId const& id,
42 ::BlockPos const& pos,
43 ::DimensionType const& dimension
44 );
45 // NOLINTEND
46};
47
48} // namespace PositionTrackingDB
Definition BlockPos.h:21
Definition Level.h:255
Definition TrackingRecord.h:22
Definition PositionTrackingId.h:10
Definition DimensionType.h:5