LeviLamina
Loading...
Searching...
No Matches
StorageBuffer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5namespace texd {
6
7class StorageBuffer {
8public:
9 // StorageBuffer inner types declare
10 // clang-format off
11 class Implementation;
12 // clang-format on
13
14 // StorageBuffer inner types define
16 public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<8, 8, ::std::unique_ptr<uchar[0]>> mData;
20 ::ll::TypedStorage<8, 8, uint64> mSize;
21 // NOLINTEND
22 };
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::texd::StorageBuffer::Implementation>> mImplementation;
28 // NOLINTEND
29
30#ifdef LL_PLAT_S
31#else // LL_PLAT_C
32public:
33 // prevent constructor by default
34 StorageBuffer& operator=(StorageBuffer const&);
35 StorageBuffer(StorageBuffer const&);
36
37#endif
38public:
39 // member functions
40 // NOLINTBEGIN
41#ifdef LL_PLAT_C
42 MCAPI StorageBuffer();
43
44 MCAPI StorageBuffer(uchar const* data, uint64 size);
45
46 MCFOLD uchar const* data() const;
47
48 MCAPI ::texd::StorageBuffer& operator=(::texd::StorageBuffer&&);
49
50 MCAPI uint64 size() const;
51
52 MCAPI ~StorageBuffer();
53#endif
54 // NOLINTEND
55
56public:
57 // constructor thunks
58 // NOLINTBEGIN
59#ifdef LL_PLAT_C
60 MCFOLD void* $ctor();
61
62 MCAPI void* $ctor(uchar const* data, uint64 size);
63#endif
64 // NOLINTEND
65
66public:
67 // destructor thunk
68 // NOLINTBEGIN
69#ifdef LL_PLAT_C
70 MCFOLD void $dtor();
71#endif
72 // NOLINTEND
73};
74
75} // namespace texd
Definition StorageBuffer.h:15
Definition StorageBuffer.h:7