docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::symbolic::polyhedral::IslHandle< T, FreeFn > Class Template Reference

Move-only RAII owner of a reference-counted ISL object. More...

#include <sdfg/symbolic/polyhedral.h>

Public Member Functions

 IslHandle ()
 IslHandle (T *ptr)
 ~IslHandle ()
 IslHandle (const IslHandle &)=delete
IslHandle & operator= (const IslHandle &)=delete
 IslHandle (IslHandle &&other) noexcept
IslHandle & operator= (IslHandle &&other) noexcept
T * get () const
 Borrow the raw pointer without transferring ownership.
T * release ()
 Relinquish ownership to the caller (e.g.
void reset (T *p=nullptr)
 Free the current object (if any) and adopt p.
 operator bool () const

Detailed Description

template<typename T, T *(*)(T *) FreeFn>
class sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >

Move-only RAII owner of a reference-counted ISL object.

Template Parameters
TISL object type (e.g. isl_map, isl_set, isl_space).
FreeFnThe matching ISL free function (e.g. isl_map_free).

Constructor & Destructor Documentation

◆ IslHandle() [1/4]

template<typename T, T *(*)(T *) FreeFn>
sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::IslHandle ( )
inline

◆ IslHandle() [2/4]

template<typename T, T *(*)(T *) FreeFn>
sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::IslHandle ( T * ptr)
inlineexplicit

◆ ~IslHandle()

template<typename T, T *(*)(T *) FreeFn>
sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::~IslHandle ( )
inline

◆ IslHandle() [3/4]

template<typename T, T *(*)(T *) FreeFn>
sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::IslHandle ( const IslHandle< T, FreeFn > & )
delete

◆ IslHandle() [4/4]

template<typename T, T *(*)(T *) FreeFn>
sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::IslHandle ( IslHandle< T, FreeFn > && other)
inlinenoexcept

Member Function Documentation

◆ get()

template<typename T, T *(*)(T *) FreeFn>
T * sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::get ( ) const
inline

Borrow the raw pointer without transferring ownership.

◆ operator bool()

template<typename T, T *(*)(T *) FreeFn>
sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::operator bool ( ) const
inlineexplicit

◆ operator=() [1/2]

template<typename T, T *(*)(T *) FreeFn>
IslHandle & sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::operator= ( const IslHandle< T, FreeFn > & )
delete

◆ operator=() [2/2]

template<typename T, T *(*)(T *) FreeFn>
IslHandle & sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::operator= ( IslHandle< T, FreeFn > && other)
inlinenoexcept

◆ release()

template<typename T, T *(*)(T *) FreeFn>
T * sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::release ( )
inline

Relinquish ownership to the caller (e.g.

before passing to an ISL function that takes the object). The handle becomes empty.

◆ reset()

template<typename T, T *(*)(T *) FreeFn>
void sdfg::symbolic::polyhedral::IslHandle< T, FreeFn >::reset ( T * p = nullptr)
inline

Free the current object (if any) and adopt p.


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