LeviLamina
Loading...
Searching...
No Matches
ContentItemCollection.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/models/ContentItemCollectionVersion.h"
7#include "mc/platform/brstd/move_only_function.h"
8
9// auto generated forward declare list
10// clang-format off
14struct ContentItem;
15// clang-format on
16
18public:
19 // ContentItemCollection inner types declare
20 // clang-format off
21 struct ContentViewSource;
22 struct ItemCollection;
23 // clang-format on
24
25 // ContentItemCollection inner types define
26 struct ContentViewSource {
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<4, 4, ::ContentItemCollectionVersion> mLastVersion;
31 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::IVersionedContentItemCollection const>> mCollection;
32 // NOLINTEND
33 };
34
35 struct ItemCollection {
36 public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::ContentItem>>> mItemProxy;
40 ::ll::TypedStorage<8, 64, ::brstd::move_only_function<bool(::ContentItem const&)>> mPredicate;
41 ::ll::TypedStorage<8, 24, ::std::vector<::gsl::not_null<::std::shared_ptr<::ContentItem const>>>> mCollection;
42 // NOLINTEND
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI ~ItemCollection();
48 // NOLINTEND
49
50 public:
51 // destructor thunk
52 // NOLINTBEGIN
53 MCAPI void $dtor();
54 // NOLINTEND
55 };
56
57 using OnReload = ::brstd::move_only_function<void(::ContentItemCollection&)>;
58
59 using SortPredicate = bool (*)(::ContentItem const&, ::ContentItem const&);
60
61 using FilterPredicate = ::brstd::move_only_function<bool(::ContentItem const&)>;
62
63public:
64 // member variables
65 // NOLINTBEGIN
66 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::ReadOnlyContentItemCollection>>> mAllItems;
67 ::ll::TypedStorage<8, 24, ::std::vector<::ContentItemCollection::ContentViewSource>> mContentViewSources;
68 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ContentItemCollection::ItemCollection>>>
69 mItemCollections;
70 ::ll::TypedStorage<8, 64, ::brstd::move_only_function<void(::ContentItemCollection&)>> mOnReloaded;
71 ::ll::TypedStorage<8, 64, ::brstd::move_only_function<bool(::ContentItem const&)>> mFilter;
72 ::ll::TypedStorage<8, 8, bool (*)(::ContentItem const&, ::ContentItem const&)> mSort;
73 // NOLINTEND
74
75public:
76 // prevent constructor by default
77 ContentItemCollection();
78
79public:
80 // member functions
81 // NOLINTBEGIN
82 MCAPI explicit ContentItemCollection(::ContentCollectionOptions&& options);
83
84 MCAPI void createItemCollection(
85 ::gsl::not_null<::std::shared_ptr<::ContentItem>> itemProxy,
86 ::brstd::move_only_function<bool(::ContentItem const&)> predicate
87 );
88
89 MCAPI void forceReload();
90
91 MCAPI ::std::vector<::gsl::not_null<::std::shared_ptr<::ContentItem const>>>
92 getCollection(::ContentItem const& item);
93
94 MCAPI ::std::shared_ptr<::ContentItem const>
95 getItem(::brstd::move_only_function<bool(::ContentItem const&)> predicate);
96
97 MCAPI uint64 getTotalSize();
98
99 MCAPI bool tryReload();
100
101 MCAPI ~ContentItemCollection();
102 // NOLINTEND
103
104public:
105 // constructor thunks
106 // NOLINTBEGIN
107 MCAPI void* $ctor(::ContentCollectionOptions&& options);
108 // NOLINTEND
109
110public:
111 // destructor thunk
112 // NOLINTBEGIN
113 MCAPI void $dtor();
114 // NOLINTEND
115};
Definition ContentItemCollection.h:5
Definition IVersionedContentItemCollection.h:5
Definition ReadOnlyContentItemCollection.h:5
Definition ContentCollectionOptions.h:5
Definition ContentItemCollection.h:14
Definition ContentItemCollection.h:16
Definition ContentItem.h:5