Wrap a movable Inner type to make it must‐use‐immediately and immovable.

Synopsis

Declared in <folly/lang/MustUseImmediately.h>

template<typename Inner>
class wrap_must_use_immediately_t
    : public Inner
    , public must_use_immediately_crtp<wrap_must_use_immediately_t<Inner>>

Description

Inherits Inner and supplies an unsafe_mover() implementation for it.

Base Classes

Name

Description

Inner

must_use_immediately_crtp<wrap_must_use_immediately_t<Inner>>

CRTP base that makes a derived type must‐use‐immediately and immovable.

Type Aliases

Name

Description

folly_must_use_immediately_t

Member tag marking the derived type as must‐use‐immediately.

folly_private_safe_alias_t

Alias‐safety tag marking the wrapper as unsafe for lifetime analysis.

Member Functions

Name

Description

wrap_must_use_immediately_t [constructor]

Reconstruct the wrapper from a curried mover produced by unsafe_mover.

operator= [deleted]

Deleted copy assignment; the type is non‐copyable.

operator= [deleted]

Deleted move assignment; the type is immovable.

Static Member Functions

Name

Description

unsafe_mover

Move me out of the wrapper, returning a mover that reconstitutes it.

Using Declarations