LeviLamina
Loading...
Searching...
No Matches
Blob.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5namespace mce {
6
7class Blob {
8public:
9 // Blob inner types declare
10 // clang-format off
11 struct Deleter;
12 // clang-format on
13
14 // Blob inner types define
15 using value_type = uchar;
16
17 using delete_function = void (*)(uchar*);
18
19 struct Deleter {
20 public:
21 // member variables
22 // NOLINTBEGIN
24 // NOLINTEND
25
26 public:
27 // prevent constructor by default
28 Deleter& operator=(Deleter const&);
29 Deleter(Deleter const&);
30 Deleter();
31 };
32
33 using pointer_type = ::std::unique_ptr<uchar[0], ::mce::Blob::Deleter>;
34
35 using reference = uchar&;
36
37 using const_reference = uchar const&;
38
39 using pointer = uchar*;
40
41 using const_pointer = uchar const*;
42
43 using iterator = uchar*;
44
45 using const_iterator = uchar const*;
46
47 using difference_type = int64;
48
49 using size_type = uint64;
50
51public:
52 // member variables
53 // NOLINTBEGIN
54 ::ll::TypedStorage<8, 16, ::std::unique_ptr<uchar[0], ::mce::Blob::Deleter>> mBlob;
55 ::ll::TypedStorage<8, 8, uint64> mSize;
56 // NOLINTEND
57
58public:
59 // static functions
60 // NOLINTBEGIN
61 MCAPI static void defaultDeleter(uchar* ptr);
62 // NOLINTEND
63};
64
65} // namespace mce
Definition Blob.h:7
Definition Alias.h:14
Definition Blob.h:19