Files
cppdraft_translate/cppdraft/coroutine/traits.md
2025-10-25 03:02:53 +03:00

1.8 KiB
Raw Blame History

[coroutine.traits]

17 Language support library [support]

17.13 Coroutines [support.coroutine]

17.13.3 Coroutine traits [coroutine.traits]

17.13.3.1 General [coroutine.traits.general]

1

#

Subclause [coroutine.traits] defines requirements on classes representingcoroutine traits, and defines the class templatecoroutine_traits that meets those requirements.

17.13.3.2 Class template coroutine_traits [coroutine.traits.primary]

1

#

The header defines the primary templatecoroutine_traits such that if ArgTypes is a parameter pack of types and if the qualified-id R::promise_type is valid and denotes a type ([temp.deduct]), then coroutine_traits<R, ArgTypes...> has the following publicly accessible member:using promise_type = typename R::promise_type;

Otherwise, coroutine_traits<R, ArgTypes...> has no members.

2

#

Program-defined specializations of this template shall define a publicly accessible nested type named promise_type.