2
0
mirror of https://github.com/boostorg/mysql.git synced 2026-02-01 08:42:09 +00:00
Files
mysql/include/null_bitmap.hpp
2019-07-28 13:43:02 +01:00

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_ */