Halide 22.0.0 Halide compiler and libraries

Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
Halide::Runtime::Internal::LinkedList Class Reference

`#include <linked_list.h>`

## Classes
struct | EntryType

## Public Member Functions
| LinkedList (const LinkedList &)=delete
LinkedList & | operator= (const LinkedList &)=delete
| LinkedList (void *user_context, uint32_t entry_size, uint32_t capacity=default_capacity, const SystemMemoryAllocatorFns &allocator=default_allocator())
| ~LinkedList ()
void | initialize (void *user_context, uint32_t entry_size, uint32_t capacity=default_capacity, const SystemMemoryAllocatorFns &allocator=default_allocator())
EntryType * | front ()
EntryType * | back ()
const EntryType * | front () const
const EntryType * | back () const
EntryType * | prepend (void *user_context)
EntryType * | prepend (void *user_context, const void *value)
EntryType * | append (void *user_context)
EntryType * | append (void *user_context, const void *value)
void | pop_front (void *user_context)
void | pop_back (void *user_context)
EntryType * | insert_before (void *user_context, EntryType *entry_ptr)
EntryType * | insert_before (void *user_context, EntryType *entry_ptr, const void *value)
EntryType * | insert_after (void *user_context, EntryType *entry_ptr)
EntryType * | insert_after (void *user_context, EntryType *entry_ptr, const void *value)
void | remove (void *user_context, EntryType *entry_ptr)
void | clear (void *user_context)
void | destroy (void *user_context)
size_t | size () const
bool | empty () const
const SystemMemoryAllocatorFns & | current_allocator () const

## Static Public Member Functions
static const SystemMemoryAllocatorFns & | default_allocator ()

## Static Public Attributes
static constexpr uint32_t | default_capacity = uint32_t(32)

## Detailed Description

Definition at line 13 of file linked_list.h.

## Constructor & Destructor Documentation

## ◆ LinkedList() [1/2]

Halide::Runtime::Internal::LinkedList::LinkedList | ( | const LinkedList & |  | ) |
| delete

## ◆ LinkedList() [2/2]

Halide::Runtime::Internal::LinkedList::LinkedList | ( | void * | user_context,
|  | uint32_t | entry_size,
|  | uint32_t | capacity = `default_capacity`,
|  | const SystemMemoryAllocatorFns & | allocator = `default_allocator()`
| ) |  |

Definition at line 78 of file linked_list.h.

References Halide::Runtime::Internal::MemoryArena::create(), Halide::Runtime::Internal::MemoryArena::default_capacity, Halide::max(), and user_context.

## ◆ ~LinkedList()

Halide::Runtime::Internal::LinkedList::~LinkedList | ( |  | ) |

Definition at line 88 of file linked_list.h.

References destroy().

## Member Function Documentation

## ◆ operator=()

LinkedList & Halide::Runtime::Internal::LinkedList::operator= | ( | const LinkedList & |  | ) |
| delete

## ◆ initialize()

void Halide::Runtime::Internal::LinkedList::initialize | ( | void * | user_context,
|  | uint32_t | entry_size,
|  | uint32_t | capacity = `default_capacity`,
|  | const SystemMemoryAllocatorFns & | allocator = `default_allocator()`
| ) |  |

Definition at line 92 of file linked_list.h.

References Halide::Runtime::Internal::MemoryArena::create(), Halide::Runtime::Internal::MemoryArena::default_capacity, Halide::max(), and user_context.

## ◆ front() [1/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::front | ( |  | ) |

Definition at line 117 of file linked_list.h.

Referenced by Halide::Runtime::Internal::BlockAllocator::pool_size().

## ◆ back() [1/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::back | ( |  | ) |

Definition at line 121 of file linked_list.h.

Referenced by Halide::Runtime::Internal::BlockAllocator::collect(), Halide::Runtime::Internal::BlockAllocator::destroy(), and Halide::Runtime::Internal::BlockAllocator::release().

## ◆ front() [2/2]

const LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::front | ( |  | ) | const

Definition at line 125 of file linked_list.h.

## ◆ back() [2/2]

const LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::back | ( |  | ) | const

Definition at line 129 of file linked_list.h.

## ◆ prepend() [1/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::prepend | ( | void * | user_context | ) |

Definition at line 134 of file linked_list.h.

References empty(), Halide::Runtime::Internal::LinkedList::EntryType::next_ptr, Halide::Runtime::Internal::LinkedList::EntryType::prev_ptr, and user_context.

Referenced by insert_after(), and prepend().

## ◆ prepend() [2/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::prepend | ( | void * | user_context,
|  | const void * | value
| ) |  |

Definition at line 166 of file linked_list.h.

References Halide::Runtime::Internal::MemoryArena::current_config(), Halide::Runtime::Internal::MemoryArena::Config::entry_size, memcpy(), prepend(), user_context, and Halide::Runtime::Internal::LinkedList::EntryType::value.

## ◆ append() [1/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::append | ( | void * | user_context | ) |

Definition at line 150 of file linked_list.h.

References empty(), Halide::Runtime::Internal::LinkedList::EntryType::next_ptr, Halide::Runtime::Internal::LinkedList::EntryType::prev_ptr, and user_context.

