src/zserio/BitPositionUtil.h
Line | Count | Source |
1 | | #ifndef ZSERIO_BITPOSITION_UTIL_H_INC |
2 | | #define ZSERIO_BITPOSITION_UTIL_H_INC |
3 | | |
4 | | #include <cstddef> |
5 | | |
6 | | namespace zserio |
7 | | { |
8 | | |
9 | | /** |
10 | | * Aligns the bit size to the given alignment value. |
11 | | * |
12 | | * \param alignmentValue Value to align. |
13 | | * \param bitPosition Current bit position where to apply alignment. |
14 | | * |
15 | | * \return Aligned bit position. |
16 | | */ |
17 | | inline size_t alignTo(size_t alignmentValue, size_t bitPosition) |
18 | 9.74k | { |
19 | 9.74k | return (bitPosition > 0 && alignmentValue != 09.50k ) |
20 | 9.74k | ? (((bitPosition - 1) / alignmentValue) + 1) * alignmentValue9.50k |
21 | 9.74k | : bitPosition237 ; |
22 | 9.74k | } |
23 | | |
24 | | } // namespace zserio |
25 | | |
26 | | #endif // ifndef ZSERIO_BITPOSITION_UTIL_H_INC |