Lines Matching defs:interleaved_ref
38 struct interleaved_ref struct
41 using channel_t = typename channel_traits<ChannelReference>::value_type;
42 using channel_pointer_t = typename channel_traits<ChannelReference>::pointer;
43 using channel_reference_t = typename channel_traits<ChannelReference>::reference;
44 using channel_const_reference_t = typename channel_traits<ChannelReference>::const_reference;
47 using layout_t = Layout; // Required by ColorBaseConcept
50 interleaved_ref(const interleaved_ref& p) : _channels(p._channels) {} in interleaved_ref() argument
51 …template <typename P> interleaved_ref(const P& p) : _channels(p._channels) { check_compatible<P>()… in interleaved_ref() function
53 …me P> bool operator==(const P& p) const { check_compatible<P>(); return static_equal(*this,p); } in operator ==()
54 template <typename P> bool operator!=(const P& p) const { return !(*this==p); } in operator !=()
59 …nterleaved_ref& operator=(const interleaved_ref& p) const { static_copy(p,*this); return *this; } in operator =()
60 …ved_ref& operator=(const P& p) const { check_compatible<P>(); static_copy(p,*this); return *this; } in operator =()
63 using value_type = pixel<channel_t, layout_t>;
64 using reference = interleaved_ref;
65 using const_reference = interleaved_ref<channel_const_reference_t, layout_t>;
66 static const bool is_mutable = channel_traits<ChannelReference>::is_mutable;
69 ChannelReference operator[](std::size_t i) const { return _channels[i]; } in operator []()
72 explicit interleaved_ref(channel_pointer_t channels) : _channels(channels) {} in interleaved_ref() function
74 const interleaved_ref* operator->() const { return this; } in operator ->()
76 channel_pointer_t _channels;
78 …oid check_compatible() { gil_function_requires<PixelsCompatibleConcept<Pixel,interleaved_ref>>(); } in check_compatible()