Referenced by append(), and insert_before().

## ◆ append() [2/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::append | ( | void * | user_context,
|  | const void * | value
| ) |  |

Definition at line 173 of file linked_list.h.

References append(), Halide::Runtime::Internal::MemoryArena::current_config(), Halide::Runtime::Internal::MemoryArena::Config::entry_size, memcpy(), user_context, and Halide::Runtime::Internal::LinkedList::EntryType::value.

## ◆ pop_front()

void Halide::Runtime::Internal::LinkedList::pop_front | ( | void * | user_context | ) |

Definition at line 179 of file linked_list.h.

References halide_debug_assert, Halide::Runtime::Internal::LinkedList::EntryType::next_ptr, Halide::Runtime::Internal::LinkedList::EntryType::prev_ptr, and user_context.

## ◆ pop_back()

void Halide::Runtime::Internal::LinkedList::pop_back | ( | void * | user_context | ) |

Definition at line 191 of file linked_list.h.

References halide_debug_assert, Halide::Runtime::Internal::LinkedList::EntryType::next_ptr, Halide::Runtime::Internal::LinkedList::EntryType::prev_ptr, and user_context.

## ◆ insert_before() [1/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::insert_before | ( | void * | user_context,
|  | EntryType * | entry_ptr
| ) |  |

Definition at line 240 of file linked_list.h.

References append(), halide_debug_assert, Halide::Runtime::Internal::LinkedList::EntryType::next_ptr, Halide::Runtime::Internal::LinkedList::EntryType::prev_ptr, and user_context.

Referenced by insert_before().

## ◆ insert_before() [2/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::insert_before | ( | void * | user_context,
|  | EntryType * | entry_ptr,
|  | const void * | value
| ) |  |

Definition at line 282 of file linked_list.h.

References Halide::Runtime::Internal::MemoryArena::current_config(), Halide::Runtime::Internal::MemoryArena::Config::entry_size, insert_before(), memcpy(), user_context, and Halide::Runtime::Internal::LinkedList::EntryType::value.

## ◆ insert_after() [1/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::insert_after | ( | void * | user_context,
|  | EntryType * | entry_ptr
| ) |  |

Definition at line 261 of file linked_list.h.

References halide_debug_assert, Halide::Runtime::Internal::LinkedList::EntryType::next_ptr, prepend(), Halide::Runtime::Internal::LinkedList::EntryType::prev_ptr, and user_context.

Referenced by insert_after().

## ◆ insert_after() [2/2]

LinkedList::EntryType * Halide::Runtime::Internal::LinkedList::insert_after | ( | void * | user_context,
|  | EntryType * | entry_ptr,
|  | const void * | value
| ) |  |

Definition at line 289 of file linked_list.h.

References Halide::Runtime::Internal::MemoryArena::current_config(), Halide::Runtime::Internal::MemoryArena::Config::entry_size, insert_after(), memcpy(), user_context, and Halide::Runtime::Internal::LinkedList::EntryType::value.

## ◆ remove()

void Halide::Runtime::Internal::LinkedList::remove | ( | void * | user_context,
|  | EntryType * | entry_ptr
| ) |  |

Definition at line 217 of file linked_list.h.

References halide_debug_assert, Halide::Runtime::Internal::LinkedList::EntryType::next_ptr, Halide::Runtime::Internal::LinkedList::EntryType::prev_ptr, and user_context.

## ◆ clear()

void Halide::Runtime::Internal::LinkedList::clear | ( | void * | user_context | ) |

Definition at line 203 of file linked_list.h.

References empty(), Halide::Runtime::Internal::LinkedList::EntryType::prev_ptr, and user_context.

Referenced by destroy().

## ◆ destroy()

void Halide::Runtime::Internal::LinkedList::destroy | ( | void * | user_context | ) |

Definition at line 102 of file linked_list.h.

References clear(), and Halide::Runtime::Internal::MemoryArena::destroy().

Referenced by Halide::Runtime::Internal::BlockAllocator::destroy(), and ~LinkedList().

## ◆ size()

size_t Halide::Runtime::Internal::LinkedList::size | ( |  | ) | const

Definition at line 295 of file linked_list.h.

Referenced by Halide::Runtime::Internal::BlockAllocator::block_count().

## ◆ empty()

bool Halide::Runtime::Internal::LinkedList::empty | ( |  | ) | const

Definition at line 299 of file linked_list.h.

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

## ◆ current_allocator()

const SystemMemoryAllocatorFns & Halide::Runtime::Internal::LinkedList::current_allocator | ( |  | ) | const

Definition at line 304 of file linked_list.h.

References Halide::Runtime::Internal::MemoryArena::current_allocator().

## ◆ default_allocator()

const SystemMemoryAllocatorFns & Halide::Runtime::Internal::LinkedList::default_allocator | ( |  | ) |
| static

Definition at line 309 of file linked_list.h.

References Halide::Runtime::Internal::MemoryArena::default_allocator().

## Member Data Documentation

## ◆ default_capacity

constexpr uint32_t Halide::Runtime::Internal::LinkedList::default_capacity = uint32_t(32)
| static constexpr

Definition at line 20 of file linked_list.h.

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

- src/runtime/internal/linked_list.h