Halide 21.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::Runtime::Internal::BlockStorage Class Reference

#include <block_storage.h>

Classes

struct  Config

Public Member Functions

 BlockStorage (void *user_context, const Config &cfg, const SystemMemoryAllocatorFns &sma=default_allocator())
 BlockStorage (const BlockStorage &other)
 ~BlockStorage ()
void initialize (void *user_context, const Config &cfg, const SystemMemoryAllocatorFns &sma=default_allocator())
BlockStorageoperator= (const BlockStorage &other)
bool operator== (const BlockStorage &other) const
bool operator!= (const BlockStorage &other) const
void reserve (void *user_context, size_t capacity, bool free_existing=false)
void resize (void *user_context, size_t entry_count, bool realloc=true)
void assign (void *user_context, size_t index, const void *entry_ptr)
void insert (void *user_context, size_t index, const void *entry_ptr)
void prepend (void *user_context, const void *entry_ptr)
void append (void *user_context, const void *entry_ptr)
void remove (void *user_context, size_t index)
void fill (void *user_context, const void *array, size_t array_size)
void insert (void *user_context, size_t index, const void *array, size_t array_size)
void replace (void *user_context, size_t index, const void *array, size_t array_size)
void prepend (void *user_context, const void *array, size_t array_size)
void append (void *user_context, const void *array, size_t array_size)
void remove (void *user_context, size_t index, size_t entry_count)
void pop_front (void *user_context)
void pop_back (void *user_context)
void shrink_to_fit (void *user_context)
void clear (void *user_context)
void destroy (void *user_context)
bool empty () const
bool full () const
bool is_valid (size_t index) const
size_t stride () const
size_t size () const
void * operator[] (size_t index)
 logical entry index (returns ptr = data() + (index * stride())
const void * operator[] (size_t index) const
void * data ()
void * front ()
void * back ()
const void * data () const
const void * front () const
const void * back () const
const Configcurrent_config () const
const SystemMemoryAllocatorFnscurrent_allocator () const

Static Public Member Functions

static const Configdefault_config ()
static const SystemMemoryAllocatorFnsdefault_allocator ()

Static Public Attributes

static constexpr size_t default_capacity = 32

Detailed Description

Definition at line 18 of file block_storage.h.

Constructor & Destructor Documentation

◆ BlockStorage() [1/2]

Halide::Runtime::Internal::BlockStorage::BlockStorage ( void * user_context,
const Config & cfg,
const SystemMemoryAllocatorFns & sma = default_allocator() )

Definition at line 94 of file block_storage.h.

References halide_abort_if_false, and reserve().

Referenced by BlockStorage(), operator!=(), operator=(), and operator==().

◆ BlockStorage() [2/2]

Halide::Runtime::Internal::BlockStorage::BlockStorage ( const BlockStorage & other)

Definition at line 104 of file block_storage.h.

References BlockStorage().

◆ ~BlockStorage()

Halide::Runtime::Internal::BlockStorage::~BlockStorage ( )

Definition at line 112 of file block_storage.h.

References destroy().

Member Function Documentation

◆ initialize()

void Halide::Runtime::Internal::BlockStorage::initialize ( void * user_context,
const Config & cfg,
const SystemMemoryAllocatorFns & sma = default_allocator() )

Definition at line 125 of file block_storage.h.

References reserve().

◆ operator=()

BlockStorage & Halide::Runtime::Internal::BlockStorage::operator= ( const BlockStorage & other)

Definition at line 135 of file block_storage.h.

References BlockStorage(), memcpy(), and resize().

◆ operator==()

bool Halide::Runtime::Internal::BlockStorage::operator== ( const BlockStorage & other) const

◆ operator!=()

bool Halide::Runtime::Internal::BlockStorage::operator!= ( const BlockStorage & other) const

Definition at line 156 of file block_storage.h.

References BlockStorage().

◆ reserve()

void Halide::Runtime::Internal::BlockStorage::reserve ( void * user_context,
size_t capacity,
bool free_existing = false )

Definition at line 194 of file block_storage.h.

References Halide::max().

Referenced by BlockStorage(), and initialize().

◆ resize()

void Halide::Runtime::Internal::BlockStorage::resize ( void * user_context,
size_t entry_count,
bool realloc = true )

Definition at line 204 of file block_storage.h.

References debug, and Halide::max().

Referenced by clear(), fill(), insert(), operator=(), pop_back(), and remove().

◆ assign()

void Halide::Runtime::Internal::BlockStorage::assign ( void * user_context,
size_t index,
const void * entry_ptr )

Definition at line 168 of file block_storage.h.

References replace().

◆ insert() [1/2]

void Halide::Runtime::Internal::BlockStorage::insert ( void * user_context,
size_t index,
const void * entry_ptr )

Definition at line 245 of file block_storage.h.

References insert().

Referenced by append(), insert(), prepend(), and prepend().

◆ prepend() [1/2]

void Halide::Runtime::Internal::BlockStorage::prepend ( void * user_context,
const void * entry_ptr )

Definition at line 172 of file block_storage.h.

References insert().

◆ append() [1/2]

void Halide::Runtime::Internal::BlockStorage::append ( void * user_context,
const void * entry_ptr )

Definition at line 176 of file block_storage.h.

References append().

Referenced by append().

◆ remove() [1/2]

void Halide::Runtime::Internal::BlockStorage::remove ( void * user_context,
size_t index )

Definition at line 249 of file block_storage.h.

References remove().

Referenced by pop_front(), and remove().

◆ fill()

void Halide::Runtime::Internal::BlockStorage::fill ( void * user_context,
const void * array,
size_t array_size )

Definition at line 160 of file block_storage.h.

References memcpy(), and resize().

◆ insert() [2/2]

void Halide::Runtime::Internal::BlockStorage::insert ( void * user_context,
size_t index,
const void * array,
size_t array_size )

◆ replace()

void Halide::Runtime::Internal::BlockStorage::replace ( void * user_context,
size_t index,
const void * array,
size_t array_size )

◆ prepend() [2/2]

void Halide::Runtime::Internal::BlockStorage::prepend ( void * user_context,
const void * array,
size_t array_size )

Definition at line 315 of file block_storage.h.

References insert().

◆ append() [2/2]

void Halide::Runtime::Internal::BlockStorage::append ( void * user_context,
const void * array,
size_t array_size )

Definition at line 319 of file block_storage.h.

References insert(), and size().

◆ remove() [2/2]

void Halide::Runtime::Internal::BlockStorage::remove ( void * user_context,
size_t index,
size_t entry_count )

◆ pop_front()

void Halide::Runtime::Internal::BlockStorage::pop_front ( void * user_context)

Definition at line 180 of file block_storage.h.

References halide_abort_if_false, and remove().

◆ pop_back()

void Halide::Runtime::Internal::BlockStorage::pop_back ( void * user_context)

Definition at line 185 of file block_storage.h.

References halide_abort_if_false, resize(), and size().

◆ shrink_to_fit()

void Halide::Runtime::Internal::BlockStorage::shrink_to_fit ( void * user_context)

Definition at line 231 of file block_storage.h.

References memcpy().

◆ clear()

void Halide::Runtime::Internal::BlockStorage::clear ( void * user_context)

Definition at line 190 of file block_storage.h.

References resize().

◆ destroy()

void Halide::Runtime::Internal::BlockStorage::destroy ( void * user_context)

Definition at line 116 of file block_storage.h.

References halide_abort_if_false.

Referenced by ~BlockStorage().

◆ empty()

bool Halide::Runtime::Internal::BlockStorage::empty ( ) const

Definition at line 324 of file block_storage.h.

Referenced by Halide::Runtime::Internal::StringStorage::contains().

◆ full()

bool Halide::Runtime::Internal::BlockStorage::full ( ) const

Definition at line 328 of file block_storage.h.

◆ is_valid()

bool Halide::Runtime::Internal::BlockStorage::is_valid ( size_t index) const

Definition at line 332 of file block_storage.h.

◆ stride()

size_t Halide::Runtime::Internal::BlockStorage::stride ( ) const

Definition at line 340 of file block_storage.h.

◆ size()

size_t Halide::Runtime::Internal::BlockStorage::size ( ) const

◆ operator[]() [1/2]

void * Halide::Runtime::Internal::BlockStorage::operator[] ( size_t index)

logical entry index (returns ptr = data() + (index * stride())

Definition at line 344 of file block_storage.h.

References halide_abort_if_false, and Halide::Runtime::Internal::offset_address().

◆ operator[]() [2/2]

const void * Halide::Runtime::Internal::BlockStorage::operator[] ( size_t index) const

◆ data() [1/2]

void * Halide::Runtime::Internal::BlockStorage::data ( )

◆ front() [1/2]

void * Halide::Runtime::Internal::BlockStorage::front ( )

Definition at line 358 of file block_storage.h.

References halide_abort_if_false.

◆ back() [1/2]

void * Halide::Runtime::Internal::BlockStorage::back ( )

◆ data() [2/2]

const void * Halide::Runtime::Internal::BlockStorage::data ( ) const

Definition at line 369 of file block_storage.h.

◆ front() [2/2]

const void * Halide::Runtime::Internal::BlockStorage::front ( ) const

Definition at line 373 of file block_storage.h.

References halide_abort_if_false.

◆ back() [2/2]

const void * Halide::Runtime::Internal::BlockStorage::back ( ) const

◆ current_config()

const BlockStorage::Config & Halide::Runtime::Internal::BlockStorage::current_config ( ) const

Definition at line 424 of file block_storage.h.

◆ default_config()

const BlockStorage::Config & Halide::Runtime::Internal::BlockStorage::default_config ( )
static

Definition at line 418 of file block_storage.h.

◆ current_allocator()

const SystemMemoryAllocatorFns & Halide::Runtime::Internal::BlockStorage::current_allocator ( ) const

Definition at line 413 of file block_storage.h.

Referenced by Halide::Runtime::Internal::MemoryArena::destroy().

◆ default_allocator()

Member Data Documentation

◆ default_capacity

size_t Halide::Runtime::Internal::BlockStorage::default_capacity = 32
staticconstexpr

Definition at line 20 of file block_storage.h.


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