Halide 22.0.0 Halide compiler and libraries

Classes | Namespaces | Functions
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 >
RefCount & | Halide::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. More...
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.