34. safe_addr macro

The safe_addr module implements safe_addr pattern, which returns temporary address of local expression.

All functions and symbols are in “safe_addr” module, use require to get access to it.

require daslib/safe_addr

34.1. Function annotations

SafeAddrMacro

This macro reports an error if safe_addr is attempted on the object, which is not local to the scope. I.e. if the object can expire while in scope, with delete, garbage collection, or on the C++ side.

34.2. Safe temporary address

safe_addr(x: auto(T)& =const)

safe_addr returns T?#

argument

argument type

x

auto(T)&!

returns temporary pointer to the given expression

safe_addr(x: auto(T) const& =const)

safe_addr returns T? const#

argument

argument type

x

auto(T) const&!

returns temporary pointer to the given expression