Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
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
 
ObjectInstanceRegistryoperator= (const ObjectInstanceRegistry &)=delete
 
 ObjectInstanceRegistry (ObjectInstanceRegistry &&)=delete
 
ObjectInstanceRegistryoperator= (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.
 
static void unregister_instance (void *this_ptr)
 Remove an instance from the registry.
 
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.
 

Detailed Description

Definition at line 20 of file ObjectInstanceRegistry.h.

Member Enumeration Documentation

◆ 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: