LeviLamina
Loading...
Searching...
No Matches
KnownTileHandles.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/threading/SharedLockbox.h"
7#include "mc/platform/brstd/flat_map.h"
8#include "mc/platform/brstd/function_ref.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace GeometryAtlas { class IAtlasTile; }
13// clang-format on
14
15namespace OreUI {
16
17class KnownTileHandles {
18public:
19 // KnownTileHandles inner types define
20 using TileFactory = ::brstd::function_ref<::std::shared_ptr<::GeometryAtlas::IAtlasTile>()>;
21
22 using Map = ::brstd::flat_map<
23 uint,
24 ::std::weak_ptr<::GeometryAtlas::IAtlasTile>,
25 ::std::less<uint>,
26 ::std::vector<uint>,
27 ::std::vector<::std::weak_ptr<::GeometryAtlas::IAtlasTile>>>;
28
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<
33 8,
34 56,
35 ::Bedrock::Threading::SharedLockbox<
36 ::brstd::flat_map<
37 uint,
38 ::std::weak_ptr<::GeometryAtlas::IAtlasTile>,
39 ::std::less<uint>,
40 ::std::vector<uint>,
41 ::std::vector<::std::weak_ptr<::GeometryAtlas::IAtlasTile>>>,
42 ::std::shared_mutex>>
43 mTiles;
44 ::ll::TypedStorage<1, 1, uchar> mGCTimer;
45 // NOLINTEND
46
47public:
48 // member functions
49 // NOLINTBEGIN
50 MCAPI void garbageCollect();
51
52 MCAPI ::gsl::not_null<::std::shared_ptr<::GeometryAtlas::IAtlasTile>>
53 getOrCreate(uint id, ::brstd::function_ref<::std::shared_ptr<::GeometryAtlas::IAtlasTile>()> createTile);
54 // NOLINTEND
55};
56
57} // namespace OreUI
Definition IAtlasTile.h:7
Definition KnownTileHandles.h:7