Skip to content

ludus::resources::Lease

Ludus Wiki · API overview · Browse API

Class

Move-only exact-version hold. Destroy/release on the manager's control owner.

Precondition

Manager outlives the wrapper and every Borrow interval.

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

#include <ludus/runtime/resources/manager.h>
class ludus::resources::Lease final

Methods

Lease

ludus::resources::Lease::Lease() noexcept=default
Construct an empty output suitable for TakeLease.

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

~Lease

ludus::resources::Lease::~Lease() noexcept
Release a live hold without waiting or acquiring new work.

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Lease

ludus::resources::Lease::Lease(const Lease &)=delete
Copies do not create another hold.

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

operator=

Lease & ludus::resources::Lease::operator=(const Lease &)=delete
Copies do not create another hold.

Related types: Lease

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Lease

ludus::resources::Lease::Lease(Lease &&other) noexcept
Transfer ownership and clear the source.

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

operator=

Lease & ludus::resources::Lease::operator=(Lease &&other) noexcept
Release this hold, then transfer and clear the source.

Related types: Lease

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Token

LeaseToken ludus::resources::Lease::Token() const noexcept
Observe a token; copying it does not extend lifetime.

Related types: LeaseToken

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h

Release

Status ludus::resources::Lease::Release() noexcept
Release and empty the wrapper; empty is Ok. Does not wait for retirement.

Related types: Status

Declared in modules/runtime/resources/include/ludus/runtime/resources/manager.h