Grok 12.0.1
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
hwy::ImageBase Struct Reference

#include <image.h>

Inheritance diagram for hwy::ImageBase:
hwy::Image< T > hwy::Image< ComponentType >

Public Member Functions

 ImageBase ()
 
 ImageBase (size_t xsize, size_t ysize, size_t sizeof_t)
 
 ImageBase (size_t xsize, size_t ysize, size_t bytes_per_row, void *aligned)
 
 ImageBase (const ImageBase &other)=delete
 
ImageBaseoperator= (const ImageBase &other)=delete
 
 ImageBase (ImageBase &&other) noexcept=default
 
ImageBaseoperator= (ImageBase &&other) noexcept=default
 
void Swap (ImageBase &other)
 
void ShrinkTo (const size_t xsize, const size_t ysize)
 
HWY_INLINE size_t xsize () const
 
HWY_INLINE size_t ysize () const
 
HWY_INLINE size_t bytes_per_row () const
 
HWY_INLINE uint8_t * bytes ()
 
HWY_INLINE const uint8_t * bytes () const
 

Static Public Member Functions

static size_t VectorSize ()
 
static size_t BytesPerRow (size_t xsize, size_t sizeof_t)
 

Protected Types

enum class  Padding { kRoundUp , kUnaligned }
 

Protected Member Functions

HWY_INLINE void * VoidRow (const size_t y) const
 
void InitializePadding (size_t sizeof_t, Padding padding)
 

Protected Attributes

uint32_t xsize_
 
uint32_t ysize_
 
size_t bytes_per_row_
 
AlignedFreeUniquePtr< uint8_t[]> bytes_
 

Member Enumeration Documentation

◆ Padding

enum class hwy::ImageBase::Padding
strongprotected
Enumerator
kRoundUp 
kUnaligned 

Constructor & Destructor Documentation

◆ ImageBase() [1/5]

hwy::ImageBase::ImageBase ( )
inline

◆ ImageBase() [2/5]

hwy::ImageBase::ImageBase ( size_t xsize,
size_t ysize,
size_t sizeof_t )

◆ ImageBase() [3/5]

hwy::ImageBase::ImageBase ( size_t xsize,
size_t ysize,
size_t bytes_per_row,
void * aligned )

◆ ImageBase() [4/5]

hwy::ImageBase::ImageBase ( const ImageBase & other)
delete

◆ ImageBase() [5/5]

hwy::ImageBase::ImageBase ( ImageBase && other)
defaultnoexcept

Member Function Documentation

◆ bytes() [1/2]

HWY_INLINE uint8_t * hwy::ImageBase::bytes ( )
inline

◆ bytes() [2/2]

HWY_INLINE const uint8_t * hwy::ImageBase::bytes ( ) const
inline

References HWY_ASSUME_ALIGNED, and HWY_RESTRICT.

◆ bytes_per_row()

HWY_INLINE size_t hwy::ImageBase::bytes_per_row ( ) const
inline

◆ BytesPerRow()

static size_t hwy::ImageBase::BytesPerRow ( size_t xsize,
size_t sizeof_t )
static

◆ InitializePadding()

void hwy::ImageBase::InitializePadding ( size_t sizeof_t,
Padding padding )
protected

◆ operator=() [1/2]

ImageBase & hwy::ImageBase::operator= ( const ImageBase & other)
delete

◆ operator=() [2/2]

ImageBase & hwy::ImageBase::operator= ( ImageBase && other)
defaultnoexcept

◆ ShrinkTo()

void hwy::ImageBase::ShrinkTo ( const size_t xsize,
const size_t ysize )
inline

◆ Swap()

void hwy::ImageBase::Swap ( ImageBase & other)

◆ VectorSize()

static size_t hwy::ImageBase::VectorSize ( )
static

◆ VoidRow()

HWY_INLINE void * hwy::ImageBase::VoidRow ( const size_t y) const
inlineprotected

◆ xsize()

HWY_INLINE size_t hwy::ImageBase::xsize ( ) const
inline

◆ ysize()

HWY_INLINE size_t hwy::ImageBase::ysize ( ) const
inline

Member Data Documentation

◆ bytes_

AlignedFreeUniquePtr<uint8_t[]> hwy::ImageBase::bytes_
protected

◆ bytes_per_row_

size_t hwy::ImageBase::bytes_per_row_
protected

◆ xsize_

uint32_t hwy::ImageBase::xsize_
protected

◆ ysize_

uint32_t hwy::ImageBase::ysize_
protected

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