png::basic_pixel_buffer< pixel, row, traits > Class Template Reference

The basic class template to represent image pixel data. More...

`#include <pixel_buffer.hpp>`

## Public Types

typedef row | row_type
| A row of pixel data. More...
typedef row_type & | row_access
typedef row_type const & | row_const_access
typedef traits | row_traits

## Public Member Functions

| basic_pixel_buffer ()
| Constructs an empty 0x0 pixel buffer object. More...
| basic_pixel_buffer (uint_32 width, uint_32 height)
| Constructs an empty pixel buffer object. More...
uint_32 | get_width () const
uint_32 | get_height () const
void | resize (uint_32 width, uint_32 height)
| Resizes the pixel buffer. More...
row_access | get_row (size_t index)
| Returns a reference to the row of image data at specified index. More...
row_const_access | get_row (size_t index) const
| Returns a const reference to the row of image data at specified index. More...
row_access | operator[] (size_t index)
| The non-checking version of get_row() method. More...
row_const_access | operator[] (size_t index) const
| The non-checking version of get_row() method. More...
void | put_row (size_t index, row_type const &r)
| Replaces the row at specified index. More...
pixel | get_pixel (size_t x, size_t y) const
| Returns a pixel at (x,y) position. More...
void | set_pixel (size_t x, size_t y, pixel p)
| Replaces a pixel at (x,y) position. More...

## Protected Types

typedef std::vector< row_type > | row_vec

## Protected Attributes

uint_32 | m_width
uint_32 | m_height
row_vec | m_rows

## Detailed Description

### template<typename pixel, typename row, class traits = row_traits< row >>
class png::basic_pixel_buffer< pixel, row, traits >

The basic class template to represent image pixel data.

## Member Typedef Documentation

## row_type

template<typename pixel, typename row, class traits = row_traits< row >>

typedef row png::basic_pixel_buffer< pixel, row, traits >::row_type

A row of pixel data.

## row_access

template<typename pixel, typename row, class traits = row_traits< row >>

typedef row_type& png::basic_pixel_buffer< pixel, row, traits >::row_access

## row_const_access

template<typename pixel, typename row, class traits = row_traits< row >>

typedef row_type const& png::basic_pixel_buffer< pixel, row, traits >::row_const_access

## row_traits

template<typename pixel, typename row, class traits = row_traits< row >>

typedef traits png::basic_pixel_buffer< pixel, row, traits >::row_traits

## row_vec

template<typename pixel, typename row, class traits = row_traits< row >>

typedef std::vector< row_type > png::basic_pixel_buffer< pixel, row, traits >::row_vec

protected

## Constructor & Destructor Documentation

## basic_pixel_buffer() [1/2]

template<typename pixel, typename row, class traits = row_traits< row >>

png::basic_pixel_buffer< pixel, row, traits >::basic_pixel_buffer | ( |  | ) |

inline

Constructs an empty 0x0 pixel buffer object.

## basic_pixel_buffer() [2/2]

template<typename pixel, typename row, class traits = row_traits< row >>

png::basic_pixel_buffer< pixel, row, traits >::basic_pixel_buffer | ( | uint_32 | width,
|  | uint_32 | height
| ) |  |

inline

Constructs an empty pixel buffer object.

## Member Function Documentation

## get_width()

template<typename pixel, typename row, class traits = row_traits< row >>

uint_32 png::basic_pixel_buffer< pixel, row, traits >::get_width | ( |  | ) | const

inline

## get_height()

template<typename pixel, typename row, class traits = row_traits< row >>

uint_32 png::basic_pixel_buffer< pixel, row, traits >::get_height | ( |  | ) | const

inline

## resize()

template<typename pixel, typename row, class traits = row_traits< row >>

void png::basic_pixel_buffer< pixel, row, traits >::resize | ( | uint_32 | width,
|  | uint_32 | height
| ) |  |

inline

Resizes the pixel buffer.

If new width or height is greater than the original, expanded pixels are filled with value of pixel().

Referenced by png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::basic_pixel_buffer(), and png::packed_pixel_row< pixel >::packed_pixel_row().

## get_row() [1/2]

template<typename pixel, typename row, class traits = row_traits< row >>

row_access png::basic_pixel_buffer< pixel, row, traits >::get_row | ( | size_t | index | ) |

inline

Returns a reference to the row of image data at specified index.

Checks the index before returning a row: an instance of std::out_of_range is thrown if `index` is greater than `height`.

Referenced by png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::get_pixel(), and png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::set_pixel().

## get_row() [2/2]

template<typename pixel, typename row, class traits = row_traits< row >>

row_const_access png::basic_pixel_buffer< pixel, row, traits >::get_row | ( | size_t | index | ) | const

inline

Returns a const reference to the row of image data at specified index.

The checking version.

## operator[]() [1/2]

template<typename pixel, typename row, class traits = row_traits< row >>

row_access png::basic_pixel_buffer< pixel, row, traits >::operator[] | ( | size_t | index | ) |

inline

The non-checking version of get_row() method.

## operator[]() [2/2]

template<typename pixel, typename row, class traits = row_traits< row >>

row_const_access png::basic_pixel_buffer< pixel, row, traits >::operator[] | ( | size_t | index | ) | const

inline

The non-checking version of get_row() method.

## put_row()

template<typename pixel, typename row, class traits = row_traits< row >>

void png::basic_pixel_buffer< pixel, row, traits >::put_row | ( | size_t | index,
|  | row_type const & | r
| ) |  |

inline

Replaces the row at specified index.

## get_pixel()

template<typename pixel, typename row, class traits = row_traits< row >>

pixel png::basic_pixel_buffer< pixel, row, traits >::get_pixel | ( | size_t | x,
|  | size_t | y
| ) |  | const

inline

Returns a pixel at (x,y) position.

## set_pixel()

template<typename pixel, typename row, class traits = row_traits< row >>

void png::basic_pixel_buffer< pixel, row, traits >::set_pixel | ( | size_t | x,
|  | size_t | y,
|  | pixel | p
| ) |  |

inline

Replaces a pixel at (x,y) position.

## Member Data Documentation

## m_width

template<typename pixel, typename row, class traits = row_traits< row >>

uint_32 png::basic_pixel_buffer< pixel, row, traits >::m_width

protected

Referenced by png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::get_width(), png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::put_row(), and png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::resize().

## m_height

template<typename pixel, typename row, class traits = row_traits< row >>

uint_32 png::basic_pixel_buffer< pixel, row, traits >::m_height

protected

Referenced by png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::get_height(), and png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::resize().

## m_rows

template<typename pixel, typename row, class traits = row_traits< row >>

row_vec png::basic_pixel_buffer< pixel, row, traits >::m_rows

protected

Referenced by png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::get_row(), png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::operator[](), png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::put_row(), and png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::resize().

The documentation for this class was generated from the following file:

- pixel_buffer.hpp