boost::gil::bit_aligned_pixel_reference
Heterogeneous pixel reference corresponding to non‐byte‐aligned bit range. Models ColorBaseConcept, PixelConcept, PixelBasedConcept
Synopsis
template<
typename B,
typename C,
typename L,
bool M>
struct bit_aligned_pixel_reference;
Description
Example:
unsigned char data=0;
// A mutable reference to a 6-bit BGR pixel in "123" format (1 bit for red, 2 bits for green, 3 bits for blue)
using rgb123_ref_t = bit_aligned_pixel_reference<unsigned char, mp11::mp_list_c<int,1,2,3>, rgb_layout_t, true> const;
// create the pixel reference at bit offset 2
// (i.e. red = [2], green = [3,4], blue = [5,6,7] bits)
rgb123_ref_t ref(&data, 2);
get_color(ref, red_t()) = 1;
assert(data == 0x04);
get_color(ref, green_t()) = 3;
assert(data == 0x1C);
get_color(ref, blue_t()) = 7;
assert(data == 0xFC);
Member Functions
Name |
Description |
|
Constructors |
Assignment operators |
|
Member access operator |
|
Equality operator |
|
Inequality operator |
Friends
Name |
Description |
|
Heterogeneous pixel reference corresponding to non‐byte‐aligned bit range. Models ColorBaseConcept, PixelConcept, PixelBasedConcept |
Template Parameters
Name |
Description |
ChannelBitSizes |
Boost.MP11‐compatible list of integral types defining the number of bits for each channel. For example, for 565RGB, mp_list_c<int,5,6,5> |
Created with MrDocs