11namespace alpaka::internal::concepts
23 concept CopyConstructableDataSource =
requires {
24 requires alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::value;
26 requires std::constructible_from<
27 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerMutable,
28 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerMutable&>;
30 requires std::constructible_from<
31 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerConst,
32 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerConst&>;
34 requires std::constructible_from<
35 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerConst,
36 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerMutable&>;
38 requires !std::constructible_from<
39 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerMutable,
40 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerConst&>;
42 requires std::assignable_from<
43 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerMutable&,
44 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerMutable>;
46 requires std::assignable_from<
47 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerConst&,
48 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerConst>;
50 requires std::assignable_from<
51 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerConst&,
52 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerMutable>;
54 requires !std::assignable_from<
55 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerMutable&,
56 typename alpaka::internal::CopyConstructableDataSource<std::decay_t<T>>::InnerConst>;