Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
IntrusivePtr.h File Reference

Support classes for reference-counting via intrusive shared pointers. More...

#include <atomic>
#include <cstdlib>
#include "runtime/HalideRuntime.h"

Go to the source code of this file.

Classes

class  Halide::Internal::RefCount
 A class representing a reference count to be used with IntrusivePtr. More...
 
struct  Halide::Internal::IntrusivePtr< T >
 Intrusive shared pointers have a reference count (a RefCount object) stored in the class itself. More...
 

Namespaces

namespace  Halide
 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
 
namespace  Halide::Internal
 

Functions

template<typename T >
RefCountHalide::Internal::ref_count (const T *t) noexcept
 Because in this header we don't yet know how client classes store their RefCount (and we don't want to depend on the declarations of the client classes), any class that you want to hold onto via one of these must provide implementations of ref_count and destroy, which we forward-declare here.
 
template<typename T >
void Halide::Internal::destroy (const T *t)
 

Detailed Description

Support classes for reference-counting via intrusive shared pointers.

Definition in file IntrusivePtr.h.