GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: src/zserio/BitPositionUtil.h Lines: 4 4 100.0 %
Date: 2023-12-13 14:51:09 Branches: 4 4 100.0 %

Line Branch Exec 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
9742
inline size_t alignTo(size_t alignmentValue, size_t bitPosition)
18
{
19
9506
    return (bitPosition > 0 && alignmentValue != 0)
20
9505
            ? (((bitPosition - 1) / alignmentValue) + 1) * alignmentValue
21
19247
            : bitPosition;
22
}
23
24
} // namespace zserio
25
26
#endif // ifndef ZSERIO_BITPOSITION_UTIL_H_INC