mirror of
https://github.com/boostorg/mysql.git
synced 2026-02-01 08:42:09 +00:00
29 lines
691 B
C++
29 lines
691 B
C++
#ifndef INCLUDE_NULL_BITMAP_HPP_
|
|
#define INCLUDE_NULL_BITMAP_HPP_
|
|
|
|
#include <cstddef>
|
|
|
|
namespace mysql
|
|
{
|
|
|
|
template <std::size_t offset>
|
|
class NullBitmapTraits
|
|
{
|
|
std::size_t num_fields_;
|
|
public:
|
|
constexpr NullBitmapTraits(std::size_t num_fields): num_fields_ {num_fields} {};
|
|
std::size_t byte_count() const { return (num_fields_ + 7 + offset) / 8; }
|
|
std::size_t byte_pos(std::size_t field_pos) const { return (field_pos + offset) / 8; }
|
|
std::size_t bit_pos(std::size_t field_pos) const { return (field_pos + offset) % 8; }
|
|
};
|
|
|
|
using StmtExecuteNullBitmapTraits = NullBitmapTraits<0>;
|
|
using ResultsetRowNullBitmapTraits = NullBitmapTraits<2>;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* INCLUDE_NULL_BITMAP_HPP_ */
|