Coverage Report

Created: 2024-04-30 09:35

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