14#include <rpp/observables/details/member_overload.hpp>
25template<constra
int::decayed_type Type>
26using buffer_bundle_type = std::vector<Type>;
28template<constra
int::decayed_type Type>
31template<constra
int::decayed_type Type,
typename SpecificObservable>
66 template<
typename ...Args>
67 auto buffer(
size_t count)
const &
requires is_header_included<buffer_tag, Args...>
69 return CastThis()->template lift<buffer_bundle_type<Type>>(
buffer_impl<Type>{count});
72 template<
typename ...Args>
73 auto buffer(
size_t count) &&
requires is_header_included<buffer_tag, Args...>
75 return MoveThis().template lift<buffer_bundle_type<Type>>(
buffer_impl<Type>{count});
79 const SpecificObservable* CastThis()
const
81 return static_cast<const SpecificObservable*
>(
this);
84 SpecificObservable&& MoveThis()
86 return std::move(*
static_cast<SpecificObservable*
>(
this));
Definition: buffer.hpp:82
Definition: member_overload.hpp:19