16 template <detail::TransferResource TRes>
17 inline auto operator()(TRes
const &tfer_res)
const noexcept -> TRes
const *
19 return std::addressof(tfer_res);
22 template <detail::TransferSequence TSeq>
23 requires(!detail::TransferResource<TSeq>)
24 inline auto operator()(TSeq
const &tfer_seq)
const noexcept
26 return std::ranges::begin(tfer_seq);
29 template <detail::TransferSequence TSeq>
30 requires(!detail::TransferResource<TSeq>)
31 inline auto operator()(TSeq &tfer_seq)
const noexcept
33 return std::ranges::begin(tfer_seq);
40 template <detail::TransferResource TRes>
41 inline auto operator()(TRes
const &tfer_res)
const noexcept -> TRes
const *
43 return std::addressof(tfer_res) + 1;
46 template <detail::TransferSequence TSeq>
47 requires(!detail::TransferResource<TSeq>)
48 inline auto operator()(TSeq
const &tfer_seq)
const noexcept
50 return std::ranges::end(tfer_seq);
53 template <detail::TransferSequence TSeq>
54 requires(!detail::TransferResource<TSeq>)
55 inline auto operator()(TSeq &tfer_seq)
const noexcept
57 return std::ranges::end(tfer_seq);
Definition complete_io.hpp:21
constexpr struct co_usb::transfer::detail::@1 transfer_end
constexpr struct co_usb::transfer::detail::@0 transfer_begin
Transfer resource and transfer sequence concepts.