12 namespace itk::pixel::datafmt {
19 std::constructible_from<T> and
20 std::constructible_from<T, uint16_t, uint16_t, uint16_t> and
21 std::destructible<T> and
26 {
self.clear() } -> std::same_as<void>;
27 {
self.get_col() } -> std::same_as<uint16_t>;
28 {
self.get_row() } -> std::same_as<uint16_t>;
29 {
self.get_tot() } -> std::same_as<uint16_t>;
31 requires(T
self, uint16_t col, uint16_t row, uint16_t tot) {
32 {
self.set_col(col) } -> std::same_as<void>;
33 {
self.set_row(row) } -> std::same_as<void>;
34 {
self.set_tot(row) } -> std::same_as<void>;
41 std::constructible_from<T> and
42 std::constructible_from<T, uint16_t, uint16_t, uint64_t> and
43 std::destructible<T> and
48 {
self.clear() } -> std::same_as<void>;
49 {
self.get_qcol() } -> std::same_as<uint16_t>;
50 {
self.get_qrow() } -> std::same_as<uint16_t>;
51 {
self.get_qtot() } -> std::same_as<uint64_t>;
53 requires(T
self, uint16_t qcol, uint16_t qrow, uint64_t qtot) {
54 {
self.set_qcol(qcol) } -> std::same_as<void>;
55 {
self.set_qrow(qrow) } -> std::same_as<void>;
56 {
self.set_qtot(qrow) } -> std::same_as<void>;
62 template<
typename T,
typename HitMap>
64 std::constructible_from<T> and
65 std::constructible_from<T, const HitMap&> and
66 std::destructible<T> and
69 {
self.hits } -> std::same_as<std::vector<typename T::hit_t>&>;
70 {
self.clear() } -> std::same_as<void>;
71 {
self.get_status() } -> std::same_as<uint32_t>;
73 requires(T
self,
const typename T::hit_t& hit) {
74 {
self.add_hit(hit) } -> std::same_as<void>;
76 requires(T
self, uint16_t col, uint16_t row, uint16_t tot) {
77 {
self.add_hit(col, row, tot) } -> std::same_as<void>;
79 requires(T
self, uint16_t qcol, uint16_t qrow, uint64_t qtot) {
80 {
self.add_qcore(qcol, qrow, qtot) } -> std::same_as<void>;
85 template<
typename T,
typename PixVec,
typename QCoreVec>
87 std::constructible_from<T> and
88 std::constructible_from<T, const PixVec&> and
89 std::constructible_from<T, const QCoreVec&> and
90 std::destructible<T> and
91 requires(T
self, uint16_t col, uint16_t row, uint16_t tot) {
92 {
self.clear() } -> std::same_as<void>;
93 {
self.get_status() } -> std::same_as<uint32_t>;
95 requires(T
self, uint16_t col, uint16_t row, uint16_t tot) {
96 {
self.get_hit(col, row) } -> std::same_as<uint16_t>;
97 {
self.set_hit(col, row, tot) } -> std::same_as<void>;
99 requires(T
self, uint16_t qcol, uint16_t qrow, uint64_t qtot) {
100 {
self.get_qcore(qcol, qrow) } -> std::same_as<uint64_t>;
101 {
self.set_qcore(qcol, qrow, qtot) } -> std::same_as<void>;
108 std::constructible_from<T> and
109 std::destructible<T> and
110 requires(T
self, uint16_t col, uint16_t row) {
111 {
self.add_hit(col, row) } -> std::same_as<void>;
112 {
self.get_sum(col, row) } -> std::same_as<typename T::sum_t>;
114 requires(T
self, uint16_t qcol, uint16_t qrow, uint16_t hitmap) {
115 {
self.add_qcore(qcol, qrow, hitmap) } -> std::same_as<void>;
118 {
self.clear() } -> std::same_as<void>;
119 {
self.get_status() } -> std::same_as<uint32_t>;
127 namespace concepts = itk::pixel::datafmt::concepts;
concept Hit
Concept for pixel Hit.
Definition: datafmt.hpp:18
concept HitVec
Concept for pixel hitmap HitMap.
Definition: datafmt.hpp:63
concept QCoreHit
Concept for pixel quad-core hits QCoreHit.
Definition: datafmt.hpp:40