Halide 22.0.0 Halide compiler and libraries

Public Types | Public Member Functions | Static Public Member Functions | List of all members
Halide::Internal::ObjectInstanceRegistry Class Reference

`#include <ObjectInstanceRegistry.h>`

## Public Types
enum | Kind { Invalid , Generator , GeneratorParam , GeneratorInput , GeneratorOutput , FilterParam }

## Public Member Functions
| ObjectInstanceRegistry (const ObjectInstanceRegistry &)=delete
ObjectInstanceRegistry & | operator= (const ObjectInstanceRegistry &)=delete
| ObjectInstanceRegistry (ObjectInstanceRegistry &&)=delete
ObjectInstanceRegistry & | operator= (ObjectInstanceRegistry &&)=delete

## Static Public Member Functions
static void | register_instance (void *this_ptr, size_t size, Kind kind, void *subject_ptr)
| Add an instance to the registry. More...
static void | unregister_instance (void *this_ptr)
| Remove an instance from the registry. More...
static std::vector< std::pair< void *, Kind > > | instances_in_range (void *start, size_t size)
| Returns the list of subject pointers for objects that have been directly registered within the given range. More...

## Detailed Description

Definition at line 20 of file ObjectInstanceRegistry.h.

## Member Enumeration Documentation

## ◆ Kind

enum Halide::Internal::ObjectInstanceRegistry::Kind

Enumerator
Invalid |
Generator |
GeneratorParam |
GeneratorInput |
GeneratorOutput |
FilterParam |

Definition at line 22 of file ObjectInstanceRegistry.h.

## Constructor & Destructor Documentation

## ◆ ObjectInstanceRegistry() [1/2]

Halide::Internal::ObjectInstanceRegistry::ObjectInstanceRegistry | ( | const ObjectInstanceRegistry & |  | ) |
| delete

## ◆ ObjectInstanceRegistry() [2/2]

Halide::Internal::ObjectInstanceRegistry::ObjectInstanceRegistry | ( | ObjectInstanceRegistry && |  | ) |
| delete

## Member Function Documentation

## ◆ register_instance()

static void Halide::Internal::ObjectInstanceRegistry::register_instance | ( | void * | this_ptr,
|  | size_t | size,
|  | Kind | kind,
|  | void * | subject_ptr
| ) |  |
| static

Add an instance to the registry.

The size may be 0 for Param Kinds, but not for Generator. subject_ptr is the value actually associated with this instance; it is usually (but not necessarily) the same as this_ptr. Assert if this_ptr is already registered.

## ◆ unregister_instance()

static void Halide::Internal::ObjectInstanceRegistry::unregister_instance | ( | void * | this_ptr | ) |
| static

Remove an instance from the registry.

Assert if not found.

## ◆ instances_in_range()

static std::vector< std::pair< void *, Kind > > Halide::Internal::ObjectInstanceRegistry::instances_in_range | ( | void * | start,
|  | size_t | size
| ) |  |
| static

Returns the list of subject pointers for objects that have been directly registered within the given range.

If there is another containing object inside the range, instances within that object are skipped.

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

ObjectInstanceRegistry & Halide::Internal::ObjectInstanceRegistry::operator= | ( | const ObjectInstanceRegistry & |  | ) |
| delete

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

ObjectInstanceRegistry & Halide::Internal::ObjectInstanceRegistry::operator= | ( | ObjectInstanceRegistry && |  | ) |
| delete

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

- src/ObjectInstanceRegistry.h