20
20
#include < array>
21
21
#include < cstddef>
22
22
#include < cstdint>
23
- #include < vector>
24
23
25
24
#include " linetypes.h"
26
25
#include < type_safe/strong_typedef.hpp>
@@ -39,12 +38,10 @@ class CompressedLinePositionStorage {
39
38
40
39
// Copy constructor would be slow, delete!
41
40
CompressedLinePositionStorage ( const CompressedLinePositionStorage& orig ) = delete ;
42
- CompressedLinePositionStorage& operator =( const CompressedLinePositionStorage& orig )
43
- = delete ;
41
+ CompressedLinePositionStorage& operator =( const CompressedLinePositionStorage& orig ) = delete ;
44
42
45
43
CompressedLinePositionStorage ( CompressedLinePositionStorage&& orig ) noexcept ;
46
- CompressedLinePositionStorage&
47
- operator =( CompressedLinePositionStorage&& orig ) noexcept ;
44
+ CompressedLinePositionStorage& operator =( CompressedLinePositionStorage&& orig ) noexcept ;
48
45
49
46
~CompressedLinePositionStorage () = default ;
50
47
@@ -89,7 +86,11 @@ class CompressedLinePositionStorage {
89
86
};
90
87
91
88
klogg::vector<BlockMetadata> blocks_;
92
- klogg::vector<uint8_t > packedLinesStorage_;
89
+
90
+ struct alignas ( 16 ) AlignedStorage {
91
+ std::array<uint8_t , 16 > d;
92
+ };
93
+ klogg::vector<AlignedStorage> packedLinesStorage_;
93
94
94
95
klogg::vector<OffsetInFile> currentLinesBlock_;
95
96
klogg::vector<uint32_t > currentLinesBlockShifted_;
@@ -100,7 +101,7 @@ class CompressedLinePositionStorage {
100
101
// Current position (position of the end of the last line added)
101
102
OffsetInFile lastPos_;
102
103
103
- bool canUseSimdSelect_ { false };
104
+ bool canUseSimdSelect_{ false };
104
105
};
105
106
106
107
#endif
0 commit comments