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/platform/brstd/move_only_function.h"
7
8// auto generated forward declare list
9// clang-format off
12struct ContentItem;
13// clang-format on
14
16public:
17 // ContentItemCollection inner types declare
18 // clang-format off
19 struct ContentViewSource;
20 struct ItemCollection;
21 // clang-format on
22
23 // ContentItemCollection inner types define
24 struct ContentViewSource {};
25
26 struct ItemCollection {};
27
28 using OnReload = ::brstd::move_only_function<void(::ContentItemCollection&)>;
29
30 using SortPredicate = bool (*)(::ContentItem const&, ::ContentItem const&);
31
32 using FilterPredicate = ::brstd::move_only_function<bool(::ContentItem const&)>;
33
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::ReadOnlyContentItemCollection>>> mAllItems;
38 ::ll::TypedStorage<8, 24, ::std::vector<::ContentItemCollection::ContentViewSource>> mContentViewSources;
39 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ContentItemCollection::ItemCollection>>>
40 mItemCollections;
41 ::ll::TypedStorage<8, 64, ::brstd::move_only_function<void(::ContentItemCollection&)>> mOnReloaded;
42 ::ll::TypedStorage<8, 64, ::brstd::move_only_function<bool(::ContentItem const&)>> mFilter;
43 ::ll::TypedStorage<8, 8, bool (*)(::ContentItem const&, ::ContentItem const&)> mSort;
44 // NOLINTEND
45
46public:
47 // prevent constructor by default
48 ContentItemCollection();
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI explicit ContentItemCollection(::ContentCollectionOptions&& options);
54
55 MCAPI void createItemCollection(
56 ::gsl::not_null<::std::shared_ptr<::ContentItem>> itemProxy,
57 ::brstd::move_only_function<bool(::ContentItem const&)> predicate
58 );
59
60 MCAPI void forceReload();
61
62 MCAPI ::std::vector<::gsl::not_null<::std::shared_ptr<::ContentItem const>>>
63 getCollection(::ContentItem const& item);
64
65 MCAPI ::std::shared_ptr<::ContentItem const>
66 getItem(::brstd::move_only_function<bool(::ContentItem const&)> predicate);
67
68 MCAPI uint64 getTotalSize();
69
70 MCAPI bool tryReload();
71
72 MCAPI ~ContentItemCollection();
73 // NOLINTEND
74
75public:
76 // constructor thunks
77 // NOLINTBEGIN
78 MCAPI void* $ctor(::ContentCollectionOptions&& options);
79 // NOLINTEND
80
81public:
82 // destructor thunk
83 // NOLINTBEGIN
84 MCAPI void $dtor();
85 // NOLINTEND
86};
Definition ContentItemCollection.h:5
Definition ReadOnlyContentItemCollection.h:5
Definition ContentCollectionOptions.h:5
Definition ContentItemCollection.h:14
Definition ContentItemCollection.h:16
Definition ContentItem.h:5