13#include <rpp/observables/constraints.hpp>
14#include <rpp/observables/details/member_overload.hpp>
23template<constra
int::decayed_type Type, constra
int::observable_of_type<Type> TObs>
24auto repeat_impl(TObs&& observable,
size_t count);
26template<constra
int::decayed_type Type, constra
int::observable_of_type<Type> TObs>
27auto repeat_impl(TObs&& observable);
29template<constra
int::decayed_type Type,
typename SpecificObservable>
67 template<
typename...Args>
68 auto repeat(
size_t count)
const&
requires is_header_included<repeat_tag, Args...>
70 return repeat_impl<Type>(*
static_cast<const SpecificObservable*
>(
this), count);
73 template<
typename...Args>
74 auto repeat(
size_t count) &&
requires is_header_included<repeat_tag, Args...>
76 return repeat_impl<Type>(std::move(*
static_cast<SpecificObservable*
>(
this)), count);
97 template<
typename...Args>
98 auto repeat()
const&
requires is_header_included<repeat_tag, Args...>
100 return repeat_impl<Type>(*
static_cast<const SpecificObservable*
>(
this));
103 template<
typename...Args>
104 auto repeat() &&
requires is_header_included<repeat_tag, Args...>
106 return repeat_impl<Type>(std::move(*
static_cast<SpecificObservable*
>(
this)));
Definition: member_overload.hpp:19