diff --git a/develop/doc/html/reference/algorithm_8hpp_source.html b/develop/doc/html/reference/algorithm_8hpp_source.html index 9d8c0e1a1..c4da08dc7 100644 --- a/develop/doc/html/reference/algorithm_8hpp_source.html +++ b/develop/doc/html/reference/algorithm_8hpp_source.html @@ -97,7 +97,7 @@
71 
80 template <typename Derived, typename Result=void>
81 struct binary_operation_obj {
-
82  typedef Result result_type;
+
82  using result_type = Result;
83 
84  template <typename V1, typename V2> BOOST_FORCEINLINE
85  result_type operator()(const std::pair<const V1*,const V2*>& p) const {
@@ -176,7 +176,7 @@
174 
176 template <typename IL, typename O> // IL Models ConstPixelLocatorConcept, O Models PixelIteratorConcept
177 struct copier_n<iterator_from_2d<IL>,O> {
-
178  typedef typename std::iterator_traits<iterator_from_2d<IL> >::difference_type diff_t;
+
178  using diff_t = typename std::iterator_traits<iterator_from_2d<IL> >::difference_type;
179  BOOST_FORCEINLINE void operator()(iterator_from_2d<IL> src, diff_t n, O dst) const {
180  gil_function_requires<PixelLocatorConcept<IL> >();
181  gil_function_requires<MutablePixelIteratorConcept<O> >();
@@ -193,7 +193,7 @@
192 
194 template <typename I, typename OL> // I Models ConstPixelIteratorConcept, OL Models PixelLocatorConcept
195 struct copier_n<I,iterator_from_2d<OL> > {
-
196  typedef typename std::iterator_traits<I>::difference_type diff_t;
+
196  using diff_t = typename std::iterator_traits<I>::difference_type;
197  BOOST_FORCEINLINE void operator()(I src, diff_t n, iterator_from_2d<OL> dst) const {
198  gil_function_requires<PixelIteratorConcept<I> >();
199  gil_function_requires<MutablePixelLocatorConcept<OL> >();
@@ -210,7 +210,7 @@
210 
212 template <typename IL, typename OL>
213 struct copier_n<iterator_from_2d<IL>,iterator_from_2d<OL> > {
-
214  typedef typename iterator_from_2d<IL>::difference_type diff_t;
+
214  using diff_t = typename iterator_from_2d<IL>::difference_type;
215  BOOST_FORCEINLINE void operator()(iterator_from_2d<IL> src, diff_t n, iterator_from_2d<OL> dst) const {
216  gil_function_requires<PixelLocatorConcept<IL> >();
217  gil_function_requires<MutablePixelLocatorConcept<OL> >();
@@ -232,8 +232,8 @@
233 
234 template <typename SrcIterator, typename DstIterator>
235 BOOST_FORCEINLINE DstIterator copy_with_2d_iterators(SrcIterator first, SrcIterator last, DstIterator dst) {
-
236  typedef typename SrcIterator::x_iterator src_x_iterator;
-
237  typedef typename DstIterator::x_iterator dst_x_iterator;
+
236  using src_x_iterator = typename SrcIterator::x_iterator;
+
237  using dst_x_iterator = typename DstIterator::x_iterator;
238 
239  typename SrcIterator::difference_type n = last - first;
240 
@@ -275,7 +275,7 @@
290 private:
291  CC _cc;
292 public:
-
293  typedef typename binary_operation_obj<copy_and_convert_pixels_fn<CC> >::result_type result_type;
+
293  using result_type = typename binary_operation_obj<copy_and_convert_pixels_fn<default_color_converter> >::result_type;
294  copy_and_convert_pixels_fn() {}
295  copy_and_convert_pixels_fn(CC cc_in) : _cc(cc_in) {}
296  // when the two color spaces are incompatible, a color conversion is performed
@@ -434,7 +434,7 @@
491  const P& p, mpl::true_) {
492  int channel=0;
493  try {
-
494  typedef typename std::iterator_traits<It>::value_type pixel_t;
+
494  using pixel_t = typename std::iterator_traits<It>::value_type;
495  while (channel < num_channels<pixel_t>::value) {
496  std::uninitialized_fill(dynamic_at_c(first,channel), dynamic_at_c(last,channel),
497  dynamic_at_c(p,channel));
@@ -479,7 +479,7 @@
550 namespace detail {
551 template <typename It> BOOST_FORCEINLINE
552 void default_construct_range_impl(It first, It last, mpl::true_) {
-
553  typedef typename std::iterator_traits<It>::value_type value_t;
+
553  using value_t = typename std::iterator_traits<It>::value_type;
554  It first1=first;
555  try {
556  while (first!=last) {
@@ -503,7 +503,7 @@
575 void default_construct_aux(It first, It last, mpl::true_) {
576  int channel=0;
577  try {
-
578  typedef typename std::iterator_traits<It>::value_type pixel_t;
+
578  using pixel_t = typename std::iterator_traits<It>::value_type;
579  while (channel < num_channels<pixel_t>::value) {
580  default_construct_range(dynamic_at_c(first,channel), dynamic_at_c(last,channel));
581  ++channel;
@@ -589,7 +589,7 @@
675  It2 first2, mpl::true_) {
676  int channel=0;
677  try {
-
678  typedef typename std::iterator_traits<It1>::value_type pixel_t;
+
678  using pixel_t = typename std::iterator_traits<It1>::value_type;
679  while (channel < num_channels<pixel_t>::value) {
680  std::uninitialized_copy(dynamic_at_c(first1,channel), dynamic_at_c(last1,channel), dynamic_at_c(first2,channel));
681  ++channel;
@@ -612,7 +612,7 @@
699 
704 template <typename View1, typename View2>
705 void uninitialized_copy_pixels(const View1& view1, const View2& view2) {
-
706  typedef mpl::bool_<is_planar<View1>::value && is_planar<View2>::value> is_planar;
+
706  using is_planar = mpl::bool_<is_planar<View1>::value && is_planar<View2>::value>;
707  assert(view1.dimensions()==view2.dimensions());
708  if (view1.is_1d_traversable() && view2.is_1d_traversable())
709  detail::uninitialized_copy_aux(view1.begin().x(), view1.end().x(),
@@ -877,7 +877,7 @@ diff --git a/develop/doc/html/reference/annotated.html b/develop/doc/html/reference/annotated.html index 1586f635c..0833120e9 100644 --- a/develop/doc/html/reference/annotated.html +++ b/develop/doc/html/reference/annotated.html @@ -215,7 +215,7 @@   oCalpha_tAlpha   oCmemunit_step_fnFunction object that returns the memory unit distance between two iterators and advances a given iterator a given number of mem units (bytes or bits)   oCderef_baseHelper base class for pixel dereference adaptors -  oCderef_composeComposes two dereference function objects. Similar to std::unary_compose but needs to pull some typedefs from the component types. Models: PixelDereferenceAdaptorConcept +  oCderef_composeComposes two dereference function objects. Similar to std::unary_compose but needs to pull some aliases from the component types. Models: PixelDereferenceAdaptorConcept   oClayoutRepresents a color space and ordering of channels in memory   oCvirtual_2d_locatorA 2D locator over a virtual image. Upon dereferencing, invokes a given function object passing it its coordinates. Models: PixelLocatorConcept, HasDynamicXStepTypeConcept, HasDynamicYStepTypeConcept, HasTransposedTypeConcept   oCany_imageRepresents a run-time specified image. Note it does NOT model ImageConcept @@ -232,7 +232,7 @@ diff --git a/develop/doc/html/reference/any__image_8hpp_source.html b/develop/doc/html/reference/any__image_8hpp_source.html index a60a7b030..f059ab1d6 100644 --- a/develop/doc/html/reference/any__image_8hpp_source.html +++ b/develop/doc/html/reference/any__image_8hpp_source.html @@ -174,7 +174,7 @@ diff --git a/develop/doc/html/reference/any__image__view_8hpp_source.html b/develop/doc/html/reference/any__image__view_8hpp_source.html index 557ce15da..a418e35fe 100644 --- a/develop/doc/html/reference/any__image__view_8hpp_source.html +++ b/develop/doc/html/reference/any__image__view_8hpp_source.html @@ -157,7 +157,7 @@ diff --git a/develop/doc/html/reference/apply__operation_8hpp_source.html b/develop/doc/html/reference/apply__operation_8hpp_source.html index 41ab8c596..bd08dacb6 100644 --- a/develop/doc/html/reference/apply__operation_8hpp_source.html +++ b/develop/doc/html/reference/apply__operation_8hpp_source.html @@ -106,7 +106,7 @@ diff --git a/develop/doc/html/reference/apply__operation__base_8hpp_source.html b/develop/doc/html/reference/apply__operation__base_8hpp_source.html index b04bca8a7..113721700 100644 --- a/develop/doc/html/reference/apply__operation__base_8hpp_source.html +++ b/develop/doc/html/reference/apply__operation__base_8hpp_source.html @@ -228,7 +228,7 @@ diff --git a/develop/doc/html/reference/bit__aligned__pixel__iterator_8hpp_source.html b/develop/doc/html/reference/bit__aligned__pixel__iterator_8hpp_source.html index 089fdf199..f5c54f2e8 100644 --- a/develop/doc/html/reference/bit__aligned__pixel__iterator_8hpp_source.html +++ b/develop/doc/html/reference/bit__aligned__pixel__iterator_8hpp_source.html @@ -81,17 +81,17 @@
39  const NonAlignedPixelReference,
40  typename NonAlignedPixelReference::bit_range_t::difference_type> {
41 private:
-
42  typedef iterator_facade<bit_aligned_pixel_iterator<NonAlignedPixelReference>,
+
42  using parent_t = iterator_facade<bit_aligned_pixel_iterator<NonAlignedPixelReference>,
43  typename NonAlignedPixelReference::value_type,
44  std::random_access_iterator_tag,
45  const NonAlignedPixelReference,
-
46  typename NonAlignedPixelReference::bit_range_t::difference_type> parent_t;
+
46  typename NonAlignedPixelReference::bit_range_t::difference_type>;
47  template <typename Ref> friend struct bit_aligned_pixel_iterator;
48 
-
49  typedef typename NonAlignedPixelReference::bit_range_t bit_range_t;
+
49  using bit_range_t = typename NonAlignedPixelReference::bit_range_t;
50 public:
-
51  typedef typename parent_t::difference_type difference_type;
-
52  typedef typename parent_t::reference reference;
+
51  using difference_type = typename parent_t::difference_type;
+
52  using reference = typename parent_t::reference;
53 
54  bit_aligned_pixel_iterator() {}
55  bit_aligned_pixel_iterator(const bit_aligned_pixel_iterator& p) : _bit_range(p._bit_range) {}
@@ -123,7 +123,7 @@
83 
84 template <typename NonAlignedPixelReference>
85 struct const_iterator_type<bit_aligned_pixel_iterator<NonAlignedPixelReference> > {
-
86  typedef bit_aligned_pixel_iterator<typename NonAlignedPixelReference::const_reference> type;
+
86  using type = bit_aligned_pixel_iterator<typename NonAlignedPixelReference::const_reference>;
87 };
88 
89 template <typename NonAlignedPixelReference>
@@ -178,40 +178,42 @@
144 
145 template <typename NonAlignedPixelReference>
146 struct dynamic_x_step_type<bit_aligned_pixel_iterator<NonAlignedPixelReference> > {
-
147  typedef memory_based_step_iterator<bit_aligned_pixel_iterator<NonAlignedPixelReference> > type;
+
147  using type = memory_based_step_iterator<bit_aligned_pixel_iterator<NonAlignedPixelReference> >;
148 };
149 
151 // iterator_type_from_pixel
153 
154 template <typename B, typename C, typename L, bool M>
-
155 struct iterator_type_from_pixel<const bit_aligned_pixel_reference<B,C,L,M>,false,false,false> {
-
156  typedef bit_aligned_pixel_iterator<bit_aligned_pixel_reference<B,C,L,false> > type;
-
157 };
-
158 
-
159 template <typename B, typename C, typename L, bool M>
-
160 struct iterator_type_from_pixel<const bit_aligned_pixel_reference<B,C,L,M>,false,false,true> {
-
161  typedef bit_aligned_pixel_iterator<bit_aligned_pixel_reference<B,C,L,true> > type;
-
162 };
-
163 
-
164 template <typename B, typename C, typename L, bool M, bool IsPlanar, bool IsStep, bool IsMutable>
-
165 struct iterator_type_from_pixel<bit_aligned_pixel_reference<B,C,L,M>,IsPlanar,IsStep,IsMutable>
-
166  : public iterator_type_from_pixel<const bit_aligned_pixel_reference<B,C,L,M>,IsPlanar,IsStep,IsMutable> {};
-
167 
-
168 } } // namespace boost::gil
+
155 struct iterator_type_from_pixel<const bit_aligned_pixel_reference<B,C,L,M>,false,false,false>
+
156 {
+
157  using type = bit_aligned_pixel_iterator<bit_aligned_pixel_reference<B,C,L,false>> ;
+
158 };
+
159 
+
160 template <typename B, typename C, typename L, bool M>
+
161 struct iterator_type_from_pixel<const bit_aligned_pixel_reference<B,C,L,M>,false,false,true>
+
162 {
+
163  using type = bit_aligned_pixel_iterator<bit_aligned_pixel_reference<B,C,L,true>>;
+
164 };
+
165 
+
166 template <typename B, typename C, typename L, bool M, bool IsPlanar, bool IsStep, bool IsMutable>
+
167 struct iterator_type_from_pixel<bit_aligned_pixel_reference<B,C,L,M>,IsPlanar,IsStep,IsMutable>
+
168  : public iterator_type_from_pixel<const bit_aligned_pixel_reference<B,C,L,M>,IsPlanar,IsStep,IsMutable> {};
169 
-
170 namespace std {
+
170 } } // namespace boost::gil
171 
-
172 // It is important to provide an overload of uninitialized_copy for bit_aligned_pixel_iterator. The default STL implementation calls placement new,
-
173 // which is not defined for bit_aligned_pixel_iterator.
-
174 template <typename NonAlignedPixelReference>
-
175 boost::gil::bit_aligned_pixel_iterator<NonAlignedPixelReference> uninitialized_copy(boost::gil::bit_aligned_pixel_iterator<NonAlignedPixelReference> first,
-
176  boost::gil::bit_aligned_pixel_iterator<NonAlignedPixelReference> last,
-
177  boost::gil::bit_aligned_pixel_iterator<NonAlignedPixelReference> dst) {
-
178  return std::copy(first,last,dst);
-
179 }
-
180 
-
181 } // namespace std
-
182 #endif
+
172 namespace std {
+
173 
+
174 // It is important to provide an overload of uninitialized_copy for bit_aligned_pixel_iterator. The default STL implementation calls placement new,
+
175 // which is not defined for bit_aligned_pixel_iterator.
+
176 template <typename NonAlignedPixelReference>
+
177 boost::gil::bit_aligned_pixel_iterator<NonAlignedPixelReference> uninitialized_copy(boost::gil::bit_aligned_pixel_iterator<NonAlignedPixelReference> first,
+
178  boost::gil::bit_aligned_pixel_iterator<NonAlignedPixelReference> last,
+
179  boost::gil::bit_aligned_pixel_iterator<NonAlignedPixelReference> dst) {
+
180  return std::copy(first,last,dst);
+
181 }
+
182 
+
183 } // namespace std
+
184 #endif
std::copy
BOOST_FORCEINLINE boost::gil::pixel< T, Cs > * copy(boost::gil::pixel< T, Cs > *first, boost::gil::pixel< T, Cs > *last, boost::gil::pixel< T, Cs > *dst)
Copy when both src and dst are interleaved and of the same type can be just memmove.
Definition: algorithm.hpp:132
boost::gil::bit_aligned_pixel_iterator
An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept.
Definition: bit_aligned_pixel_iterator.hpp:36
boost::gil::bit_aligned_pixel_iterator::operator[]
reference operator[](difference_type d) const
Definition: bit_aligned_pixel_iterator.hpp:65
@@ -222,7 +224,7 @@ diff --git a/develop/doc/html/reference/bit__aligned__pixel__reference_8hpp_source.html b/develop/doc/html/reference/bit__aligned__pixel__reference_8hpp_source.html index 77f35450d..eb28716c2 100644 --- a/develop/doc/html/reference/bit__aligned__pixel__reference_8hpp_source.html +++ b/develop/doc/html/reference/bit__aligned__pixel__reference_8hpp_source.html @@ -85,8 +85,8 @@
36 template <int RangeSize, bool Mutable>
37 class bit_range {
38 public:
-
39  typedef typename mpl::if_c<Mutable,unsigned char,const unsigned char>::type byte_t;
-
40  typedef std::ptrdiff_t difference_type;
+
39  using byte_t = typename mpl::if_c<Mutable,unsigned char,const unsigned char>::type;
+
40  using difference_type = std::ptrdiff_t;
41  template <int RS, bool M> friend class bit_range;
42 private:
43  byte_t* _current_byte; // the starting byte of the bit range
@@ -133,15 +133,15 @@
112  bool IsMutable>
113 struct bit_aligned_pixel_reference {
114  BOOST_STATIC_CONSTANT(int, bit_size = (mpl::accumulate<ChannelBitSizes, mpl::int_<0>, mpl::plus<mpl::_1, mpl::_2> >::type::value));
-
115  typedef boost::gil::bit_range<bit_size,IsMutable> bit_range_t;
-
116  typedef BitField bitfield_t;
-
117  typedef typename mpl::if_c<IsMutable,unsigned char*,const unsigned char*>::type data_ptr_t;
+
115  using bit_range_t = boost::gil::bit_range<bit_size,IsMutable>;
+
116  using bitfield_t = BitField;
+
117  using data_ptr_t =typename mpl::if_c<IsMutable,unsigned char*,const unsigned char*>::type;
118 
-
119  typedef Layout layout_t;
+
119  using layout_t = Layout;
120 
-
121  typedef typename packed_pixel_type<bitfield_t,ChannelBitSizes,Layout>::type value_type;
-
122  typedef const bit_aligned_pixel_reference reference;
-
123  typedef const bit_aligned_pixel_reference<BitField,ChannelBitSizes,Layout,false> const_reference;
+
121  using value_type = typename packed_pixel_type<bitfield_t,ChannelBitSizes,Layout>::type;
+
122  using reference = const bit_aligned_pixel_reference<BitField, ChannelBitSizes, Layout, IsMutable>;
+
123  using const_reference = bit_aligned_pixel_reference<BitField,ChannelBitSizes,Layout,false> const;
124 
125  BOOST_STATIC_CONSTANT(bool, is_mutable = IsMutable);
126 
@@ -188,9 +188,9 @@
168 // ColorBasedConcept
170 
171 template <typename BitField, typename ChannelBitSizes, typename L, bool IsMutable, int K>
-
172 struct kth_element_type<bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,IsMutable>, K> {
-
173 public:
-
174  typedef const packed_dynamic_channel_reference<BitField, mpl::at_c<ChannelBitSizes,K>::type::value, IsMutable> type;
+
172 struct kth_element_type<bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,IsMutable>, K>
+
173 {
+
174  using type = packed_dynamic_channel_reference<BitField, mpl::at_c<ChannelBitSizes,K>::type::value, IsMutable> const;
175 };
176 
177 template <typename B, typename C, typename L, bool M, int K>
@@ -213,97 +213,100 @@
194 // at_c required by MutableColorBaseConcept
195 template <int K, typename BitField, typename ChannelBitSizes, typename L, bool Mutable> inline
196 typename kth_element_reference_type<bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable>,K>::type
-
197 at_c(const bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable>& p) {
-
198  typedef bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable> pixel_t;
-
199  typedef typename kth_element_reference_type<pixel_t,K>::type channel_t;
-
200  typedef typename pixel_t::bit_range_t bit_range_t;
-
201 
-
202  bit_range_t bit_range(p.bit_range());
-
203  bit_range.bit_advance(detail::sum_k<ChannelBitSizes,K>::value);
-
204 
-
205  return channel_t(bit_range.current_byte(), bit_range.bit_offset());
-
206 }
-
207 
-
209 // PixelConcept
-
211 
-
213 template <typename B, typename C, typename L, bool M>
-
214 struct is_pixel<bit_aligned_pixel_reference<B,C,L,M> > : public mpl::true_{};
-
215 
-
217 // PixelBasedConcept
-
219 
-
220 template <typename B, typename C, typename L, bool M>
-
221 struct color_space_type<bit_aligned_pixel_reference<B,C,L,M> > {
-
222  typedef typename L::color_space_t type;
-
223 };
-
224 
-
225 template <typename B, typename C, typename L, bool M>
-
226 struct channel_mapping_type<bit_aligned_pixel_reference<B,C,L,M> > {
-
227  typedef typename L::channel_mapping_t type;
-
228 };
-
229 
-
230 template <typename B, typename C, typename L, bool M>
-
231 struct is_planar<bit_aligned_pixel_reference<B,C,L,M> > : mpl::false_ {};
-
232 
-
234 // pixel_reference_type
-
236 
-
237 namespace detail {
-
238  // returns a vector containing K copies of the type T
-
239  template <unsigned K, typename T> struct k_copies;
-
240  template <typename T> struct k_copies<0,T> {
-
241  typedef mpl::vector0<> type;
-
242  };
-
243  template <unsigned K, typename T> struct k_copies : public mpl::push_back<typename k_copies<K-1,T>::type, T> {};
-
244 }
-
245 
-
246 // Constructs a homogeneous bit_aligned_pixel_reference given a channel reference
-
247 template <typename BitField, int NumBits, typename Layout>
-
248 struct pixel_reference_type<const packed_dynamic_channel_reference<BitField,NumBits,false>, Layout, false, false> {
-
249 private:
-
250  typedef typename mpl::size<typename Layout::color_space_t>::type size_t;
-
251  typedef typename detail::k_copies<size_t::value,mpl::integral_c<unsigned,NumBits> >::type channel_bit_sizes_t;
-
252 public:
-
253  typedef bit_aligned_pixel_reference<BitField, channel_bit_sizes_t, Layout, false> type;
-
254 };
-
255 
-
256 // Same but for the mutable case. We cannot combine the mutable and read-only cases because this triggers ambiguity
-
257 template <typename BitField, int NumBits, typename Layout>
-
258 struct pixel_reference_type<const packed_dynamic_channel_reference<BitField,NumBits,true>, Layout, false, true> {
-
259 private:
-
260  typedef typename mpl::size<typename Layout::color_space_t>::type size_t;
-
261  typedef typename detail::k_copies<size_t::value,mpl::integral_c<unsigned,NumBits> >::type channel_bit_sizes_t;
-
262 public:
-
263  typedef bit_aligned_pixel_reference<BitField, channel_bit_sizes_t, Layout, true> type;
-
264 };
-
265 
-
266 } } // namespace boost::gil
-
267 
-
268 namespace std {
-
269 // We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
-
270 // swap with 'left bias':
-
271 // - swap between proxy and anything
-
272 // - swap between value type and proxy
-
273 // - swap between proxy and proxy
-
274 // Having three overloads allows us to swap between different (but compatible) models of PixelConcept
-
275 
-
276 template <typename B, typename C, typename L, typename R> inline
-
277 void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, R& y) {
-
278  boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
-
279 }
-
280 
-
281 
-
282 template <typename B, typename C, typename L> inline
-
283 void swap(typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type& x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
-
284  boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
-
285 }
-
286 
-
287 
-
288 template <typename B, typename C, typename L> inline
-
289 void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
-
290  boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
-
291 }
-
292 } // namespace std
-
293 #endif
-
std::swap
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:480
+
197 at_c(const bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable>& p)
+
198 {
+
199  using pixel_t = bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable>;
+
200  using channel_t = typename kth_element_reference_type<pixel_t,K>::type;
+
201  using bit_range_t = typename pixel_t::bit_range_t;
+
202 
+
203  bit_range_t bit_range(p.bit_range());
+
204  bit_range.bit_advance(detail::sum_k<ChannelBitSizes,K>::value);
+
205 
+
206  return channel_t(bit_range.current_byte(), bit_range.bit_offset());
+
207 }
+
208 
+
210 // PixelConcept
+
212 
+
214 template <typename B, typename C, typename L, bool M>
+
215 struct is_pixel<bit_aligned_pixel_reference<B,C,L,M> > : public mpl::true_{};
+
216 
+
218 // PixelBasedConcept
+
220 
+
221 template <typename B, typename C, typename L, bool M>
+
222 struct color_space_type<bit_aligned_pixel_reference<B,C,L,M> > {
+
223  using type = typename L::color_space_t;
+
224 };
+
225 
+
226 template <typename B, typename C, typename L, bool M>
+
227 struct channel_mapping_type<bit_aligned_pixel_reference<B,C,L,M> > {
+
228  using type = typename L::channel_mapping_t;
+
229 };
+
230 
+
231 template <typename B, typename C, typename L, bool M>
+
232 struct is_planar<bit_aligned_pixel_reference<B,C,L,M> > : mpl::false_ {};
+
233 
+
235 // pixel_reference_type
+
237 
+
238 namespace detail {
+
239  // returns a vector containing K copies of the type T
+
240  template <unsigned K, typename T> struct k_copies;
+
241  template <typename T> struct k_copies<0,T> {
+
242  using type = mpl::vector0<>;
+
243  };
+
244  template <unsigned K, typename T> struct k_copies : public mpl::push_back<typename k_copies<K-1,T>::type, T> {};
+
245 }
+
246 
+
247 // Constructs a homogeneous bit_aligned_pixel_reference given a channel reference
+
248 template <typename BitField, int NumBits, typename Layout>
+
249 struct pixel_reference_type<const packed_dynamic_channel_reference<BitField,NumBits,false>, Layout, false, false>
+
250 {
+
251 private:
+
252  using size_t = typename mpl::size<typename Layout::color_space_t>::type;
+
253  using channel_bit_sizes_t = typename detail::k_copies<size_t::value,mpl::integral_c<unsigned,NumBits> >::type;
+
254 public:
+
255  using type = bit_aligned_pixel_reference<BitField, channel_bit_sizes_t, Layout, false>;
+
256 };
+
257 
+
258 // Same but for the mutable case. We cannot combine the mutable and read-only cases because this triggers ambiguity
+
259 template <typename BitField, int NumBits, typename Layout>
+
260 struct pixel_reference_type<const packed_dynamic_channel_reference<BitField,NumBits,true>, Layout, false, true>
+
261 {
+
262 private:
+
263  using size_t = typename mpl::size<typename Layout::color_space_t>::type;
+
264  using channel_bit_sizes_t = typename detail::k_copies<size_t::value,mpl::integral_c<unsigned,NumBits>>::type;
+
265 public:
+
266  using type = bit_aligned_pixel_reference<BitField, channel_bit_sizes_t, Layout, true>;
+
267 };
+
268 
+
269 } } // namespace boost::gil
+
270 
+
271 namespace std {
+
272 // We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
+
273 // swap with 'left bias':
+
274 // - swap between proxy and anything
+
275 // - swap between value type and proxy
+
276 // - swap between proxy and proxy
+
277 // Having three overloads allows us to swap between different (but compatible) models of PixelConcept
+
278 
+
279 template <typename B, typename C, typename L, typename R> inline
+
280 void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, R& y) {
+
281  boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
+
282 }
+
283 
+
284 
+
285 template <typename B, typename C, typename L> inline
+
286 void swap(typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type& x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
+
287  boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
+
288 }
+
289 
+
290 
+
291 template <typename B, typename C, typename L> inline
+
292 void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
+
293  boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
+
294 }
+
295 } // namespace std
+
296 #endif
+
std::swap
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:481
boost::gil::at_c
add_reference< E >::type at_c(detail::homogeneous_color_base< E, L, N > &p)
Provides mutable access to the K-th element, in physical order.
Definition: color_base.hpp:381
boost::gil::bit_aligned_pixel_reference
Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models ColorBaseConcept...
Definition: bit_aligned_pixel_reference.hpp:113
boost::gil::bit_range
Definition: bit_aligned_pixel_reference.hpp:37
@@ -316,7 +319,7 @@ diff --git a/develop/doc/html/reference/bmp_8hpp_source.html b/develop/doc/html/reference/bmp_8hpp_source.html index 9a64c43f0..88f10cda4 100644 --- a/develop/doc/html/reference/bmp_8hpp_source.html +++ b/develop/doc/html/reference/bmp_8hpp_source.html @@ -71,7 +71,7 @@ diff --git a/develop/doc/html/reference/channel_8hpp_source.html b/develop/doc/html/reference/channel_8hpp_source.html index 943a89f3a..d0c63bbc0 100644 --- a/develop/doc/html/reference/channel_8hpp_source.html +++ b/develop/doc/html/reference/channel_8hpp_source.html @@ -106,11 +106,11 @@
74  // channel traits for custom class
75  template <typename T>
76  struct channel_traits_impl<T, true> {
-
77  typedef typename T::value_type value_type;
-
78  typedef typename T::reference reference;
-
79  typedef typename T::pointer pointer;
-
80  typedef typename T::const_reference const_reference;
-
81  typedef typename T::const_pointer const_pointer;
+
77  using value_type = typename T::value_type;
+
78  using reference = typename T::reference;
+
79  using pointer = typename T::pointer;
+
80  using const_reference = typename T::const_reference;
+
81  using const_pointer = typename T::const_pointer;
82  BOOST_STATIC_CONSTANT(bool, is_mutable=T::is_mutable);
83  static value_type min_value() { return T::min_value(); }
84  static value_type max_value() { return T::max_value(); }
@@ -119,11 +119,11 @@
87  // channel traits implementation for built-in integral or floating point channel type
88  template <typename T>
89  struct channel_traits_impl<T, false> {
-
90  typedef T value_type;
-
91  typedef T& reference;
-
92  typedef T* pointer;
-
93  typedef const T& const_reference;
-
94  typedef T const* const_pointer;
+
90  using value_type = T;
+
91  using reference = T&;
+
92  using pointer = T*;
+
93  using const_reference = T const&;
+
94  using const_pointer = T const*;
95  BOOST_STATIC_CONSTANT(bool, is_mutable=true);
96  static value_type min_value() { return (std::numeric_limits<T>::min)(); }
97  static value_type max_value() { return (std::numeric_limits<T>::max)(); }
@@ -132,8 +132,8 @@
100  // channel traits implementation for constant built-in scalar or floating point type
101  template <typename T>
102  struct channel_traits_impl<const T, false> : public channel_traits_impl<T, false> {
-
103  typedef const T& reference;
-
104  typedef const T* pointer;
+
103  using reference = const T &;
+
104  using pointer = const T *;
105  BOOST_STATIC_CONSTANT(bool, is_mutable=false);
106  };
107 }
@@ -142,12 +142,12 @@
128 struct channel_traits : public detail::channel_traits_impl<T, is_class<T>::value> {};
129 
130 // Channel traits for C++ reference type - remove the reference
-
131 template <typename T> struct channel_traits< T&> : public channel_traits<T> {};
+
131 template <typename T> struct channel_traits<T&> : public channel_traits<T> {};
132 
133 // Channel traits for constant C++ reference type
-
134 template <typename T> struct channel_traits<const T&> : public channel_traits<T> {
-
135  typedef typename channel_traits<T>::const_reference reference;
-
136  typedef typename channel_traits<T>::const_pointer pointer;
+
134 template <typename T> struct channel_traits<T const&> : public channel_traits<T> {
+
135  using reference = typename channel_traits<T>::const_reference;
+
136  using pointer = typename channel_traits<T>::const_pointer;
137  BOOST_STATIC_CONSTANT(bool, is_mutable=false);
138 };
139 
@@ -155,14 +155,14 @@
166 template <typename BaseChannelValue, // base channel (models ChannelValueConcept)
169  typename MinVal, typename MaxVal> // classes with a static apply() function returning the minimum/maximum channel values
170 struct scoped_channel_value {
-
171  typedef scoped_channel_value value_type;
-
172  typedef value_type& reference;
-
173  typedef value_type* pointer;
-
174  typedef const value_type& const_reference;
-
175  typedef const value_type* const_pointer;
+
171  using value_type = scoped_channel_value<BaseChannelValue, MinVal, MaxVal>;
+
172  using reference = value_type&;
+
173  using pointer = value_type*;
+
174  using const_reference = value_type const&;
+
175  using const_pointer = value_type const*;
176  BOOST_STATIC_CONSTANT(bool, is_mutable=channel_traits<BaseChannelValue>::is_mutable);
177 
-
178  typedef BaseChannelValue base_channel_t;
+
178  using base_channel_t = BaseChannelValue;
179 
180  static value_type min_value() { return MinVal::apply(); }
181  static value_type max_value() { return MaxVal::apply(); }
@@ -236,138 +236,138 @@
272 class packed_channel_value {
273 
274 public:
-
275  typedef typename detail::min_fast_uint<NumBits>::type integer_t;
+
275  using integer_t = typename detail::min_fast_uint<NumBits>::type;
276 
-
277 
-
278  typedef packed_channel_value value_type;
-
279  typedef value_type& reference;
-
280  typedef const value_type& const_reference;
-
281  typedef value_type* pointer;
-
282  typedef const value_type* const_pointer;
-
283 
-
284  static value_type min_value() { return 0; }
-
285  static value_type max_value() { return low_bits_mask_t< NumBits >::sig_bits; }
-
286 
-
287  BOOST_STATIC_CONSTANT(bool, is_mutable=true);
-
288 
-
289  packed_channel_value() {}
-
290 
-
291  packed_channel_value(integer_t v) { _value = static_cast< integer_t >( v & low_bits_mask_t<NumBits>::sig_bits_fast ); }
-
292  template <typename Scalar> packed_channel_value(Scalar v) { _value = packed_channel_value( static_cast< integer_t >( v ) ); }
-
293 
-
294  static unsigned int num_bits() { return NumBits; }
-
295 
-
296  operator integer_t() const { return _value; }
-
297 private:
-
298  integer_t _value;
-
299 };
-
300 
-
301 namespace detail {
-
302 
-
303 template <std::size_t K>
-
304 struct static_copy_bytes {
-
305  void operator()(const unsigned char* from, unsigned char* to) const {
-
306  *to = *from;
-
307  static_copy_bytes<K-1>()(++from,++to);
-
308  }
-
309 };
-
310 
-
311 template <>
-
312 struct static_copy_bytes<0> {
-
313  void operator()(const unsigned char* , unsigned char*) const {}
-
314 };
-
315 
-
316 template <typename Derived, typename BitField, int NumBits, bool Mutable>
-
317 class packed_channel_reference_base {
-
318 protected:
-
319  typedef typename mpl::if_c<Mutable,void*,const void*>::type data_ptr_t;
-
320 public:
-
321  data_ptr_t _data_ptr; // void* pointer to the first byte of the bit range
-
322 
-
323  typedef packed_channel_value<NumBits> value_type;
-
324  typedef const Derived reference;
-
325  typedef value_type* pointer;
-
326  typedef const value_type* const_pointer;
-
327  BOOST_STATIC_CONSTANT(int, num_bits=NumBits);
-
328  BOOST_STATIC_CONSTANT(bool, is_mutable=Mutable);
-
329 
-
330  static value_type min_value() { return channel_traits<value_type>::min_value(); }
-
331  static value_type max_value() { return channel_traits<value_type>::max_value(); }
-
332 
-
333  typedef BitField bitfield_t;
-
334  typedef typename value_type::integer_t integer_t;
-
335 
-
336  packed_channel_reference_base(data_ptr_t data_ptr) : _data_ptr(data_ptr) {}
-
337  packed_channel_reference_base(const packed_channel_reference_base& ref) : _data_ptr(ref._data_ptr) {}
-
338  const Derived& operator=(integer_t v) const { set(v); return derived(); }
-
339 
-
340  const Derived& operator++() const { set(get()+1); return derived(); }
-
341  const Derived& operator--() const { set(get()-1); return derived(); }
-
342 
-
343  Derived operator++(int) const { Derived tmp=derived(); this->operator++(); return tmp; }
-
344  Derived operator--(int) const { Derived tmp=derived(); this->operator--(); return tmp; }
-
345 
-
346  template <typename Scalar2> const Derived& operator+=(Scalar2 v) const { set( static_cast<integer_t>( get() + v )); return derived(); }
-
347  template <typename Scalar2> const Derived& operator-=(Scalar2 v) const { set( static_cast<integer_t>( get() - v )); return derived(); }
-
348  template <typename Scalar2> const Derived& operator*=(Scalar2 v) const { set( static_cast<integer_t>( get() * v )); return derived(); }
-
349  template <typename Scalar2> const Derived& operator/=(Scalar2 v) const { set( static_cast<integer_t>( get() / v )); return derived(); }
-
350 
-
351  operator integer_t() const { return get(); }
-
352  data_ptr_t operator &() const {return _data_ptr;}
-
353 protected:
-
354 
-
355  typedef typename detail::num_value_fn< NumBits >::type num_value_t;
-
356  typedef typename detail::max_value_fn< NumBits >::type max_value_t;
-
357 
-
358  static const num_value_t num_values = static_cast< num_value_t >( 1 ) << NumBits ;
-
359  static const max_value_t max_val = static_cast< max_value_t >( num_values - 1 );
-
360 
-
361 #if defined(BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS)
-
362  const bitfield_t& get_data() const { return *static_cast<const bitfield_t*>(_data_ptr); }
-
363  void set_data(const bitfield_t& val) const { *static_cast< bitfield_t*>(_data_ptr) = val; }
-
364 #else
-
365  bitfield_t get_data() const {
-
366  bitfield_t ret;
-
367  static_copy_bytes<sizeof(bitfield_t) >()(gil_reinterpret_cast_c<const unsigned char*>(_data_ptr),gil_reinterpret_cast<unsigned char*>(&ret));
-
368  return ret;
-
369  }
-
370  void set_data(const bitfield_t& val) const {
-
371  static_copy_bytes<sizeof(bitfield_t) >()(gil_reinterpret_cast_c<const unsigned char*>(&val),gil_reinterpret_cast<unsigned char*>(_data_ptr));
-
372  }
-
373 #endif
-
374 
-
375 private:
-
376  void set(integer_t value) const { // can this be done faster??
-
377  this->derived().set_unsafe(((value % num_values) + num_values) % num_values);
-
378  }
-
379  integer_t get() const { return derived().get(); }
-
380  const Derived& derived() const { return static_cast<const Derived&>(*this); }
-
381 };
-
382 } // namespace detail
-
383 
-
400 template <typename BitField, // A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like std::uint16_t
-
401  int FirstBit, int NumBits,// Defines the sequence of bits in the data value that contain the channel
-
402  bool Mutable> // true if the reference is mutable
-
403 class packed_channel_reference;
-
404 
-
405 template <typename BitField, // A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like std::uint16_t
-
406  int NumBits, // Defines the sequence of bits in the data value that contain the channel
-
407  bool Mutable> // true if the reference is mutable
-
408 class packed_dynamic_channel_reference;
-
409 
-
412 template <typename BitField, int FirstBit, int NumBits>
-
413 class packed_channel_reference<BitField,FirstBit,NumBits,false>
-
414  : public detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,false>,BitField,NumBits,false> {
-
415  typedef detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,false>,BitField,NumBits,false> parent_t;
+
277  using value_type = packed_channel_value<NumBits>;
+
278  using reference = value_type&;
+
279  using const_reference = value_type const&;
+
280  using pointer = value_type*;
+
281  using const_pointer = value_type const*;
+
282 
+
283  static value_type min_value() { return 0; }
+
284  static value_type max_value() { return low_bits_mask_t< NumBits >::sig_bits; }
+
285 
+
286  BOOST_STATIC_CONSTANT(bool, is_mutable=true);
+
287 
+
288  packed_channel_value() {}
+
289 
+
290  packed_channel_value(integer_t v) { _value = static_cast< integer_t >( v & low_bits_mask_t<NumBits>::sig_bits_fast ); }
+
291  template <typename Scalar> packed_channel_value(Scalar v) { _value = packed_channel_value( static_cast< integer_t >( v ) ); }
+
292 
+
293  static unsigned int num_bits() { return NumBits; }
+
294 
+
295  operator integer_t() const { return _value; }
+
296 private:
+
297  integer_t _value;
+
298 };
+
299 
+
300 namespace detail {
+
301 
+
302 template <std::size_t K>
+
303 struct static_copy_bytes {
+
304  void operator()(const unsigned char* from, unsigned char* to) const {
+
305  *to = *from;
+
306  static_copy_bytes<K-1>()(++from,++to);
+
307  }
+
308 };
+
309 
+
310 template <>
+
311 struct static_copy_bytes<0> {
+
312  void operator()(const unsigned char* , unsigned char*) const {}
+
313 };
+
314 
+
315 template <typename Derived, typename BitField, int NumBits, bool Mutable>
+
316 class packed_channel_reference_base {
+
317 protected:
+
318  using data_ptr_t = typename mpl::if_c<Mutable,void*,const void*>::type;
+
319 public:
+
320  data_ptr_t _data_ptr; // void* pointer to the first byte of the bit range
+
321 
+
322  using value_type = packed_channel_value<NumBits>;
+
323  using reference = const Derived;
+
324  using pointer = value_type *;
+
325  using const_pointer = const value_type *;
+
326  BOOST_STATIC_CONSTANT(int, num_bits=NumBits);
+
327  BOOST_STATIC_CONSTANT(bool, is_mutable=Mutable);
+
328 
+
329  static value_type min_value() { return channel_traits<value_type>::min_value(); }
+
330  static value_type max_value() { return channel_traits<value_type>::max_value(); }
+
331 
+
332  using bitfield_t = BitField;
+
333  using integer_t = typename value_type::integer_t;
+
334 
+
335  packed_channel_reference_base(data_ptr_t data_ptr) : _data_ptr(data_ptr) {}
+
336  packed_channel_reference_base(const packed_channel_reference_base& ref) : _data_ptr(ref._data_ptr) {}
+
337  const Derived& operator=(integer_t v) const { set(v); return derived(); }
+
338 
+
339  const Derived& operator++() const { set(get()+1); return derived(); }
+
340  const Derived& operator--() const { set(get()-1); return derived(); }
+
341 
+
342  Derived operator++(int) const { Derived tmp=derived(); this->operator++(); return tmp; }
+
343  Derived operator--(int) const { Derived tmp=derived(); this->operator--(); return tmp; }
+
344 
+
345  template <typename Scalar2> const Derived& operator+=(Scalar2 v) const { set( static_cast<integer_t>( get() + v )); return derived(); }
+
346  template <typename Scalar2> const Derived& operator-=(Scalar2 v) const { set( static_cast<integer_t>( get() - v )); return derived(); }
+
347  template <typename Scalar2> const Derived& operator*=(Scalar2 v) const { set( static_cast<integer_t>( get() * v )); return derived(); }
+
348  template <typename Scalar2> const Derived& operator/=(Scalar2 v) const { set( static_cast<integer_t>( get() / v )); return derived(); }
+
349 
+
350  operator integer_t() const { return get(); }
+
351  data_ptr_t operator &() const {return _data_ptr;}
+
352 protected:
+
353 
+
354  using num_value_t = typename detail::num_value_fn<NumBits>::type;
+
355  using max_value_t = typename detail::max_value_fn<NumBits>::type;
+
356 
+
357  static const num_value_t num_values = static_cast< num_value_t >( 1 ) << NumBits ;
+
358  static const max_value_t max_val = static_cast< max_value_t >( num_values - 1 );
+
359 
+
360 #if defined(BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS)
+
361  const bitfield_t& get_data() const { return *static_cast<const bitfield_t*>(_data_ptr); }
+
362  void set_data(const bitfield_t& val) const { *static_cast< bitfield_t*>(_data_ptr) = val; }
+
363 #else
+
364  bitfield_t get_data() const {
+
365  bitfield_t ret;
+
366  static_copy_bytes<sizeof(bitfield_t) >()(gil_reinterpret_cast_c<const unsigned char*>(_data_ptr),gil_reinterpret_cast<unsigned char*>(&ret));
+
367  return ret;
+
368  }
+
369  void set_data(const bitfield_t& val) const {
+
370  static_copy_bytes<sizeof(bitfield_t) >()(gil_reinterpret_cast_c<const unsigned char*>(&val),gil_reinterpret_cast<unsigned char*>(_data_ptr));
+
371  }
+
372 #endif
+
373 
+
374 private:
+
375  void set(integer_t value) const { // can this be done faster??
+
376  this->derived().set_unsafe(((value % num_values) + num_values) % num_values);
+
377  }
+
378  integer_t get() const { return derived().get(); }
+
379  const Derived& derived() const { return static_cast<const Derived&>(*this); }
+
380 };
+
381 } // namespace detail
+
382 
+
399 template <typename BitField, // A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like std::uint16_t
+
400  int FirstBit, int NumBits,// Defines the sequence of bits in the data value that contain the channel
+
401  bool Mutable> // true if the reference is mutable
+
402 class packed_channel_reference;
+
403 
+
404 template <typename BitField, // A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like std::uint16_t
+
405  int NumBits, // Defines the sequence of bits in the data value that contain the channel
+
406  bool Mutable> // true if the reference is mutable
+
407 class packed_dynamic_channel_reference;
+
408 
+
411 template <typename BitField, int FirstBit, int NumBits>
+
412 class packed_channel_reference<BitField,FirstBit,NumBits,false>
+
413  : public detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,false>,BitField,NumBits,false>
+
414 {
+
415  using parent_t = detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,false>,BitField,NumBits,false>;
416  friend class packed_channel_reference<BitField,FirstBit,NumBits,true>;
417 
418  static const BitField channel_mask = static_cast< BitField >( parent_t::max_val ) << FirstBit;
419 
420  void operator=(const packed_channel_reference&);
421 public:
-
422  typedef const packed_channel_reference<BitField,FirstBit,NumBits,false> const_reference;
-
423  typedef const packed_channel_reference<BitField,FirstBit,NumBits,true> mutable_reference;
-
424  typedef typename parent_t::integer_t integer_t;
+
422  using const_reference = packed_channel_reference<BitField,FirstBit,NumBits,false> const;
+
423  using mutable_reference = packed_channel_reference<BitField,FirstBit,NumBits,true> const;
+
424  using integer_t = typename parent_t::integer_t;
425 
426  explicit packed_channel_reference(const void* data_ptr) : parent_t(data_ptr) {}
427  packed_channel_reference(const packed_channel_reference& ref) : parent_t(ref._data_ptr) {}
@@ -380,205 +380,212 @@
434 
437 template <typename BitField, int FirstBit, int NumBits>
438 class packed_channel_reference<BitField,FirstBit,NumBits,true>
-
439  : public detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,true>,BitField,NumBits,true> {
-
440  typedef detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,true>,BitField,NumBits,true> parent_t;
-
441  friend class packed_channel_reference<BitField,FirstBit,NumBits,false>;
-
442 
-
443  static const BitField channel_mask = static_cast< BitField >( parent_t::max_val ) << FirstBit;
-
444 
-
445 public:
-
446  typedef const packed_channel_reference<BitField,FirstBit,NumBits,false> const_reference;
-
447  typedef const packed_channel_reference<BitField,FirstBit,NumBits,true> mutable_reference;
-
448  typedef typename parent_t::integer_t integer_t;
-
449 
-
450  explicit packed_channel_reference(void* data_ptr) : parent_t(data_ptr) {}
-
451  packed_channel_reference(const packed_channel_reference& ref) : parent_t(ref._data_ptr) {}
-
452 
-
453  const packed_channel_reference& operator=(integer_t value) const { assert(value<=parent_t::max_val); set_unsafe(value); return *this; }
-
454  const packed_channel_reference& operator=(const mutable_reference& ref) const { set_from_reference(ref.get_data()); return *this; }
-
455  const packed_channel_reference& operator=(const const_reference& ref) const { set_from_reference(ref.get_data()); return *this; }
-
456 
-
457  template <bool Mutable1>
-
458  const packed_channel_reference& operator=(const packed_dynamic_channel_reference<BitField,NumBits,Mutable1>& ref) const { set_unsafe(ref.get()); return *this; }
-
459 
-
460  unsigned first_bit() const { return FirstBit; }
-
461 
-
462  integer_t get() const { return integer_t((this->get_data()&channel_mask) >> FirstBit); }
-
463  void set_unsafe(integer_t value) const { this->set_data((this->get_data() & ~channel_mask) | (( static_cast< BitField >( value )<<FirstBit))); }
-
464 private:
-
465  void set_from_reference(const BitField& other_bits) const { this->set_data((this->get_data() & ~channel_mask) | (other_bits & channel_mask)); }
-
466 };
-
467 
-
468 } } // namespace boost::gil
-
469 
-
470 namespace std {
-
471 // We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
-
472 // swap with 'left bias':
-
473 // - swap between proxy and anything
-
474 // - swap between value type and proxy
-
475 // - swap between proxy and proxy
-
476 
-
479 template <typename BF, int FB, int NB, bool M, typename R> inline
-
480 void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, R& y) {
-
481  boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
-
482 }
-
483 
+
439  : public detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,true>,BitField,NumBits,true>
+
440 {
+
441  using parent_t = detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,true>,BitField,NumBits,true>;
+
442  friend class packed_channel_reference<BitField,FirstBit,NumBits,false>;
+
443 
+
444  static const BitField channel_mask = static_cast< BitField >( parent_t::max_val ) << FirstBit;
+
445 
+
446 public:
+
447  using const_reference = packed_channel_reference<BitField,FirstBit,NumBits,false> const;
+
448  using mutable_reference = packed_channel_reference<BitField,FirstBit,NumBits,true> const;
+
449  using integer_t = typename parent_t::integer_t;
+
450 
+
451  explicit packed_channel_reference(void* data_ptr) : parent_t(data_ptr) {}
+
452  packed_channel_reference(const packed_channel_reference& ref) : parent_t(ref._data_ptr) {}
+
453 
+
454  const packed_channel_reference& operator=(integer_t value) const { assert(value<=parent_t::max_val); set_unsafe(value); return *this; }
+
455  const packed_channel_reference& operator=(const mutable_reference& ref) const { set_from_reference(ref.get_data()); return *this; }
+
456  const packed_channel_reference& operator=(const const_reference& ref) const { set_from_reference(ref.get_data()); return *this; }
+
457 
+
458  template <bool Mutable1>
+
459  const packed_channel_reference& operator=(const packed_dynamic_channel_reference<BitField,NumBits,Mutable1>& ref) const { set_unsafe(ref.get()); return *this; }
+
460 
+
461  unsigned first_bit() const { return FirstBit; }
+
462 
+
463  integer_t get() const { return integer_t((this->get_data()&channel_mask) >> FirstBit); }
+
464  void set_unsafe(integer_t value) const { this->set_data((this->get_data() & ~channel_mask) | (( static_cast< BitField >( value )<<FirstBit))); }
+
465 private:
+
466  void set_from_reference(const BitField& other_bits) const { this->set_data((this->get_data() & ~channel_mask) | (other_bits & channel_mask)); }
+
467 };
+
468 
+
469 } } // namespace boost::gil
+
470 
+
471 namespace std {
+
472 // We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
+
473 // swap with 'left bias':
+
474 // - swap between proxy and anything
+
475 // - swap between value type and proxy
+
476 // - swap between proxy and proxy
+
477 
+
480 template <typename BF, int FB, int NB, bool M, typename R> inline
+
481 void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, R& y) {
+
482  boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
+
483 }
484 
-
487 template <typename BF, int FB, int NB, bool M> inline
-
488 void swap(typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type& x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
-
489  boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
-
490 }
-
491 
-
494 template <typename BF, int FB, int NB, bool M> inline
-
495 void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
-
496  boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
-
497 }
-
498 } // namespace std
-
499 
-
500 namespace boost { namespace gil {
-
501 
-
519 template <typename BitField, int NumBits>
-
523 class packed_dynamic_channel_reference<BitField,NumBits,false>
-
524  : public detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,false>,BitField,NumBits,false> {
-
525  typedef detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,false>,BitField,NumBits,false> parent_t;
-
526  friend class packed_dynamic_channel_reference<BitField,NumBits,true>;
-
527 
-
528  unsigned _first_bit; // 0..7
+
485 
+
488 template <typename BF, int FB, int NB, bool M> inline
+
489 void swap(typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type& x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
+
490  boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
+
491 }
+
492 
+
495 template <typename BF, int FB, int NB, bool M> inline
+
496 void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
+
497  boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
+
498 }
+
499 } // namespace std
+
500 
+
501 namespace boost { namespace gil {
+
502 
+
520 template <typename BitField, int NumBits>
+
524 class packed_dynamic_channel_reference<BitField,NumBits,false>
+
525  : public detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,false>,BitField,NumBits,false>
+
526 {
+
527  using parent_t = detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,false>,BitField,NumBits,false>;
+
528  friend class packed_dynamic_channel_reference<BitField,NumBits,true>;
529 
-
530  void operator=(const packed_dynamic_channel_reference&);
-
531 public:
-
532  typedef const packed_dynamic_channel_reference<BitField,NumBits,false> const_reference;
-
533  typedef const packed_dynamic_channel_reference<BitField,NumBits,true> mutable_reference;
-
534  typedef typename parent_t::integer_t integer_t;
-
535 
-
536  packed_dynamic_channel_reference(const void* data_ptr, unsigned first_bit) : parent_t(data_ptr), _first_bit(first_bit) {}
-
537  packed_dynamic_channel_reference(const const_reference& ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
-
538  packed_dynamic_channel_reference(const mutable_reference& ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
-
539 
-
540  unsigned first_bit() const { return _first_bit; }
+
530  unsigned _first_bit; // 0..7
+
531 
+
532  void operator=(const packed_dynamic_channel_reference&);
+
533 public:
+
534  using const_reference = packed_dynamic_channel_reference<BitField,NumBits,false> const;
+
535  using mutable_reference = packed_dynamic_channel_reference<BitField,NumBits,true> const;
+
536  using integer_t = typename parent_t::integer_t;
+
537 
+
538  packed_dynamic_channel_reference(const void* data_ptr, unsigned first_bit) : parent_t(data_ptr), _first_bit(first_bit) {}
+
539  packed_dynamic_channel_reference(const const_reference& ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
+
540  packed_dynamic_channel_reference(const mutable_reference& ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
541 
-
542  integer_t get() const {
-
543  const BitField channel_mask = static_cast< integer_t >( parent_t::max_val ) <<_first_bit;
-
544  return static_cast< integer_t >(( this->get_data()&channel_mask ) >> _first_bit );
-
545  }
-
546 };
-
547 
-
551 template <typename BitField, int NumBits>
-
552 class packed_dynamic_channel_reference<BitField,NumBits,true>
-
553  : public detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,true>,BitField,NumBits,true> {
-
554  typedef detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,true>,BitField,NumBits,true> parent_t;
-
555  friend class packed_dynamic_channel_reference<BitField,NumBits,false>;
-
556 
-
557  unsigned _first_bit;
-
558 
-
559 public:
-
560  typedef const packed_dynamic_channel_reference<BitField,NumBits,false> const_reference;
-
561  typedef const packed_dynamic_channel_reference<BitField,NumBits,true> mutable_reference;
-
562  typedef typename parent_t::integer_t integer_t;
-
563 
-
564  packed_dynamic_channel_reference(void* data_ptr, unsigned first_bit) : parent_t(data_ptr), _first_bit(first_bit) {}
-
565  packed_dynamic_channel_reference(const packed_dynamic_channel_reference& ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
+
542  unsigned first_bit() const { return _first_bit; }
+
543 
+
544  integer_t get() const {
+
545  const BitField channel_mask = static_cast< integer_t >( parent_t::max_val ) <<_first_bit;
+
546  return static_cast< integer_t >(( this->get_data()&channel_mask ) >> _first_bit );
+
547  }
+
548 };
+
549 
+
553 template <typename BitField, int NumBits>
+
554 class packed_dynamic_channel_reference<BitField,NumBits,true>
+
555  : public detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,true>,BitField,NumBits,true>
+
556 {
+
557  using parent_t = detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,true>,BitField,NumBits,true>;
+
558  friend class packed_dynamic_channel_reference<BitField,NumBits,false>;
+
559 
+
560  unsigned _first_bit;
+
561 
+
562 public:
+
563  using const_reference = packed_dynamic_channel_reference<BitField,NumBits,false> const;
+
564  using mutable_reference = packed_dynamic_channel_reference<BitField,NumBits,true> const;
+
565  using integer_t = typename parent_t::integer_t;
566 
-
567  const packed_dynamic_channel_reference& operator=(integer_t value) const { assert(value<=parent_t::max_val); set_unsafe(value); return *this; }
-
568  const packed_dynamic_channel_reference& operator=(const mutable_reference& ref) const { set_unsafe(ref.get()); return *this; }
-
569  const packed_dynamic_channel_reference& operator=(const const_reference& ref) const { set_unsafe(ref.get()); return *this; }
-
570 
-
571  template <typename BitField1, int FirstBit1, bool Mutable1>
-
572  const packed_dynamic_channel_reference& operator=(const packed_channel_reference<BitField1, FirstBit1, NumBits, Mutable1>& ref) const
-
573  { set_unsafe(ref.get()); return *this; }
-
574 
-
575  unsigned first_bit() const { return _first_bit; }
-
576 
-
577  integer_t get() const {
-
578  const BitField channel_mask = static_cast< integer_t >( parent_t::max_val ) << _first_bit;
-
579  return static_cast< integer_t >(( this->get_data()&channel_mask ) >> _first_bit );
-
580  }
-
581 
-
582  void set_unsafe(integer_t value) const {
-
583  const BitField channel_mask = static_cast< integer_t >( parent_t::max_val ) << _first_bit;
-
584  this->set_data((this->get_data() & ~channel_mask) | value<<_first_bit);
-
585  }
-
586 };
-
587 } } // namespace boost::gil
-
588 
-
589 namespace std {
-
590 // We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
-
591 // swap with 'left bias':
-
592 // - swap between proxy and anything
-
593 // - swap between value type and proxy
-
594 // - swap between proxy and proxy
-
595 
-
596 
-
599 template <typename BF, int NB, bool M, typename R> inline
-
600 void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, R& y) {
-
601  boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
-
602 }
-
603 
-
604 
-
607 template <typename BF, int NB, bool M> inline
-
608 void swap(typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type& x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
-
609  boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
-
610 }
-
611 
-
614 template <typename BF, int NB, bool M> inline
-
615 void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
-
616  boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
-
617 }
-
618 } // namespace std
-
619 
-
620 namespace boost {
-
621 
-
622 template <int NumBits>
-
623 struct is_integral<gil::packed_channel_value<NumBits> > : public mpl::true_ {};
+
567  packed_dynamic_channel_reference(void* data_ptr, unsigned first_bit) : parent_t(data_ptr), _first_bit(first_bit) {}
+
568  packed_dynamic_channel_reference(const packed_dynamic_channel_reference& ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
+
569 
+
570  const packed_dynamic_channel_reference& operator=(integer_t value) const { assert(value<=parent_t::max_val); set_unsafe(value); return *this; }
+
571  const packed_dynamic_channel_reference& operator=(const mutable_reference& ref) const { set_unsafe(ref.get()); return *this; }
+
572  const packed_dynamic_channel_reference& operator=(const const_reference& ref) const { set_unsafe(ref.get()); return *this; }
+
573 
+
574  template <typename BitField1, int FirstBit1, bool Mutable1>
+
575  const packed_dynamic_channel_reference& operator=(const packed_channel_reference<BitField1, FirstBit1, NumBits, Mutable1>& ref) const
+
576  { set_unsafe(ref.get()); return *this; }
+
577 
+
578  unsigned first_bit() const { return _first_bit; }
+
579 
+
580  integer_t get() const {
+
581  const BitField channel_mask = static_cast< integer_t >( parent_t::max_val ) << _first_bit;
+
582  return static_cast< integer_t >(( this->get_data()&channel_mask ) >> _first_bit );
+
583  }
+
584 
+
585  void set_unsafe(integer_t value) const {
+
586  const BitField channel_mask = static_cast< integer_t >( parent_t::max_val ) << _first_bit;
+
587  this->set_data((this->get_data() & ~channel_mask) | value<<_first_bit);
+
588  }
+
589 };
+
590 } } // namespace boost::gil
+
591 
+
592 namespace std {
+
593 // We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
+
594 // swap with 'left bias':
+
595 // - swap between proxy and anything
+
596 // - swap between value type and proxy
+
597 // - swap between proxy and proxy
+
598 
+
599 
+
602 template <typename BF, int NB, bool M, typename R> inline
+
603 void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, R& y) {
+
604  boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
+
605 }
+
606 
+
607 
+
610 template <typename BF, int NB, bool M> inline
+
611 void swap(typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type& x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
+
612  boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
+
613 }
+
614 
+
617 template <typename BF, int NB, bool M> inline
+
618 void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
+
619  boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
+
620 }
+
621 } // namespace std
+
622 
+
623 namespace boost {
624 
-
625 template <typename BitField, int FirstBit, int NumBits, bool IsMutable>
-
626 struct is_integral<gil::packed_channel_reference<BitField,FirstBit,NumBits,IsMutable> > : public mpl::true_ {};
+
625 template <int NumBits>
+
626 struct is_integral<gil::packed_channel_value<NumBits> > : public mpl::true_ {};
627 
-
628 template <typename BitField, int NumBits, bool IsMutable>
-
629 struct is_integral<gil::packed_dynamic_channel_reference<BitField,NumBits,IsMutable> > : public mpl::true_ {};
+
628 template <typename BitField, int FirstBit, int NumBits, bool IsMutable>
+
629 struct is_integral<gil::packed_channel_reference<BitField,FirstBit,NumBits,IsMutable> > : public mpl::true_ {};
630 
-
631 template <typename BaseChannelValue, typename MinVal, typename MaxVal>
-
632 struct is_integral<gil::scoped_channel_value<BaseChannelValue,MinVal,MaxVal> > : public is_integral<BaseChannelValue> {};
+
631 template <typename BitField, int NumBits, bool IsMutable>
+
632 struct is_integral<gil::packed_dynamic_channel_reference<BitField,NumBits,IsMutable> > : public mpl::true_ {};
633 
-
634 } // namespace boost
-
635 
-
636 // \brief Determines the fundamental type which may be used, e.g., to cast from larger to smaller channel types.
-
637 namespace boost { namespace gil {
-
638 template <typename T>
-
639 struct base_channel_type_impl { typedef T type; };
-
640 
-
641 template <int N>
-
642 struct base_channel_type_impl<packed_channel_value<N> >
-
643 { typedef typename packed_channel_value<N>::integer_t type; };
-
644 
-
645 template <typename B, int F, int N, bool M>
-
646 struct base_channel_type_impl<packed_channel_reference<B, F, N, M> >
-
647 { typedef typename packed_channel_reference<B,F,N,M>::integer_t type; };
-
648 
-
649 template <typename B, int N, bool M>
-
650 struct base_channel_type_impl<packed_dynamic_channel_reference<B, N, M> >
-
651 { typedef typename packed_dynamic_channel_reference<B,N,M>::integer_t type; };
-
652 
-
653 template <typename ChannelValue, typename MinV, typename MaxV>
-
654 struct base_channel_type_impl<scoped_channel_value<ChannelValue, MinV, MaxV> >
-
655 { typedef ChannelValue type; };
-
656 
-
657 template <typename T>
-
658 struct base_channel_type : base_channel_type_impl<typename remove_cv<T>::type > {};
+
634 template <typename BaseChannelValue, typename MinVal, typename MaxVal>
+
635 struct is_integral<gil::scoped_channel_value<BaseChannelValue,MinVal,MaxVal> > : public is_integral<BaseChannelValue> {};
+
636 
+
637 } // namespace boost
+
638 
+
639 // \brief Determines the fundamental type which may be used, e.g., to cast from larger to smaller channel types.
+
640 namespace boost { namespace gil {
+
641 template <typename T>
+
642 struct base_channel_type_impl { using type = T; };
+
643 
+
644 template <int N>
+
645 struct base_channel_type_impl<packed_channel_value<N> >
+
646 { using type = typename packed_channel_value<N>::integer_t; };
+
647 
+
648 template <typename B, int F, int N, bool M>
+
649 struct base_channel_type_impl<packed_channel_reference<B, F, N, M> >
+
650 {
+
651  using type = typename packed_channel_reference<B,F,N,M>::integer_t;
+
652 };
+
653 
+
654 template <typename B, int N, bool M>
+
655 struct base_channel_type_impl<packed_dynamic_channel_reference<B, N, M> >
+
656 {
+
657  using type = typename packed_dynamic_channel_reference<B,N,M>::integer_t;
+
658 };
659 
-
660 }} //namespace boost::gil
-
661 
-
662 #endif
-
std::swap
void swap(const boost::gil::packed_dynamic_channel_reference< BF, NB, M > x, const boost::gil::packed_dynamic_channel_reference< BF, NB, M > y)
swap for packed_dynamic_channel_reference
Definition: channel.hpp:615
-
boost::gil::packed_dynamic_channel_reference< BitField, NumBits, false >
Models a constant subbyte channel reference whose bit offset is a runtime parameter. Models ChannelConcept Same as packed_channel_reference, except that the offset is a runtime parameter.
Definition: channel.hpp:523
-
boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >
Models a mutable subbyte channel reference whose bit offset is a runtime parameter. Models ChannelConcept Same as packed_channel_reference, except that the offset is a runtime parameter.
Definition: channel.hpp:552
+
660 template <typename ChannelValue, typename MinV, typename MaxV>
+
661 struct base_channel_type_impl<scoped_channel_value<ChannelValue, MinV, MaxV> >
+
662 { using type = ChannelValue; };
+
663 
+
664 template <typename T>
+
665 struct base_channel_type : base_channel_type_impl<typename remove_cv<T>::type > {};
+
666 
+
667 }} //namespace boost::gil
+
668 
+
669 #endif
+
std::swap
void swap(const boost::gil::packed_dynamic_channel_reference< BF, NB, M > x, const boost::gil::packed_dynamic_channel_reference< BF, NB, M > y)
swap for packed_dynamic_channel_reference
Definition: channel.hpp:618
+
boost::gil::packed_dynamic_channel_reference< BitField, NumBits, false >
Models a constant subbyte channel reference whose bit offset is a runtime parameter. Models ChannelConcept Same as packed_channel_reference, except that the offset is a runtime parameter.
Definition: channel.hpp:524
+
boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >
Models a mutable subbyte channel reference whose bit offset is a runtime parameter. Models ChannelConcept Same as packed_channel_reference, except that the offset is a runtime parameter.
Definition: channel.hpp:554
diff --git a/develop/doc/html/reference/channel__algorithm_8hpp_source.html b/develop/doc/html/reference/channel__algorithm_8hpp_source.html index fe4699437..6b640fc98 100644 --- a/develop/doc/html/reference/channel__algorithm_8hpp_source.html +++ b/develop/doc/html/reference/channel__algorithm_8hpp_source.html @@ -125,8 +125,8 @@
118 
120 template <typename SrcChannelV, typename DstChannelV, bool SrcIsIntegral, bool DstIsIntegral>
121 struct channel_converter_unsigned_impl {
-
122  typedef SrcChannelV argument_type;
-
123  typedef DstChannelV result_type;
+
122  using argument_type = SrcChannelV;
+
123  using result_type = DstChannelV;
124  DstChannelV operator()(SrcChannelV src) const {
125  return DstChannelV(channel_traits<DstChannelV>::min_value() +
126  (src - channel_traits<SrcChannelV>::min_value()) / channel_range<SrcChannelV>() * channel_range<DstChannelV>());
@@ -164,7 +164,7 @@
164 template <typename SrcChannelV, typename DstChannelV>
165 struct channel_converter_unsigned_integral_impl<SrcChannelV,DstChannelV,true,true> {
166  DstChannelV operator()(SrcChannelV src) const {
-
167  typedef typename unsigned_integral_max_value<DstChannelV>::value_type integer_t;
+
167  using integer_t = typename unsigned_integral_max_value<DstChannelV>::value_type;
168  static const integer_t mul = unsigned_integral_max_value<DstChannelV>::value / unsigned_integral_max_value<SrcChannelV>::value;
169  return DstChannelV(src * mul);
170  }
@@ -176,7 +176,7 @@
176 template <typename SrcChannelV, typename DstChannelV>
177 struct channel_converter_unsigned_integral_impl<SrcChannelV,DstChannelV,false,true> {
178  DstChannelV operator()(SrcChannelV src) const {
-
179  typedef typename unsigned_integral_max_value<SrcChannelV>::value_type integer_t;
+
179  using integer_t = typename unsigned_integral_max_value<SrcChannelV>::value_type;
180  static const integer_t div = unsigned_integral_max_value<SrcChannelV>::value / unsigned_integral_max_value<DstChannelV>::value;
181  static const integer_t div2 = div/2;
182  return DstChannelV((src + div2) / div);
@@ -214,7 +214,7 @@
214 template <typename SrcChannelV, typename DstChannelV>
215 struct channel_converter_unsigned_integral_nondivisible<SrcChannelV,DstChannelV,true,false> {
216  DstChannelV operator()(SrcChannelV src) const {
-
217  typedef typename base_channel_type<DstChannelV>::type dest_t;
+
217  using dest_t = typename base_channel_type<DstChannelV>::type;
218  return DstChannelV(static_cast<dest_t>( src * unsigned_integral_max_value<DstChannelV>::value) / unsigned_integral_max_value<SrcChannelV>::value);
219  }
220 };
@@ -238,8 +238,8 @@
238 struct channel_converter_unsigned_integral_nondivisible<SrcChannelV,DstChannelV,false,CannotFit> {
239  DstChannelV operator()(SrcChannelV src) const {
240 
-
241  typedef typename detail::unsigned_integral_max_value< SrcChannelV >::value_type src_integer_t;
-
242  typedef typename detail::unsigned_integral_max_value< DstChannelV >::value_type dst_integer_t;
+
241  using src_integer_t = typename detail::unsigned_integral_max_value<SrcChannelV>::value_type;
+
242  using dst_integer_t = typename detail::unsigned_integral_max_value<DstChannelV>::value_type;
243 
244  static const double div = unsigned_integral_max_value<SrcChannelV>::value
245  / static_cast< double >( unsigned_integral_max_value<DstChannelV>::value );
@@ -254,31 +254,31 @@
254 
258 
259 template <typename DstChannelV> struct channel_converter_unsigned<float32_t,DstChannelV> {
-
260  typedef float32_t argument_type;
-
261  typedef DstChannelV result_type;
+
260  using argument_type = float32_t;
+
261  using result_type = DstChannelV;
262  DstChannelV operator()(float32_t x) const
263  {
-
264  typedef typename detail::unsigned_integral_max_value< DstChannelV >::value_type dst_integer_t;
+
264  using dst_integer_t = typename detail::unsigned_integral_max_value<DstChannelV>::value_type;
265  return DstChannelV( static_cast< dst_integer_t >(x*channel_traits<DstChannelV>::max_value()+0.5f ));
266  }
267 };
268 
269 template <typename SrcChannelV> struct channel_converter_unsigned<SrcChannelV,float32_t> {
-
270  typedef float32_t argument_type;
-
271  typedef SrcChannelV result_type;
+
270  using argument_type = float32_t;
+
271  using result_type = SrcChannelV;
272  float32_t operator()(SrcChannelV x) const { return float32_t(x/float(channel_traits<SrcChannelV>::max_value())); }
273 };
274 
275 template <> struct channel_converter_unsigned<float32_t,float32_t> {
-
276  typedef float32_t argument_type;
-
277  typedef float32_t result_type;
+
276  using argument_type = float32_t;
+
277  using result_type = float32_t;
278  float32_t operator()(float32_t x) const { return x; }
279 };
280 
281 
283 template <> struct channel_converter_unsigned<uint32_t,float32_t> {
-
284  typedef uint32_t argument_type;
-
285  typedef float32_t result_type;
+
284  using argument_type = uint32_t;
+
285  using result_type = float32_t;
286  float32_t operator()(uint32_t x) const {
287  // unfortunately without an explicit check it is possible to get a round-off error. We must ensure that max_value of uint32_t matches max_value of float32_t
288  if (x>=channel_traits<uint32_t>::max_value()) return channel_traits<float32_t>::max_value();
@@ -286,8 +286,8 @@
290  }
291 };
293 template <> struct channel_converter_unsigned<float32_t,uint32_t> {
-
294  typedef float32_t argument_type;
-
295  typedef uint32_t result_type;
+
294  using argument_type = float32_t;
+
295  using result_type = uint32_t;
296  uint32_t operator()(float32_t x) const {
297  // unfortunately without an explicit check it is possible to get a round-off error. We must ensure that max_value of uint32_t matches max_value of float32_t
298  if (x>=channel_traits<float32_t>::max_value())
@@ -302,34 +302,34 @@
308 
309 namespace detail {
310 // Converting from signed to unsigned integral channel.
-
311 // It is both a unary function, and a metafunction (thus requires the 'type' nested typedef, which equals result_type)
+
311 // It is both a unary function, and a metafunction (thus requires the 'type' nested alias, which equals result_type)
312 template <typename ChannelValue> // Model ChannelValueConcept
313 struct channel_convert_to_unsigned : public detail::identity<ChannelValue> {
-
314  typedef ChannelValue type;
+
314  using type = ChannelValue;
315 };
316 
317 template <> struct channel_convert_to_unsigned<int8_t> {
-
318  typedef int8_t argument_type;
-
319  typedef uint8_t result_type;
-
320  typedef uint8_t type;
+
318  using argument_type = int8_t;
+
319  using result_type = uint8_t;
+
320  using type = uint8_t;
321  type operator()(int8_t val) const {
322  return static_cast<uint8_t>(static_cast<uint32_t>(val) + 128u);
323  }
324 };
325 
326 template <> struct channel_convert_to_unsigned<int16_t> {
-
327  typedef int16_t argument_type;
-
328  typedef uint16_t result_type;
-
329  typedef uint16_t type;
+
327  using argument_type = int16_t;
+
328  using result_type = uint16_t;
+
329  using type = uint16_t;
330  type operator()(int16_t val) const {
331  return static_cast<uint16_t>(static_cast<uint32_t>(val) + 32768u);
332  }
333 };
334 
335 template <> struct channel_convert_to_unsigned<int32_t> {
-
336  typedef int32_t argument_type;
-
337  typedef uint32_t result_type;
-
338  typedef uint32_t type;
+
336  using argument_type = int32_t;
+
337  using result_type = uint32_t;
+
338  using type = uint32_t;
339  type operator()(int32_t val) const {
340  return static_cast<uint32_t>(val)+(1u<<31);
341  }
@@ -337,34 +337,34 @@
343 
344 
345 // Converting from unsigned to signed integral channel
-
346 // It is both a unary function, and a metafunction (thus requires the 'type' nested typedef, which equals result_type)
+
346 // It is both a unary function, and a metafunction (thus requires the 'type' nested alias, which equals result_type)
347 template <typename ChannelValue> // Model ChannelValueConcept
348 struct channel_convert_from_unsigned : public detail::identity<ChannelValue> {
-
349  typedef ChannelValue type;
+
349  using type = ChannelValue;
350 };
351 
352 template <> struct channel_convert_from_unsigned<int8_t> {
-
353  typedef uint8_t argument_type;
-
354  typedef int8_t result_type;
-
355  typedef int8_t type;
+
353  using argument_type = uint8_t;
+
354  using result_type = int8_t;
+
355  using type = int8_t;
356  type operator()(uint8_t val) const {
357  return static_cast<int8_t>(static_cast<int32_t>(val) - 128);
358  }
359 };
360 
361 template <> struct channel_convert_from_unsigned<int16_t> {
-
362  typedef uint16_t argument_type;
-
363  typedef int16_t result_type;
-
364  typedef int16_t type;
+
362  using argument_type = uint16_t;
+
363  using result_type = int16_t;
+
364  using type = int16_t;
365  type operator()(uint16_t val) const {
366  return static_cast<int16_t>(static_cast<int32_t>(val) - 32768);
367  }
368 };
369 
370 template <> struct channel_convert_from_unsigned<int32_t> {
-
371  typedef uint32_t argument_type;
-
372  typedef int32_t result_type;
-
373  typedef int32_t type;
+
371  using argument_type = uint32_t;
+
372  using result_type = int32_t;
+
373  using type = int32_t;
374  type operator()(uint32_t val) const {
375  return static_cast<int32_t>(val - (1u<<31));
376  }
@@ -374,12 +374,12 @@
380 
383 template <typename SrcChannelV, typename DstChannelV> // Model ChannelValueConcept
384 struct channel_converter {
-
385  typedef SrcChannelV argument_type;
-
386  typedef DstChannelV result_type;
+
385  using argument_type = SrcChannelV;
+
386  using result_type = DstChannelV;
387  DstChannelV operator()(const SrcChannelV& src) const {
-
388  typedef detail::channel_convert_to_unsigned<SrcChannelV> to_unsigned;
-
389  typedef detail::channel_convert_from_unsigned<DstChannelV> from_unsigned;
-
390  typedef channel_converter_unsigned<typename to_unsigned::result_type, typename from_unsigned::argument_type> converter_unsigned;
+
388  using to_unsigned = detail::channel_convert_to_unsigned<SrcChannelV>;
+
389  using from_unsigned = detail::channel_convert_from_unsigned<DstChannelV>;
+
390  using converter_unsigned = channel_converter_unsigned<typename to_unsigned::result_type, typename from_unsigned::argument_type>;
391  return from_unsigned()(converter_unsigned()(to_unsigned()(src)));
392  }
393 };
@@ -408,44 +408,44 @@
435 
438 template <typename ChannelValue>
439 struct channel_multiplier_unsigned {
-
440  typedef ChannelValue first_argument_type;
-
441  typedef ChannelValue second_argument_type;
-
442  typedef ChannelValue result_type;
+
440  using first_argument_type = ChannelValue;
+
441  using second_argument_type = ChannelValue;
+
442  using result_type = ChannelValue;
443  ChannelValue operator()(ChannelValue a, ChannelValue b) const {
444  return ChannelValue(static_cast<typename base_channel_type<ChannelValue>::type>(a / double(channel_traits<ChannelValue>::max_value()) * b));
445  }
446 };
447 
449 template<> struct channel_multiplier_unsigned<uint8_t> {
-
450  typedef uint8_t first_argument_type;
-
451  typedef uint8_t second_argument_type;
-
452  typedef uint8_t result_type;
+
450  using first_argument_type = uint8_t;
+
451  using second_argument_type = uint8_t;
+
452  using result_type = uint8_t;
453  uint8_t operator()(uint8_t a, uint8_t b) const { return uint8_t(detail::div255(uint32_t(a) * uint32_t(b))); }
454 };
455 
457 template<> struct channel_multiplier_unsigned<uint16_t> {
-
458  typedef uint16_t first_argument_type;
-
459  typedef uint16_t second_argument_type;
-
460  typedef uint16_t result_type;
+
458  using first_argument_type = uint16_t;
+
459  using second_argument_type = uint16_t;
+
460  using result_type = uint16_t;
461  uint16_t operator()(uint16_t a, uint16_t b) const { return uint16_t((uint32_t(a) * uint32_t(b))/65535); }
462 };
463 
465 template<> struct channel_multiplier_unsigned<float32_t> {
-
466  typedef float32_t first_argument_type;
-
467  typedef float32_t second_argument_type;
-
468  typedef float32_t result_type;
+
466  using first_argument_type = float32_t;
+
467  using second_argument_type = float32_t;
+
468  using result_type = float32_t;
469  float32_t operator()(float32_t a, float32_t b) const { return a*b; }
470 };
471 
473 template <typename ChannelValue>
474 struct channel_multiplier {
-
475  typedef ChannelValue first_argument_type;
-
476  typedef ChannelValue second_argument_type;
-
477  typedef ChannelValue result_type;
+
475  using first_argument_type = ChannelValue;
+
476  using second_argument_type = ChannelValue;
+
477  using result_type = ChannelValue;
478  ChannelValue operator()(ChannelValue a, ChannelValue b) const {
-
479  typedef detail::channel_convert_to_unsigned<ChannelValue> to_unsigned;
-
480  typedef detail::channel_convert_from_unsigned<ChannelValue> from_unsigned;
-
481  typedef channel_multiplier_unsigned<typename to_unsigned::result_type> multiplier_unsigned;
+
479  using to_unsigned = detail::channel_convert_to_unsigned<ChannelValue>;
+
480  using from_unsigned = detail::channel_convert_from_unsigned<ChannelValue>;
+
481  using multiplier_unsigned = channel_multiplier_unsigned<typename to_unsigned::result_type>;
482  return from_unsigned()(multiplier_unsigned()(to_unsigned()(a), to_unsigned()(b)));
483  }
484 };
@@ -487,7 +487,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1any__image-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1any__image-members.html index 96d3cb29f..0af0a31ff 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1any__image-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1any__image-members.html @@ -97,7 +97,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1any__image.html b/develop/doc/html/reference/classboost_1_1gil_1_1any__image.html index f613e0749..29943f88d 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1any__image.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1any__image.html @@ -207,7 +207,7 @@ class boost::gil::any_image< ImageTypes > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1any__image__view-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1any__image__view-members.html index 83ca6a662..411b6e9c1 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1any__image__view-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1any__image__view-members.html @@ -93,7 +93,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1any__image__view.html b/develop/doc/html/reference/classboost_1_1gil_1_1any__image__view.html index d51a152f4..8d9123e3c 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1any__image__view.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1any__image__view.html @@ -193,7 +193,7 @@ class boost::gil::any_image_view< ImageViewTypes > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1bit__range-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1bit__range-members.html index 0599305ff..56351f5bc 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1bit__range-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1bit__range-members.html @@ -78,7 +78,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1bit__range.html b/develop/doc/html/reference/classboost_1_1gil_1_1bit__range.html index d37f04b0b..5214fda93 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1bit__range.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1bit__range.html @@ -64,14 +64,12 @@ - - - - + + + +

Public Types

-typedef mpl::if_c< Mutable,
-unsigned char, const unsigned
-char >::type 
byte_t
 
-typedef std::ptrdiff_t difference_type
 
+using byte_t = typename mpl::if_c< Mutable, unsigned char, const unsigned char >::type
 
+using difference_type = std::ptrdiff_t
 
@@ -131,7 +129,7 @@ class boost::gil::bit_range< RangeSize, Mutable > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1color__convert__deref__fn-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1color__convert__deref__fn-members.html index b6a508e7b..d03f1517c 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1color__convert__deref__fn-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1color__convert__deref__fn-members.html @@ -73,7 +73,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1color__convert__deref__fn.html b/develop/doc/html/reference/classboost_1_1gil_1_1color__convert__deref__fn.html index dcd50423f..4459bb90c 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1color__convert__deref__fn.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1color__convert__deref__fn.html @@ -88,25 +88,24 @@ DstP  - - - - - - - - - - - - + + + + + + + + + + + +

Public Member Functions

operator() (SrcCo

Additional Inherited Members

- Public Types inherited from deref_base< color_convert_deref_fn< SrcConstRefP, DstP, CC >, DstP, DstP, const DstP &, SrcConstRefP, DstP, false >
-typedef SrcConstRefP argument_type
 
-typedef DstP result_type
 
-typedef color_convert_deref_fn
-< SrcConstRefP, DstP, CC > 
const_t
 
-typedef DstP value_type
 
-typedef DstP reference
 
-typedef const DstP & const_reference
 
+using argument_type = SrcConstRefP
 
+using result_type = DstP
 
+using const_t = color_convert_deref_fn< SrcConstRefP, DstP, CC >
 
+using value_type = DstP
 
+using reference = DstP
 
+using const_reference = const DstP &
 

Detailed Description

template<typename SrcConstRefP, typename DstP, typename CC = default_color_converter>
@@ -123,7 +122,7 @@ class boost::gil::color_convert_deref_fn< SrcConstRefP, DstP, CC >

diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1deref__compose-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1deref__compose-members.html index f589a6774..6e6247b69 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1deref__compose-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1deref__compose-members.html @@ -78,7 +78,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1deref__compose.html b/develop/doc/html/reference/classboost_1_1gil_1_1deref__compose.html index 10a17fe39..1ecac302c 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1deref__compose.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1deref__compose.html @@ -60,7 +60,7 @@
-

Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typedefs from the component types. Models: PixelDereferenceAdaptorConcept. +

Composes two dereference function objects. Similar to std::unary_compose but needs to pull some aliases from the component types. Models: PixelDereferenceAdaptorConcept. More...

#include <utilities.hpp>

@@ -76,32 +76,31 @@ Inheritance diagram for deref_compose< D1, D2 >:
- - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + +

Public Types

-typedef D2::argument_type argument_type
 
-typedef D1::result_type result_type
 
+using argument_type = typename D2::argument_type
 
+using result_type = typename D1::result_type
 
- Public Types inherited from deref_base< deref_compose< D1::const_t, D2::const_t >, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &&D2::is_mutable >
-typedef D2::argument_type argument_type
 
-typedef D1::result_type result_type
 
-typedef deref_compose
-< D1::const_t, D2::const_t > 
const_t
 
-typedef D1::value_type value_type
 
-typedef D1::reference reference
 
-typedef D1::const_reference const_reference
 
+using argument_type = D2::argument_type
 
+using result_type = D1::result_type
 
+using const_t = deref_compose< D1::const_t, D2::const_t >
 
+using value_type = D1::value_type
 
+using reference = D1::reference
 
+using const_reference = D1::const_reference
 
@@ -139,7 +138,7 @@ D2 

template<typename D1, typename D2>
class boost::gil::deref_compose< D1, D2 >

-

Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typedefs from the component types. Models: PixelDereferenceAdaptorConcept.

+

Composes two dereference function objects. Similar to std::unary_compose but needs to pull some aliases from the component types. Models: PixelDereferenceAdaptorConcept.


The documentation for this class was generated from the following file: @@ -149,7 +148,7 @@ class boost::gil::deref_compose< D1, D2 > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1dereference__iterator__adaptor-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1dereference__iterator__adaptor-members.html index 52ad60b27..a828004e4 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1dereference__iterator__adaptor-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1dereference__iterator__adaptor-members.html @@ -83,7 +83,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1dereference__iterator__adaptor.html b/develop/doc/html/reference/classboost_1_1gil_1_1dereference__iterator__adaptor.html index 6b44cd09b..1e7661002 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1dereference__iterator__adaptor.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1dereference__iterator__adaptor.html @@ -69,26 +69,18 @@

Public Member Functions

_fn2
- - - - - - - - + + + + + + + +

Public Types

-typedef iterator_adaptor
-< dereference_iterator_adaptor
-< Iterator, DFn >, Iterator,
-typename DFn::value_type,
-typename std::iterator_traits
-< Iterator >
-::iterator_category, typename
-DFn::reference, use_default > 
parent_t
 
-typedef DFn::result_type reference
 
-typedef std::iterator_traits
-< Iterator >::difference_type 
difference_type
 
-typedef DFn dereference_fn
 
+using parent_t = iterator_adaptor< dereference_iterator_adaptor< Iterator, DFn >, Iterator, typename DFn::value_type, typename std::iterator_traits< Iterator >::iterator_category, typename DFn::reference, use_default >
 
+using reference = typename DFn::result_type
 
+using difference_type = typename std::iterator_traits< Iterator >::difference_type
 
+using dereference_fn = DFn
 
@@ -183,7 +175,7 @@ class boost::gil::dereference_iterator_adaptor< Iterator, DFn > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1derived__image__type-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1derived__image__type-members.html index 6e9209936..cdd9d2641 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1derived__image__type-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1derived__image__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1derived__image__type.html b/develop/doc/html/reference/classboost_1_1gil_1_1derived__image__type.html index 6b661f8d5..df8ca2ab0 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1derived__image__type.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1derived__image__type.html @@ -65,10 +65,9 @@

Public Member Functions

- - + +

Public Types

-typedef image_type< channel_t,
-layout_t, planar >::type 
type
 
+using type = typename image_type< channel_t, layout_t, planar >::type
 

Detailed Description

template<typename Image, typename T = use_default, typename L = use_default, typename IsPlanar = use_default>
@@ -85,7 +84,7 @@ class boost::gil::derived_image_type< Image, T, L, IsPlanar >

diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1derived__iterator__type-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1derived__iterator__type-members.html index 79347a8e5..99ae8c573 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1derived__iterator__type-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1derived__iterator__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1derived__iterator__type.html b/develop/doc/html/reference/classboost_1_1gil_1_1derived__iterator__type.html index 57e02c3a2..529adb80f 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1derived__iterator__type.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1derived__iterator__type.html @@ -65,11 +65,9 @@ - - + +

Public Types

-typedef iterator_type
-< channel_t, layout_t, planar,
-step, mut >::type 
type
 
+using type = typename iterator_type< channel_t, layout_t, planar, step, mut >::type
 

Detailed Description

template<typename Iterator, typename T = use_default, typename L = use_default, typename IsPlanar = use_default, typename IsStep = use_default, typename IsMutable = use_default>
@@ -86,7 +84,7 @@ class boost::gil::derived_iterator_type< Iterator, T, L, IsPlanar, IsStep, Is diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1derived__pixel__reference__type-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1derived__pixel__reference__type-members.html index c0b19f480..aa504a177 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1derived__pixel__reference__type-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1derived__pixel__reference__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1derived__pixel__reference__type.html b/develop/doc/html/reference/classboost_1_1gil_1_1derived__pixel__reference__type.html index 40f368d8b..dde16d771 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1derived__pixel__reference__type.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1derived__pixel__reference__type.html @@ -65,11 +65,9 @@ - - + +

Public Types

-typedef pixel_reference_type
-< channel_t, layout_t, planar,
-mut >::type 
type
 
+using type = typename pixel_reference_type< channel_t, layout_t, planar, mut >::type
 

Detailed Description

template<typename Ref, typename T = use_default, typename L = use_default, typename IsPlanar = use_default, typename IsMutable = use_default>
@@ -86,7 +84,7 @@ class boost::gil::derived_pixel_reference_type< Ref, T, L, IsPlanar, IsMutabl diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1derived__view__type-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1derived__view__type-members.html index 4ab253f89..52593c358 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1derived__view__type-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1derived__view__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1derived__view__type.html b/develop/doc/html/reference/classboost_1_1gil_1_1derived__view__type.html index 8923b3e64..a25b980b9 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1derived__view__type.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1derived__view__type.html @@ -65,11 +65,9 @@ - - + +

Public Types

-typedef view_type< channel_t,
-layout_t, planar, step, mut >
-::type 
type
 
+using type = typename view_type< channel_t, layout_t, planar, step, mut >::type
 

Detailed Description

template<typename View, typename T = use_default, typename L = use_default, typename IsPlanar = use_default, typename StepX = use_default, typename IsMutable = use_default>
@@ -86,7 +84,7 @@ class boost::gil::derived_view_type< View, T, L, IsPlanar, StepX, IsMutable & diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1detail_1_1step__iterator__adaptor-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1detail_1_1step__iterator__adaptor-members.html index 09158b8d3..febb51e66 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1detail_1_1step__iterator__adaptor-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1detail_1_1step__iterator__adaptor-members.html @@ -72,7 +72,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1detail_1_1step__iterator__adaptor.html b/develop/doc/html/reference/classboost_1_1gil_1_1detail_1_1step__iterator__adaptor.html index 1b5ea98f5..e848f3f80 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1detail_1_1step__iterator__adaptor.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1detail_1_1step__iterator__adaptor.html @@ -70,24 +70,18 @@ - - - - - - - - + + + + + + + +

Public Types

-typedef iterator_adaptor
-< Derived, Iterator,
-use_default, use_default,
-use_default, typename
-SFn::difference_type > 
parent_t
 
-typedef std::iterator_traits
-< Iterator >::difference_type 
base_difference_type
 
-typedef SFn::difference_type difference_type
 
-typedef std::iterator_traits
-< Iterator >::reference 
reference
 
+using parent_t = iterator_adaptor< Derived, Iterator, use_default, use_default, use_default, typename SFn::difference_type >
 
+using base_difference_type = typename std::iterator_traits< Iterator >::difference_type
 
+using difference_type = typename SFn::difference_type
 
+using reference = typename std::iterator_traits< Iterator >::reference
 
@@ -125,7 +119,7 @@ class boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >< diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1image-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1image-members.html index cd4b9ec5b..2fadcf997 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1image-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1image-members.html @@ -96,7 +96,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1image.html b/develop/doc/html/reference/classboost_1_1gil_1_1image.html index c0666a3ae..3c338a327 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1image.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1image.html @@ -67,33 +67,30 @@

Public Member Functions

- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +

Public Types

-typedef std::allocator_traits
-< Alloc >::template
-rebind_alloc< unsigned char > 
allocator_type
 
-typedef view_type_from_pixel
-< Pixel, IsPlanar >::type 
view_t
 
-typedef view_t::const_t const_view_t
 
-typedef view_t::point_t point_t
 
-typedef view_t::coord_t coord_t
 
-typedef view_t::value_type value_type
 
-typedef coord_t x_coord_t
 
-typedef coord_t y_coord_t
 
+using allocator_type = typename std::allocator_traits< Alloc >::template rebind_alloc< unsigned char >
 
+using view_t = typename view_type_from_pixel< Pixel, IsPlanar >::type
 
+using const_view_t = typename view_t::const_t
 
+using point_t = typename view_t::point_t
 
+using coord_t = typename view_t::coord_t
 
+using value_type = typename view_t::value_type
 
+using x_coord_t = coord_t
 
+using y_coord_t = coord_t
 
@@ -192,7 +189,7 @@ class boost::gil::image< Pixel, IsPlanar, Alloc > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1image__view-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1image__view-members.html index 41d9599e8..328016ce6 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1image__view-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1image__view-members.html @@ -124,7 +124,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1image__view.html b/develop/doc/html/reference/classboost_1_1gil_1_1image__view.html index c03f78e32..1a8c3e5f9 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1image__view.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1image__view.html @@ -68,63 +68,60 @@

Public Member Functions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

-typedef Loc::value_type value_type
 
-typedef Loc::reference reference
 
-typedef Loc::coord_t coord_t
 
-typedef coord_t difference_type
 
-typedef Loc::point_t point_t
 
-typedef Loc locator
 
-typedef image_view< typename
-Loc::const_t > 
const_t
 
-typedef iterator_from_2d< Loc > iterator
 
-typedef const_t::iterator const_iterator
 
-typedef const_t::reference const_reference
 
-typedef std::iterator_traits
-< iterator >::pointer 
pointer
 
-typedef std::reverse_iterator
-< iterator
reverse_iterator
 
-typedef std::size_t size_type
 
-typedef locator xy_locator
 
-typedef xy_locator::x_iterator x_iterator
 
-typedef xy_locator::y_iterator y_iterator
 
-typedef xy_locator::x_coord_t x_coord_t
 
-typedef xy_locator::y_coord_t y_coord_t
 
+using value_type = typename Loc::value_type
 
+using reference = typename Loc::reference
 
+using coord_t = typename Loc::coord_t
 
+using difference_type = coord_t
 
+using point_t = typename Loc::point_t
 
+using locator = Loc
 
+using const_t = image_view< typename Loc::const_t >
 
+using iterator = iterator_from_2d< Loc >
 
+using const_iterator = typename const_t::iterator
 
+using const_reference = typename const_t::reference
 
+using pointer = typename std::iterator_traits< iterator >::pointer
 
+using reverse_iterator = std::reverse_iterator< iterator >
 
+using size_type = std::size_t
 
+using xy_locator = locator
 
+using x_iterator = typename xy_locator::x_iterator
 
+using y_iterator = typename xy_locator::y_iterator
 
+using x_coord_t = typename xy_locator::x_coord_t
 
+using y_coord_t = typename xy_locator::y_coord_t
 
@@ -413,7 +410,7 @@ class boost::gil::image_view< Loc > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1iterator__from__2d-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1iterator__from__2d-members.html index 86c0ec02e..57637b0f0 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1iterator__from__2d-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1iterator__from__2d-members.html @@ -80,7 +80,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1iterator__from__2d.html b/develop/doc/html/reference/classboost_1_1gil_1_1iterator__from__2d.html index 050fe5cb6..1b1a0d5ff 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1iterator__from__2d.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1iterator__from__2d.html @@ -69,26 +69,21 @@

Public Member Functions

- - - - - - - - - - + + + + + + + + + +

Public Types

-typedef iterator_facade
-< iterator_from_2d< Loc2 >
-, typename Loc2::value_type,
-std::random_access_iterator_tag,
-typename Loc2::reference,
-typename Loc2::coord_t > 
parent_t
 
-typedef parent_t::reference reference
 
-typedef parent_t::difference_type difference_type
 
-typedef Loc2::x_iterator x_iterator
 
-typedef Loc2::point_t point_t
 
+using parent_t = iterator_facade< iterator_from_2d< Loc2 >, typename Loc2::value_type, std::random_access_iterator_tag, typename Loc2::reference, typename Loc2::coord_t >
 
+using reference = typename parent_t::reference
 
+using difference_type = typename parent_t::difference_type
 
+using x_iterator = typename Loc2::x_iterator
 
+using point_t = typename Loc2::point_t
 
@@ -171,7 +166,7 @@ class boost::gil::iterator_from_2d< Loc2 > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__2d__locator-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__2d__locator-members.html index d640afe3e..cc4db5c05 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__2d__locator-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__2d__locator-members.html @@ -62,6 +62,8 @@ + + @@ -78,14 +80,18 @@ - - - + + + + + - - - + + + + + @@ -96,10 +102,14 @@ + + + + @@ -113,7 +123,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__2d__locator.html b/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__2d__locator.html index 1b40660e6..ad9e6ddfb 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__2d__locator.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__2d__locator.html @@ -76,83 +76,67 @@ Inheritance diagram for memory_based_2d_locator< StepIterator >:

Public Member Functions

axis_iterator(const point_t &p) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
cache_location(const difference_type &d) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
cache_location(x_coord_t dx, y_coord_t dy) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
cache_location(const difference_type &d) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
cache_location(x_coord_t dx, y_coord_t dy) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
cached_location_t typedef (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >
const_t typedef (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >
coord_t typedef (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >
num_dimensions (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >static
operator!=(const memory_based_2d_locator< StepIterator > &p) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
operator()(x_coord_t dx, y_coord_t dy) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator*() const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
operator+(const difference_type &d) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
operator+=(const difference_type &d) (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator()(x_coord_t dx, y_coord_t dy) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
operator*() const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
operator+(const difference_type &d) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
operator+=(const difference_type &d) (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator+=(const difference_type &d) (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
operator-(const difference_type &d) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
operator-=(const difference_type &d) (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator==(const this_t &p) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator[](const difference_type &d) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator[](const cached_location_t &loc) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator-=(const difference_type &d) (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
operator==(const this_t &p) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator[](const difference_type &d) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator[](const cached_location_t &loc) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
operator[](const difference_type &d) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
parent_t typedef (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >
pixel_size() const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
point_t typedef (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >
x() (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
x_at(x_coord_t dx, y_coord_t dy) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
x_at(const difference_type &d) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
x_at(x_coord_t dx, y_coord_t dy) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
x_at(const difference_type &d) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
x_coord_t typedef (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >
x_iterator typedef (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >
xy_at(x_coord_t dx, y_coord_t dy) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
xy_at(const difference_type &d) const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
xy_at(x_coord_t dx, y_coord_t dy) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
xy_at(const difference_type &d) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
y() const (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
y() (defined in memory_based_2d_locator< StepIterator >)memory_based_2d_locator< StepIterator >inline
y_at(x_coord_t dx, y_coord_t dy) const (defined in pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >)pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >inline
- - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +

Public Types

-typedef pixel_2d_locator_base
-< memory_based_2d_locator
-< StepIterator >, typename
-iterator_adaptor_get_base
-< StepIterator >::type,
-StepIterator > 
parent_t
 
-typedef
-memory_based_2d_locator
-< typename const_iterator_type
-< StepIterator >::type > 
const_t
 
-typedef parent_t::coord_t coord_t
 
-typedef parent_t::x_coord_t x_coord_t
 
-typedef parent_t::y_coord_t y_coord_t
 
-typedef parent_t::x_iterator x_iterator
 
-typedef parent_t::y_iterator y_iterator
 
-typedef parent_t::difference_type difference_type
 
-typedef parent_t::reference reference
 
-typedef std::ptrdiff_t cached_location_t
 
+using parent_t = pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, typename iterator_adaptor_get_base< StepIterator >::type, StepIterator >
 
+using const_t = memory_based_2d_locator< typename const_iterator_type< StepIterator >::type >
 
+using coord_t = typename parent_t::coord_t
 
+using x_coord_t = typename parent_t::x_coord_t
 
+using y_coord_t = typename parent_t::y_coord_t
 
+using x_iterator = typename parent_t::x_iterator
 
+using y_iterator = typename parent_t::y_iterator
 
+using difference_type = typename parent_t::difference_type
 
+using reference = typename parent_t::reference
 
+using cached_location_t = std::ptrdiff_t
 
- Public Types inherited from pixel_2d_locator_base< memory_based_2d_locator< StepIterator >, iterator_adaptor_get_base< StepIterator >::type, StepIterator >
-typedef
-iterator_adaptor_get_base
-< StepIterator >::type 
x_iterator
 
-typedef StepIterator y_iterator
 
-typedef std::iterator_traits
-< x_iterator >::value_type 
value_type
 
-typedef std::iterator_traits
-< x_iterator >::reference 
reference
 
-typedef std::iterator_traits
-< x_iterator >
-::difference_type 
coord_t
 
-typedef point< coord_t > difference_type
 
-typedef difference_type point_t
 
-typedef point_t::template axis
-< 0 >::coord_t 
x_coord_t
 
-typedef point_t::template axis
-< 1 >::coord_t 
y_coord_t
 
-typedef difference_type cached_location_t
 
+using x_iterator = iterator_adaptor_get_base< StepIterator >::type
 
+using y_iterator = StepIterator
 
+using value_type = typename std::iterator_traits< x_iterator >::value_type
 
+using reference = typename std::iterator_traits< x_iterator >::reference
 
+using coord_t = typename std::iterator_traits< x_iterator >::difference_type
 
+using difference_type = point< coord_t >
 
+using point_t = difference_type
 
+using x_coord_t = typename point_t::template axis< 0 >::coord_t
 
+using y_coord_t = typename point_t::template axis< 1 >::coord_t
 
+using cached_location_t = difference_type
 
@@ -196,28 +180,28 @@ y_iterator &  +x_iterator  +this_t  +reference  +this_t &  +this_t &  +cached_location_t  @@ -334,7 +318,7 @@ class boost::gil::memory_based_2d_locator< StepIterator > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__step__iterator-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__step__iterator-members.html index e0dfceb08..a66481c59 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__step__iterator-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__step__iterator-members.html @@ -79,7 +79,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__step__iterator.html b/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__step__iterator.html index f4c237cb9..2035bf83f 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__step__iterator.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1memory__based__step__iterator.html @@ -75,44 +75,31 @@ Inheritance diagram for memory_based_step_iterator< Iterator >:

Public Member Functions

y ()< x_iterator x_at (x_coord_t dx, y_coord_t dy) const
 
-x_iterator x_at (const difference_type &d) const
x_at (const difference_type &d) const
 
this_t xy_at (x_coord_t dx, y_coord_t dy) const
 
-this_t xy_at (const difference_type &d) const
xy_at (const difference_type &d) const
 
reference operator() (x_coord_t dx, y_coord_t dy) const
 
-reference operator[] (const difference_type &d) const
operator[] (const difference_type &d) const
 
-this_toperator+= (const difference_type &d)
operator+= (const difference_type &d)
 
-this_toperator-= (const difference_type &d)
operator-= (const difference_type &d)
 
-cached_location_t cache_location (const difference_type &d) const
cache_location (const difference_type &d) const
 
cached_location_t cache_location (x_coord_t dx, y_coord_t dy) const
- - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + +

Public Types

-typedef
-detail::step_iterator_adaptor
-< memory_based_step_iterator
-< Iterator >, Iterator,
-memunit_step_fn< Iterator > > 
parent_t
 
-typedef parent_t::reference reference
 
-typedef parent_t::difference_type difference_type
 
-typedef Iterator x_iterator
 
+using parent_t = detail::step_iterator_adaptor< memory_based_step_iterator< Iterator >, Iterator, memunit_step_fn< Iterator >>
 
+using reference = typename parent_t::reference
 
+using difference_type = typename parent_t::difference_type
 
+using x_iterator = Iterator
 
- Public Types inherited from step_iterator_adaptor< memory_based_step_iterator< Iterator >, Iterator, memunit_step_fn< Iterator > >
-typedef iterator_adaptor
-< memory_based_step_iterator
-< Iterator >, Iterator,
-use_default, use_default,
-use_default, typename
-memunit_step_fn< Iterator >
-::difference_type > 
parent_t
 
-typedef std::iterator_traits
-< Iterator >::difference_type 
base_difference_type
 
-typedef memunit_step_fn
-< Iterator >::difference_type 
difference_type
 
-typedef std::iterator_traits
-< Iterator >::reference 
reference
 
+using parent_t = iterator_adaptor< memory_based_step_iterator< Iterator >, Iterator, use_default, use_default, use_default, typename memunit_step_fn< Iterator >::difference_type >
 
+using base_difference_type = typename std::iterator_traits< Iterator >::difference_type
 
+using difference_type = typename memunit_step_fn< Iterator >::difference_type
 
+using reference = typename std::iterator_traits< Iterator >::reference
 
@@ -194,7 +181,7 @@ class boost::gil::memory_based_step_iterator< Iterator > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01false_01_4-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01false_01_4-members.html index 6a9140682..e81358a2c 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01false_01_4-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01false_01_4-members.html @@ -72,7 +72,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01false_01_4.html b/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01false_01_4.html index 50b059c70..d88f0e4fe 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01false_01_4.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01false_01_4.html @@ -69,19 +69,15 @@

Public Member Functions

- - - - - - + + + + + +

Public Types

-typedef const
-packed_dynamic_channel_reference
-< BitField, NumBits, false > 
const_reference
 
-typedef const
-packed_dynamic_channel_reference
-< BitField, NumBits, true > 
mutable_reference
 
-typedef parent_t::integer_t integer_t
 
+using const_reference = packed_dynamic_channel_reference< BitField, NumBits, false > const
 
+using mutable_reference = packed_dynamic_channel_reference< BitField, NumBits, true > const
 
+using integer_t = typename parent_t::integer_t
 
@@ -89,10 +85,10 @@ Public Member Functions   +  +  @@ -121,7 +117,7 @@ class boost::gil::packed_dynamic_channel_reference< BitField, NumBits, false diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01true_01_4-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01true_01_4-members.html index e0ec15269..490f94747 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01true_01_4-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01true_01_4-members.html @@ -76,7 +76,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01true_01_4.html b/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01true_01_4.html index d5db5a901..51c18fe17 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01true_01_4.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1packed__dynamic__channel__reference_3_01_bit_field_00_01_num_bits_00_01true_01_4.html @@ -69,19 +69,15 @@

Public Member Functions

packed_dynamic_channel_reference (const void *data_ptr, unsigned first_bit)
 
packed_dynamic_channel_reference (const const_reference &ref)
packed_dynamic_channel_reference (const const_reference &ref)
 
packed_dynamic_channel_reference (const mutable_reference &ref)
packed_dynamic_channel_reference (const mutable_reference &ref)
 
unsigned first_bit () const
- - - - - - + + + + + +

Public Types

-typedef const
-packed_dynamic_channel_reference
-< BitField, NumBits, false > 
const_reference
 
-typedef const
-packed_dynamic_channel_reference
-< BitField, NumBits, true > 
mutable_reference
 
-typedef parent_t::integer_t integer_t
 
+using const_reference = packed_dynamic_channel_reference< BitField, NumBits, false > const
 
+using mutable_reference = packed_dynamic_channel_reference< BitField, NumBits, true > const
 
+using integer_t = typename parent_t::integer_t
 
@@ -97,11 +93,11 @@ packed_dynamic_channel_reference &  +packed_dynamic_channel_reference &  +packed_dynamic_channel_reference &  @@ -138,7 +134,7 @@ class boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true & diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1pixel__2d__locator__base-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1pixel__2d__locator__base-members.html index e410704da..61b2714ef 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1pixel__2d__locator__base-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1pixel__2d__locator__base-members.html @@ -94,7 +94,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1pixel__2d__locator__base.html b/develop/doc/html/reference/classboost_1_1gil_1_1pixel__2d__locator__base.html index ac008f151..33d125e99 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1pixel__2d__locator__base.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1pixel__2d__locator__base.html @@ -68,42 +68,36 @@

Public Member Functions

 
const
-packed_dynamic_channel_reference & 
operator= (const mutable_reference &ref) const
operator= (const mutable_reference &ref) const
 
const
-packed_dynamic_channel_reference & 
operator= (const const_reference &ref) const
operator= (const const_reference &ref) const
 
template<typename BitField1 , int FirstBit1, bool Mutable1>
- - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +

Public Types

-typedef XIterator x_iterator
 
-typedef YIterator y_iterator
 
-typedef std::iterator_traits
-< x_iterator >::value_type 
value_type
 
-typedef std::iterator_traits
-< x_iterator >::reference 
reference
 
-typedef std::iterator_traits
-< x_iterator >
-::difference_type 
coord_t
 
-typedef point< coord_t > difference_type
 
-typedef difference_type point_t
 
-typedef point_t::template axis
-< 0 >::coord_t 
x_coord_t
 
-typedef point_t::template axis
-< 1 >::coord_t 
y_coord_t
 
-typedef difference_type cached_location_t
 
+using x_iterator = XIterator
 
+using y_iterator = YIterator
 
+using value_type = typename std::iterator_traits< x_iterator >::value_type
 
+using reference = typename std::iterator_traits< x_iterator >::reference
 
+using coord_t = typename std::iterator_traits< x_iterator >::difference_type
 
+using difference_type = point< coord_t >
 
+using point_t = difference_type
 
+using x_coord_t = typename point_t::template axis< 0 >::coord_t
 
+using y_coord_t = typename point_t::template axis< 1 >::coord_t
 
+using cached_location_t = difference_type
 
@@ -192,12 +186,12 @@ class boost::gil::pixel_2d_locator_base< Loc, XIterator, YIterator >
locator[offset2]=my_pixel;

In addition, each coordinate acts as a random-access iterator that can be modified separately: "++locator.x()" or "locator.y()+=10" thereby moving the locator horizontally or vertically.

It is called a locator because it doesn't implement the complete interface of a random access iterator. For example, increment and decrement operations don't make sense (no way to specify dimension). Also 2D difference between two locators cannot be computed without knowledge of the X position within the image.

-

This base class provides most of the methods and typedefs needed to create a model of a locator. GIL provides two locator models as subclasses of pixel_2d_locator_base. A memory-based locator, memory_based_2d_locator and a virtual locator, virtual_2d_locator. The minimum functionality a subclass must provide is this:

+

This base class provides most of the methods and type aliases needed to create a model of a locator. GIL provides two locator models as subclasses of pixel_2d_locator_base. A memory-based locator, memory_based_2d_locator and a virtual locator, virtual_2d_locator. The minimum functionality a subclass must provide is this:

class my_locator : public pixel_2d_locator_base<my_locator, ..., ...> { // supply the types for x-iterator and y-iterator
-
typedef ... const_t; // read-only locator
+
using const_t = ...; // read-only locator
template <typename Deref> struct add_deref {
-
typedef ... type; // locator that invokes the Deref dereference object upon pixel access
+
using type = ...; // locator that invokes the Deref dereference object upon pixel access
static type make(const my_locator& loc, const Deref& d);
};
@@ -233,7 +227,7 @@ class boost::gil::pixel_2d_locator_base< Loc, XIterator, YIterator > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1point-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1point-members.html index 32d94b7fc..64dc135d1 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1point-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1point-members.html @@ -77,7 +77,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1point.html b/develop/doc/html/reference/classboost_1_1gil_1_1point.html index 7b372dae4..85589e482 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1point.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1point.html @@ -133,7 +133,7 @@ class boost::gil::point< T > diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1promote__integral-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1promote__integral-members.html index d8adc6e1e..9f0ac5556 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1promote__integral-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1promote__integral-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1promote__integral.html b/develop/doc/html/reference/classboost_1_1gil_1_1promote__integral.html index 00f7b3b66..d4d575738 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1promote__integral.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1promote__integral.html @@ -65,17 +65,9 @@

Public Member Functions

- - + +

Public Types

-typedef
-detail::promote_integral::promote_to_larger
-< T, typename
-boost::mpl::begin
-< integral_types >::type,
-typename boost::mpl::end
-< integral_types >::type,
-min_bit_size_type::value >
-::type 
type
 
+using type = typename detail::promote_integral::promote_to_larger< T, typename boost::mpl::begin< integral_types >::type, typename boost::mpl::end< integral_types >::type, min_bit_size_type::value >::type
 

Detailed Description

template<typename T, bool PromoteUnsignedToUnsigned = false, bool UseCheckedInteger = false, bool IsIntegral = std::is_integral<T>::type::value>
@@ -97,7 +89,7 @@ class boost::gil::promote_integral< T, PromoteUnsignedToUnsigned, UseCheckedI diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1variant-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1variant-members.html index 224e4144a..6b603ec22 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1variant-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1variant-members.html @@ -85,7 +85,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1variant.html b/develop/doc/html/reference/classboost_1_1gil_1_1variant.html index 3891aed21..62a32b5b7 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1variant.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1variant.html @@ -175,7 +175,7 @@ class boost::gil::variant< Types >

diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1virtual__2d__locator-members.html b/develop/doc/html/reference/classboost_1_1gil_1_1virtual__2d__locator-members.html index 4143955bd..9a3037825 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1virtual__2d__locator-members.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1virtual__2d__locator-members.html @@ -112,7 +112,7 @@ diff --git a/develop/doc/html/reference/classboost_1_1gil_1_1virtual__2d__locator.html b/develop/doc/html/reference/classboost_1_1gil_1_1virtual__2d__locator.html index 44716c359..04756d034 100644 --- a/develop/doc/html/reference/classboost_1_1gil_1_1virtual__2d__locator.html +++ b/develop/doc/html/reference/classboost_1_1gil_1_1virtual__2d__locator.html @@ -76,85 +76,69 @@ Inheritance diagram for virtual_2d_locator< Deref, IsTransposed >:
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +

Public Types

-typedef pixel_2d_locator_base
-< virtual_2d_locator< Deref,
-IsTransposed >
-, position_iterator< Deref,
-IsTransposed >
-, position_iterator< Deref,
-1-IsTransposed > > 
parent_t
 
-typedef virtual_2d_locator
-< typename Deref::const_t,
-IsTransposed > 
const_t
 
-typedef Deref deref_fn_t
 
-typedef parent_t::point_t point_t
 
-typedef parent_t::coord_t coord_t
 
-typedef parent_t::x_coord_t x_coord_t
 
-typedef parent_t::y_coord_t y_coord_t
 
-typedef parent_t::x_iterator x_iterator
 
-typedef parent_t::y_iterator y_iterator
 
+using parent_t = pixel_2d_locator_base< virtual_2d_locator< Deref, IsTransposed >, position_iterator< Deref, IsTransposed >, position_iterator< Deref, 1-IsTransposed >>
 
+using const_t = virtual_2d_locator< typename Deref::const_t, IsTransposed >
 
+using deref_fn_t = Deref
 
+using point_t = typename parent_t::point_t
 
+using coord_t = typename parent_t::coord_t
 
+using x_coord_t = typename parent_t::x_coord_t
 
+using y_coord_t = typename parent_t::y_coord_t
 
+using x_iterator = typename parent_t::x_iterator
 
+using y_iterator = typename parent_t::y_iterator
 
- Public Types inherited from pixel_2d_locator_base< virtual_2d_locator< Deref, IsTransposed >, position_iterator< Deref, IsTransposed >, position_iterator< Deref, 1-IsTransposed > >
-typedef position_iterator
-< Deref, IsTransposed > 
x_iterator
 
-typedef position_iterator
-< Deref, 1-IsTransposed > 
y_iterator
 
-typedef std::iterator_traits
-< x_iterator >::value_type 
value_type
 
-typedef std::iterator_traits
-< x_iterator >::reference 
reference
 
-typedef std::iterator_traits
-< x_iterator >
-::difference_type 
coord_t
 
-typedef point< coord_t > difference_type
 
-typedef difference_type point_t
 
-typedef point_t::template axis
-< 0 >::coord_t 
x_coord_t
 
-typedef point_t::template axis
-< 1 >::coord_t 
y_coord_t
 
-typedef difference_type cached_location_t
 
+using x_iterator = position_iterator< Deref, IsTransposed >
 
+using y_iterator = position_iterator< Deref, 1-IsTransposed >
 
+using value_type = typename std::iterator_traits< x_iterator >::value_type
 
+using reference = typename std::iterator_traits< x_iterator >::reference
 
+using coord_t = typename std::iterator_traits< x_iterator >::difference_type
 
+using difference_type = point< coord_t >
 
+using point_t = difference_type
 
+using x_coord_t = typename point_t::template axis< 0 >::coord_t
 
+using y_coord_t = typename point_t::template axis< 1 >::coord_t
 
+using cached_location_t = difference_type
 
+  @@ -175,16 +159,16 @@ template<typename D , bool TR> bool  +x_iterator &  +y_iterator &  +x_iterator const &  +y_iterator const &  @@ -193,10 +177,10 @@ y_coord_t  +const point_t &  +const point_t &  @@ -294,7 +278,7 @@ class boost::gil::virtual_2d_locator< Deref, IsTransposed > diff --git a/develop/doc/html/reference/classes.html b/develop/doc/html/reference/classes.html index fea299e6f..116c9c745 100644 --- a/develop/doc/html/reference/classes.html +++ b/develop/doc/html/reference/classes.html @@ -148,7 +148,7 @@ diff --git a/develop/doc/html/reference/cmyk_8hpp_source.html b/develop/doc/html/reference/cmyk_8hpp_source.html index 51a4c629b..ce664dcad 100644 --- a/develop/doc/html/reference/cmyk_8hpp_source.html +++ b/develop/doc/html/reference/cmyk_8hpp_source.html @@ -79,20 +79,21 @@
31 
33 struct black_t {};
35 
-
37 typedef mpl::vector4<cyan_t,magenta_t,yellow_t,black_t> cmyk_t;
+
37 using cmyk_t = mpl::vector4<cyan_t,magenta_t,yellow_t,black_t>;
38 
- +
41 
44 template <typename IC>
-
46 planar_cmyk_view(std::size_t width, std::size_t height, IC c, IC m, IC y, IC k, std::ptrdiff_t rowsize_in_bytes) {
-
47  typedef typename type_from_x_iterator<planar_pixel_iterator<IC,cmyk_t> >::view_t RView;
-
48  return RView(width, height, typename RView::locator(planar_pixel_iterator<IC,cmyk_t>(c,m,y,k), rowsize_in_bytes));
-
49 }
-
50 
-
51 } } // namespace gil
-
52 
-
53 #endif
+
46 planar_cmyk_view(std::size_t width, std::size_t height, IC c, IC m, IC y, IC k, std::ptrdiff_t rowsize_in_bytes)
+
47 {
+
48  using view_t = typename type_from_x_iterator<planar_pixel_iterator<IC,cmyk_t> >::view_t;
+
49  return view_t(width, height, typename view_t::locator(planar_pixel_iterator<IC,cmyk_t>(c,m,y,k), rowsize_in_bytes));
+
50 }
+
51 
+
52 } } // namespace gil
+
53 
+
54 #endif
Magenta.
Definition: cmyk.hpp:27
Yellow.
Definition: cmyk.hpp:30
An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept, HomogeneousPixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept.
Definition: algorithm.hpp:34
@@ -107,7 +108,7 @@ diff --git a/develop/doc/html/reference/color__base_8hpp_source.html b/develop/doc/html/reference/color__base_8hpp_source.html index 6b480d03b..b5ed0bbd5 100644 --- a/develop/doc/html/reference/color__base_8hpp_source.html +++ b/develop/doc/html/reference/color__base_8hpp_source.html @@ -113,7 +113,7 @@
66 private:
67  Element _v0;
68 public:
-
69  typedef Layout layout_t;
+
69  using layout_t = Layout;
70  typename element_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) { return _v0; }
71  typename element_const_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) const { return _v0; }
72 
@@ -132,7 +132,7 @@
87 private:
88  Element _v0, _v1;
89 public:
-
90  typedef Layout layout_t;
+
90  using layout_t = Layout;
91  typename element_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) { return _v0; }
92  typename element_const_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) const { return _v0; }
93  typename element_reference_type<homogeneous_color_base>::type at(mpl::int_<1>) { return _v1; }
@@ -176,7 +176,7 @@
133 private:
134  Element _v0, _v1, _v2;
135 public:
-
136  typedef Layout layout_t;
+
136  using layout_t = Layout;
137  typename element_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) { return _v0; }
138  typename element_const_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) const { return _v0; }
139  typename element_reference_type<homogeneous_color_base>::type at(mpl::int_<1>) { return _v1; }
@@ -230,7 +230,7 @@
189 private:
190  Element _v0, _v1, _v2, _v3;
191 public:
-
192  typedef Layout layout_t;
+
192  using layout_t = Layout;
193  typename element_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) { return _v0; }
194  typename element_const_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) const { return _v0; }
195  typename element_reference_type<homogeneous_color_base>::type at(mpl::int_<1>) { return _v1; }
@@ -292,7 +292,7 @@
253 private:
254  Element _v0, _v1, _v2, _v3, _v4;
255 public:
-
256  typedef Layout layout_t;
+
256  using layout_t = Layout;
257  typename element_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) { return _v0; }
258  typename element_const_reference_type<homogeneous_color_base>::type at(mpl::int_<0>) const { return _v0; }
259  typename element_reference_type<homogeneous_color_base>::type at(mpl::int_<1>) { return _v1; }
@@ -404,7 +404,7 @@
365 
366 template <typename Element, typename Layout, int K1, int K>
367 struct kth_element_type<detail::homogeneous_color_base<Element,Layout,K1>, K> {
-
368  typedef Element type;
+
368  using type = Element;
369 };
370 
371 template <typename Element, typename Layout, int K1, int K>
@@ -438,8 +438,8 @@
403 } } // namespace boost::gil
404 
405 #endif
-
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:480
-
kth_semantic_element_const_reference_type< ColorBase, K >::type semantic_at_c(const ColorBase &p)
A constant accessor to the K-th semantic element of a color base.
Definition: color_base_algorithm.hpp:114
+
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:481
+
kth_semantic_element_const_reference_type< ColorBase, K >::type semantic_at_c(const ColorBase &p)
A constant accessor to the K-th semantic element of a color base.
Definition: color_base_algorithm.hpp:115
Specifies the return type of the constant element accessor at_c of a homogeneous color base...
Definition: color_base.hpp:36
Specifies the return type of the mutable element accessor at_c of a homogeneous color base...
Definition: color_base.hpp:35
add_reference< typename add_const< E >::type >::type at_c(const detail::homogeneous_color_base< E, L, N > &p)
Provides constant access to the K-th element, in physical order.
Definition: color_base.hpp:387
@@ -449,7 +449,7 @@ diff --git a/develop/doc/html/reference/color__base__algorithm_8hpp_source.html b/develop/doc/html/reference/color__base__algorithm_8hpp_source.html index c7ce6e193..072ad2c5f 100644 --- a/develop/doc/html/reference/color__base__algorithm_8hpp_source.html +++ b/develop/doc/html/reference/color__base__algorithm_8hpp_source.html @@ -81,430 +81,431 @@
52 
79 template <typename ColorBase, int K> struct kth_semantic_element_type {
82  BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c<typename ColorBase::layout_t::channel_mapping_t,K>::type::value));
-
83  typedef typename kth_element_type<ColorBase, semantic_index>::type type;
+
83  using type = typename kth_element_type<ColorBase, semantic_index>::type;
84 };
85 
88 template <typename ColorBase, int K> struct kth_semantic_element_reference_type {
89  BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c<typename ColorBase::layout_t::channel_mapping_t,K>::type::value));
-
90  typedef typename kth_element_reference_type<ColorBase,semantic_index>::type type;
+
90  using type = typename kth_element_reference_type<ColorBase,semantic_index>::type;
91  static type get(ColorBase& cb) { return gil::at_c<semantic_index>(cb); }
92 };
93 
-
96 template <typename ColorBase, int K> struct kth_semantic_element_const_reference_type {
-
97  BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c<typename ColorBase::layout_t::channel_mapping_t,K>::type::value));
-
98  typedef typename kth_element_const_reference_type<ColorBase,semantic_index>::type type;
-
99  static type get(const ColorBase& cb) { return gil::at_c<semantic_index>(cb); }
-
100 };
-
101 
-
104 template <int K, typename ColorBase> inline
-
105 typename disable_if<is_const<ColorBase>,typename kth_semantic_element_reference_type<ColorBase,K>::type>::type
-
106 semantic_at_c(ColorBase& p) {
- -
108 }
-
109 
-
112 template <int K, typename ColorBase> inline
-
113 typename kth_semantic_element_const_reference_type<ColorBase,K>::type
-
114 semantic_at_c(const ColorBase& p) {
- -
116 }
-
117 
-
123 
-
143 template <typename ColorBase, typename Color>
-
146 struct contains_color : public mpl::contains<typename ColorBase::layout_t::color_space_t,Color> {};
-
147 
-
148 template <typename ColorBase, typename Color>
-
149 struct color_index_type : public detail::type_to_index<typename ColorBase::layout_t::color_space_t,Color> {};
-
150 
-
153 template <typename ColorBase, typename Color>
-
154 struct color_element_type : public kth_semantic_element_type<ColorBase,color_index_type<ColorBase,Color>::value> {};
-
155 
-
158 template <typename ColorBase, typename Color>
-
159 struct color_element_reference_type : public kth_semantic_element_reference_type<ColorBase,color_index_type<ColorBase,Color>::value> {};
-
160 
-
163 template <typename ColorBase, typename Color>
-
164 struct color_element_const_reference_type : public kth_semantic_element_const_reference_type<ColorBase,color_index_type<ColorBase,Color>::value> {};
-
165 
-
168 template <typename ColorBase, typename Color>
-
169 typename color_element_reference_type<ColorBase,Color>::type get_color(ColorBase& cb, Color=Color()) {
- -
171 }
-
172 
-
175 template <typename ColorBase, typename Color>
-
176 typename color_element_const_reference_type<ColorBase,Color>::type get_color(const ColorBase& cb, Color=Color()) {
- -
178 }
-
179 
-
185 
-
197 template <typename ColorBase>
-
200 struct element_type : public kth_element_type<ColorBase, 0> {};
-
201 
-
204 template <typename ColorBase>
-
205 struct element_reference_type : public kth_element_reference_type<ColorBase, 0> {};
-
206 
-
209 template <typename ColorBase>
-
210 struct element_const_reference_type : public kth_element_const_reference_type<ColorBase, 0> {};
-
211 
+
96 template <typename ColorBase, int K> struct kth_semantic_element_const_reference_type
+
97 {
+
98  BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c<typename ColorBase::layout_t::channel_mapping_t,K>::type::value));
+
99  using type = typename kth_element_const_reference_type<ColorBase,semantic_index>::type;
+
100  static type get(const ColorBase& cb) { return gil::at_c<semantic_index>(cb); }
+
101 };
+
102 
+
105 template <int K, typename ColorBase> inline
+
106 typename disable_if<is_const<ColorBase>,typename kth_semantic_element_reference_type<ColorBase,K>::type>::type
+
107 semantic_at_c(ColorBase& p) {
+ +
109 }
+
110 
+
113 template <int K, typename ColorBase> inline
+
114 typename kth_semantic_element_const_reference_type<ColorBase,K>::type
+
115 semantic_at_c(const ColorBase& p) {
+ +
117 }
+
118 
+
124 
+
144 template <typename ColorBase, typename Color>
+
147 struct contains_color : public mpl::contains<typename ColorBase::layout_t::color_space_t,Color> {};
+
148 
+
149 template <typename ColorBase, typename Color>
+
150 struct color_index_type : public detail::type_to_index<typename ColorBase::layout_t::color_space_t,Color> {};
+
151 
+
154 template <typename ColorBase, typename Color>
+
155 struct color_element_type : public kth_semantic_element_type<ColorBase,color_index_type<ColorBase,Color>::value> {};
+
156 
+
159 template <typename ColorBase, typename Color>
+
160 struct color_element_reference_type : public kth_semantic_element_reference_type<ColorBase,color_index_type<ColorBase,Color>::value> {};
+
161 
+
164 template <typename ColorBase, typename Color>
+
165 struct color_element_const_reference_type : public kth_semantic_element_const_reference_type<ColorBase,color_index_type<ColorBase,Color>::value> {};
+
166 
+
169 template <typename ColorBase, typename Color>
+
170 typename color_element_reference_type<ColorBase,Color>::type get_color(ColorBase& cb, Color=Color()) {
+ +
172 }
+
173 
+
176 template <typename ColorBase, typename Color>
+
177 typename color_element_const_reference_type<ColorBase,Color>::type get_color(const ColorBase& cb, Color=Color()) {
+ +
179 }
+
180 
+
186 
+
198 template <typename ColorBase>
+
201 struct element_type : public kth_element_type<ColorBase, 0> {};
+
202 
+
205 template <typename ColorBase>
+
206 struct element_reference_type : public kth_element_reference_type<ColorBase, 0> {};
+
207 
+
210 template <typename ColorBase>
+
211 struct element_const_reference_type : public kth_element_const_reference_type<ColorBase, 0> {};
212 
-
213 namespace detail {
-
214 
-
215 // compile-time recursion for per-element operations on color bases
-
216 template <int N>
-
217 struct element_recursion
-
218 {
-
219 
-
220 #if defined(BOOST_GCC)
-
221 #pragma GCC diagnostic push
-
222 #pragma GCC diagnostic ignored "-Wconversion"
-
223 #pragma GCC diagnostic ignored "-Wfloat-equal"
-
224 #endif
-
225  template <typename P1,typename P2>
-
226  static bool static_equal(const P1& p1, const P2& p2)
-
227  {
-
228  return element_recursion<N-1>::static_equal(p1,p2) &&
-
229  semantic_at_c<N-1>(p1)==semantic_at_c<N-1>(p2);
-
230  }
-
231 
-
232  template <typename P1,typename P2>
-
233  static void static_copy(const P1& p1, P2& p2)
-
234  {
-
235  element_recursion<N-1>::static_copy(p1,p2);
-
236  semantic_at_c<N-1>(p2)=semantic_at_c<N-1>(p1);
-
237  }
-
238 
-
239  template <typename P,typename T2>
-
240  static void static_fill(P& p, T2 v)
-
241  {
-
242  element_recursion<N-1>::static_fill(p,v);
-
243  semantic_at_c<N-1>(p)=v;
-
244  }
-
245 
-
246  template <typename Dst,typename Op>
-
247  static void static_generate(Dst& dst, Op op)
-
248  {
-
249  element_recursion<N-1>::static_generate(dst,op);
-
250  semantic_at_c<N-1>(dst)=op();
-
251  }
-
252 #if defined(BOOST_GCC)
-
253 #pragma GCC diagnostic pop
-
254 #endif
-
255 
-
256  //static_for_each with one source
-
257  template <typename P1,typename Op>
-
258  static Op static_for_each(P1& p1, Op op) {
-
259  Op op2(element_recursion<N-1>::static_for_each(p1,op));
-
260  op2(semantic_at_c<N-1>(p1));
-
261  return op2;
-
262  }
-
263  template <typename P1,typename Op>
-
264  static Op static_for_each(const P1& p1, Op op) {
-
265  Op op2(element_recursion<N-1>::static_for_each(p1,op));
-
266  op2(semantic_at_c<N-1>(p1));
-
267  return op2;
-
268  }
-
269  //static_for_each with two sources
-
270  template <typename P1,typename P2,typename Op>
-
271  static Op static_for_each(P1& p1, P2& p2, Op op) {
-
272  Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
-
273  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
-
274  return op2;
-
275  }
-
276  template <typename P1,typename P2,typename Op>
-
277  static Op static_for_each(P1& p1, const P2& p2, Op op) {
-
278  Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
-
279  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
-
280  return op2;
-
281  }
-
282  template <typename P1,typename P2,typename Op>
-
283  static Op static_for_each(const P1& p1, P2& p2, Op op) {
-
284  Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
-
285  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
-
286  return op2;
-
287  }
-
288  template <typename P1,typename P2,typename Op>
-
289  static Op static_for_each(const P1& p1, const P2& p2, Op op) {
-
290  Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
-
291  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
-
292  return op2;
-
293  }
-
294  //static_for_each with three sources
-
295  template <typename P1,typename P2,typename P3,typename Op>
-
296  static Op static_for_each(P1& p1, P2& p2, P3& p3, Op op) {
-
297  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
-
298  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
-
299  return op2;
-
300  }
-
301  template <typename P1,typename P2,typename P3,typename Op>
-
302  static Op static_for_each(P1& p1, P2& p2, const P3& p3, Op op) {
-
303  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
-
304  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
-
305  return op2;
-
306  }
-
307  template <typename P1,typename P2,typename P3,typename Op>
-
308  static Op static_for_each(P1& p1, const P2& p2, P3& p3, Op op) {
-
309  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
-
310  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
-
311  return op2;
-
312  }
-
313  template <typename P1,typename P2,typename P3,typename Op>
-
314  static Op static_for_each(P1& p1, const P2& p2, const P3& p3, Op op) {
-
315  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
-
316  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
-
317  return op2;
-
318  }
-
319  template <typename P1,typename P2,typename P3,typename Op>
-
320  static Op static_for_each(const P1& p1, P2& p2, P3& p3, Op op) {
-
321  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
-
322  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
-
323  return op2;
-
324  }
-
325  template <typename P1,typename P2,typename P3,typename Op>
-
326  static Op static_for_each(const P1& p1, P2& p2, const P3& p3, Op op) {
-
327  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
-
328  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
-
329  return op2;
-
330  }
-
331  template <typename P1,typename P2,typename P3,typename Op>
-
332  static Op static_for_each(const P1& p1, const P2& p2, P3& p3, Op op) {
-
333  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
-
334  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
-
335  return op2;
-
336  }
-
337  template <typename P1,typename P2,typename P3,typename Op>
-
338  static Op static_for_each(const P1& p1, const P2& p2, const P3& p3, Op op) {
-
339  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
-
340  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
-
341  return op2;
-
342  }
-
343  //static_transform with one source
-
344  template <typename P1,typename Dst,typename Op>
-
345  static Op static_transform(P1& src, Dst& dst, Op op) {
-
346  Op op2(element_recursion<N-1>::static_transform(src,dst,op));
-
347  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src));
-
348  return op2;
-
349  }
-
350  template <typename P1,typename Dst,typename Op>
-
351  static Op static_transform(const P1& src, Dst& dst, Op op) {
-
352  Op op2(element_recursion<N-1>::static_transform(src,dst,op));
-
353  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src));
-
354  return op2;
-
355  }
-
356  //static_transform with two sources
-
357  template <typename P1,typename P2,typename Dst,typename Op>
-
358  static Op static_transform(P1& src1, P2& src2, Dst& dst, Op op) {
-
359  Op op2(element_recursion<N-1>::static_transform(src1,src2,dst,op));
-
360  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src1), semantic_at_c<N-1>(src2));
-
361  return op2;
-
362  }
-
363  template <typename P1,typename P2,typename Dst,typename Op>
-
364  static Op static_transform(P1& src1, const P2& src2, Dst& dst, Op op) {
-
365  Op op2(element_recursion<N-1>::static_transform(src1,src2,dst,op));
-
366  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src1), semantic_at_c<N-1>(src2));
-
367  return op2;
-
368  }
-
369  template <typename P1,typename P2,typename Dst,typename Op>
-
370  static Op static_transform(const P1& src1, P2& src2, Dst& dst, Op op) {
-
371  Op op2(element_recursion<N-1>::static_transform(src1,src2,dst,op));
-
372  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src1), semantic_at_c<N-1>(src2));
-
373  return op2;
-
374  }
-
375  template <typename P1,typename P2,typename Dst,typename Op>
-
376  static Op static_transform(const P1& src1, const P2& src2, Dst& dst, Op op) {
-
377  Op op2(element_recursion<N-1>::static_transform(src1,src2,dst,op));
-
378  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src1), semantic_at_c<N-1>(src2));
-
379  return op2;
-
380  }
-
381 };
-
382 
-
383 // Termination condition of the compile-time recursion for element operations on a color base
-
384 template<> struct element_recursion<0> {
-
385  //static_equal
-
386  template <typename P1,typename P2>
-
387  static bool static_equal(const P1&, const P2&) { return true; }
-
388  //static_copy
-
389  template <typename P1,typename P2>
-
390  static void static_copy(const P1&, const P2&) {}
-
391  //static_fill
-
392  template <typename P, typename T2>
-
393  static void static_fill(const P&, T2) {}
-
394  //static_generate
-
395  template <typename Dst,typename Op>
-
396  static void static_generate(const Dst&,Op){}
-
397  //static_for_each with one source
-
398  template <typename P1,typename Op>
-
399  static Op static_for_each(const P1&,Op op){return op;}
-
400  //static_for_each with two sources
-
401  template <typename P1,typename P2,typename Op>
-
402  static Op static_for_each(const P1&,const P2&,Op op){return op;}
-
403  //static_for_each with three sources
-
404  template <typename P1,typename P2,typename P3,typename Op>
-
405  static Op static_for_each(const P1&,const P2&,const P3&,Op op){return op;}
-
406  //static_transform with one source
-
407  template <typename P1,typename Dst,typename Op>
-
408  static Op static_transform(const P1&,const Dst&,Op op){return op;}
-
409  //static_transform with two sources
-
410  template <typename P1,typename P2,typename Dst,typename Op>
-
411  static Op static_transform(const P1&,const P2&,const Dst&,Op op){return op;}
-
412 };
-
413 
-
414 // std::min and std::max don't have the mutable overloads...
-
415 template <typename Q> inline const Q& mutable_min(const Q& x, const Q& y) { return x<y ? x : y; }
-
416 template <typename Q> inline Q& mutable_min( Q& x, Q& y) { return x<y ? x : y; }
-
417 template <typename Q> inline const Q& mutable_max(const Q& x, const Q& y) { return x<y ? y : x; }
-
418 template <typename Q> inline Q& mutable_max( Q& x, Q& y) { return x<y ? y : x; }
-
419 
+
213 
+
214 namespace detail {
+
215 
+
216 // compile-time recursion for per-element operations on color bases
+
217 template <int N>
+
218 struct element_recursion
+
219 {
+
220 
+
221 #if defined(BOOST_GCC)
+
222 #pragma GCC diagnostic push
+
223 #pragma GCC diagnostic ignored "-Wconversion"
+
224 #pragma GCC diagnostic ignored "-Wfloat-equal"
+
225 #endif
+
226  template <typename P1,typename P2>
+
227  static bool static_equal(const P1& p1, const P2& p2)
+
228  {
+
229  return element_recursion<N-1>::static_equal(p1,p2) &&
+
230  semantic_at_c<N-1>(p1)==semantic_at_c<N-1>(p2);
+
231  }
+
232 
+
233  template <typename P1,typename P2>
+
234  static void static_copy(const P1& p1, P2& p2)
+
235  {
+
236  element_recursion<N-1>::static_copy(p1,p2);
+
237  semantic_at_c<N-1>(p2)=semantic_at_c<N-1>(p1);
+
238  }
+
239 
+
240  template <typename P,typename T2>
+
241  static void static_fill(P& p, T2 v)
+
242  {
+
243  element_recursion<N-1>::static_fill(p,v);
+
244  semantic_at_c<N-1>(p)=v;
+
245  }
+
246 
+
247  template <typename Dst,typename Op>
+
248  static void static_generate(Dst& dst, Op op)
+
249  {
+
250  element_recursion<N-1>::static_generate(dst,op);
+
251  semantic_at_c<N-1>(dst)=op();
+
252  }
+
253 #if defined(BOOST_GCC)
+
254 #pragma GCC diagnostic pop
+
255 #endif
+
256 
+
257  //static_for_each with one source
+
258  template <typename P1,typename Op>
+
259  static Op static_for_each(P1& p1, Op op) {
+
260  Op op2(element_recursion<N-1>::static_for_each(p1,op));
+
261  op2(semantic_at_c<N-1>(p1));
+
262  return op2;
+
263  }
+
264  template <typename P1,typename Op>
+
265  static Op static_for_each(const P1& p1, Op op) {
+
266  Op op2(element_recursion<N-1>::static_for_each(p1,op));
+
267  op2(semantic_at_c<N-1>(p1));
+
268  return op2;
+
269  }
+
270  //static_for_each with two sources
+
271  template <typename P1,typename P2,typename Op>
+
272  static Op static_for_each(P1& p1, P2& p2, Op op) {
+
273  Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
+
274  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
+
275  return op2;
+
276  }
+
277  template <typename P1,typename P2,typename Op>
+
278  static Op static_for_each(P1& p1, const P2& p2, Op op) {
+
279  Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
+
280  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
+
281  return op2;
+
282  }
+
283  template <typename P1,typename P2,typename Op>
+
284  static Op static_for_each(const P1& p1, P2& p2, Op op) {
+
285  Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
+
286  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
+
287  return op2;
+
288  }
+
289  template <typename P1,typename P2,typename Op>
+
290  static Op static_for_each(const P1& p1, const P2& p2, Op op) {
+
291  Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
+
292  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
+
293  return op2;
+
294  }
+
295  //static_for_each with three sources
+
296  template <typename P1,typename P2,typename P3,typename Op>
+
297  static Op static_for_each(P1& p1, P2& p2, P3& p3, Op op) {
+
298  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
+
299  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
+
300  return op2;
+
301  }
+
302  template <typename P1,typename P2,typename P3,typename Op>
+
303  static Op static_for_each(P1& p1, P2& p2, const P3& p3, Op op) {
+
304  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
+
305  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
+
306  return op2;
+
307  }
+
308  template <typename P1,typename P2,typename P3,typename Op>
+
309  static Op static_for_each(P1& p1, const P2& p2, P3& p3, Op op) {
+
310  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
+
311  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
+
312  return op2;
+
313  }
+
314  template <typename P1,typename P2,typename P3,typename Op>
+
315  static Op static_for_each(P1& p1, const P2& p2, const P3& p3, Op op) {
+
316  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
+
317  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
+
318  return op2;
+
319  }
+
320  template <typename P1,typename P2,typename P3,typename Op>
+
321  static Op static_for_each(const P1& p1, P2& p2, P3& p3, Op op) {
+
322  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
+
323  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
+
324  return op2;
+
325  }
+
326  template <typename P1,typename P2,typename P3,typename Op>
+
327  static Op static_for_each(const P1& p1, P2& p2, const P3& p3, Op op) {
+
328  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
+
329  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
+
330  return op2;
+
331  }
+
332  template <typename P1,typename P2,typename P3,typename Op>
+
333  static Op static_for_each(const P1& p1, const P2& p2, P3& p3, Op op) {
+
334  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
+
335  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
+
336  return op2;
+
337  }
+
338  template <typename P1,typename P2,typename P3,typename Op>
+
339  static Op static_for_each(const P1& p1, const P2& p2, const P3& p3, Op op) {
+
340  Op op2(element_recursion<N-1>::static_for_each(p1,p2,p3,op));
+
341  op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2), semantic_at_c<N-1>(p3));
+
342  return op2;
+
343  }
+
344  //static_transform with one source
+
345  template <typename P1,typename Dst,typename Op>
+
346  static Op static_transform(P1& src, Dst& dst, Op op) {
+
347  Op op2(element_recursion<N-1>::static_transform(src,dst,op));
+
348  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src));
+
349  return op2;
+
350  }
+
351  template <typename P1,typename Dst,typename Op>
+
352  static Op static_transform(const P1& src, Dst& dst, Op op) {
+
353  Op op2(element_recursion<N-1>::static_transform(src,dst,op));
+
354  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src));
+
355  return op2;
+
356  }
+
357  //static_transform with two sources
+
358  template <typename P1,typename P2,typename Dst,typename Op>
+
359  static Op static_transform(P1& src1, P2& src2, Dst& dst, Op op) {
+
360  Op op2(element_recursion<N-1>::static_transform(src1,src2,dst,op));
+
361  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src1), semantic_at_c<N-1>(src2));
+
362  return op2;
+
363  }
+
364  template <typename P1,typename P2,typename Dst,typename Op>
+
365  static Op static_transform(P1& src1, const P2& src2, Dst& dst, Op op) {
+
366  Op op2(element_recursion<N-1>::static_transform(src1,src2,dst,op));
+
367  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src1), semantic_at_c<N-1>(src2));
+
368  return op2;
+
369  }
+
370  template <typename P1,typename P2,typename Dst,typename Op>
+
371  static Op static_transform(const P1& src1, P2& src2, Dst& dst, Op op) {
+
372  Op op2(element_recursion<N-1>::static_transform(src1,src2,dst,op));
+
373  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src1), semantic_at_c<N-1>(src2));
+
374  return op2;
+
375  }
+
376  template <typename P1,typename P2,typename Dst,typename Op>
+
377  static Op static_transform(const P1& src1, const P2& src2, Dst& dst, Op op) {
+
378  Op op2(element_recursion<N-1>::static_transform(src1,src2,dst,op));
+
379  semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src1), semantic_at_c<N-1>(src2));
+
380  return op2;
+
381  }
+
382 };
+
383 
+
384 // Termination condition of the compile-time recursion for element operations on a color base
+
385 template<> struct element_recursion<0> {
+
386  //static_equal
+
387  template <typename P1,typename P2>
+
388  static bool static_equal(const P1&, const P2&) { return true; }
+
389  //static_copy
+
390  template <typename P1,typename P2>
+
391  static void static_copy(const P1&, const P2&) {}
+
392  //static_fill
+
393  template <typename P, typename T2>
+
394  static void static_fill(const P&, T2) {}
+
395  //static_generate
+
396  template <typename Dst,typename Op>
+
397  static void static_generate(const Dst&,Op){}
+
398  //static_for_each with one source
+
399  template <typename P1,typename Op>
+
400  static Op static_for_each(const P1&,Op op){return op;}
+
401  //static_for_each with two sources
+
402  template <typename P1,typename P2,typename Op>
+
403  static Op static_for_each(const P1&,const P2&,Op op){return op;}
+
404  //static_for_each with three sources
+
405  template <typename P1,typename P2,typename P3,typename Op>
+
406  static Op static_for_each(const P1&,const P2&,const P3&,Op op){return op;}
+
407  //static_transform with one source
+
408  template <typename P1,typename Dst,typename Op>
+
409  static Op static_transform(const P1&,const Dst&,Op op){return op;}
+
410  //static_transform with two sources
+
411  template <typename P1,typename P2,typename Dst,typename Op>
+
412  static Op static_transform(const P1&,const P2&,const Dst&,Op op){return op;}
+
413 };
+
414 
+
415 // std::min and std::max don't have the mutable overloads...
+
416 template <typename Q> inline const Q& mutable_min(const Q& x, const Q& y) { return x<y ? x : y; }
+
417 template <typename Q> inline Q& mutable_min( Q& x, Q& y) { return x<y ? x : y; }
+
418 template <typename Q> inline const Q& mutable_max(const Q& x, const Q& y) { return x<y ? y : x; }
+
419 template <typename Q> inline Q& mutable_max( Q& x, Q& y) { return x<y ? y : x; }
420 
-
421 // compile-time recursion for min/max element
-
422 template <int N>
-
423 struct min_max_recur {
-
424  template <typename P> static typename element_const_reference_type<P>::type max_(const P& p) {
-
425  return mutable_max(min_max_recur<N-1>::max_(p),semantic_at_c<N-1>(p));
-
426  }
-
427  template <typename P> static typename element_reference_type<P>::type max_( P& p) {
-
428  return mutable_max(min_max_recur<N-1>::max_(p),semantic_at_c<N-1>(p));
-
429  }
-
430  template <typename P> static typename element_const_reference_type<P>::type min_(const P& p) {
-
431  return mutable_min(min_max_recur<N-1>::min_(p),semantic_at_c<N-1>(p));
-
432  }
-
433  template <typename P> static typename element_reference_type<P>::type min_( P& p) {
-
434  return mutable_min(min_max_recur<N-1>::min_(p),semantic_at_c<N-1>(p));
-
435  }
-
436 };
-
437 
-
438 // termination condition of the compile-time recursion for min/max element
-
439 template <>
-
440 struct min_max_recur<1> {
-
441  template <typename P> static typename element_const_reference_type<P>::type max_(const P& p) { return semantic_at_c<0>(p); }
-
442  template <typename P> static typename element_reference_type<P>::type max_( P& p) { return semantic_at_c<0>(p); }
-
443  template <typename P> static typename element_const_reference_type<P>::type min_(const P& p) { return semantic_at_c<0>(p); }
-
444  template <typename P> static typename element_reference_type<P>::type min_( P& p) { return semantic_at_c<0>(p); }
-
445 };
-
446 } // namespace detail
-
447 
+
421 
+
422 // compile-time recursion for min/max element
+
423 template <int N>
+
424 struct min_max_recur {
+
425  template <typename P> static typename element_const_reference_type<P>::type max_(const P& p) {
+
426  return mutable_max(min_max_recur<N-1>::max_(p),semantic_at_c<N-1>(p));
+
427  }
+
428  template <typename P> static typename element_reference_type<P>::type max_( P& p) {
+
429  return mutable_max(min_max_recur<N-1>::max_(p),semantic_at_c<N-1>(p));
+
430  }
+
431  template <typename P> static typename element_const_reference_type<P>::type min_(const P& p) {
+
432  return mutable_min(min_max_recur<N-1>::min_(p),semantic_at_c<N-1>(p));
+
433  }
+
434  template <typename P> static typename element_reference_type<P>::type min_( P& p) {
+
435  return mutable_min(min_max_recur<N-1>::min_(p),semantic_at_c<N-1>(p));
+
436  }
+
437 };
+
438 
+
439 // termination condition of the compile-time recursion for min/max element
+
440 template <>
+
441 struct min_max_recur<1> {
+
442  template <typename P> static typename element_const_reference_type<P>::type max_(const P& p) { return semantic_at_c<0>(p); }
+
443  template <typename P> static typename element_reference_type<P>::type max_( P& p) { return semantic_at_c<0>(p); }
+
444  template <typename P> static typename element_const_reference_type<P>::type min_(const P& p) { return semantic_at_c<0>(p); }
+
445  template <typename P> static typename element_reference_type<P>::type min_( P& p) { return semantic_at_c<0>(p); }
+
446 };
+
447 } // namespace detail
448 
-
464 template <typename P>
-
465 BOOST_FORCEINLINE
-
466 typename element_const_reference_type<P>::type static_max(const P& p) { return detail::min_max_recur<size<P>::value>::max_(p); }
-
467 
-
468 template <typename P>
-
469 BOOST_FORCEINLINE
-
470 typename element_reference_type<P>::type static_max( P& p) { return detail::min_max_recur<size<P>::value>::max_(p); }
-
471 
-
472 template <typename P>
-
473 BOOST_FORCEINLINE
-
474 typename element_const_reference_type<P>::type static_min(const P& p) { return detail::min_max_recur<size<P>::value>::min_(p); }
-
475 
-
476 template <typename P>
-
477 BOOST_FORCEINLINE
-
478 typename element_reference_type<P>::type static_min( P& p) { return detail::min_max_recur<size<P>::value>::min_(p); }
-
480 
-
498 template <typename P1,typename P2>
-
499 BOOST_FORCEINLINE
-
500 bool static_equal(const P1& p1, const P2& p2) { return detail::element_recursion<size<P1>::value>::static_equal(p1,p2); }
-
501 
-
503 
-
521 template <typename Src,typename Dst>
-
522 BOOST_FORCEINLINE
-
523 void static_copy(const Src& src, Dst& dst) { detail::element_recursion<size<Dst>::value>::static_copy(src,dst); }
-
524 
-
526 
-
540 template <typename P,typename V>
-
541 BOOST_FORCEINLINE
-
542 void static_fill(P& p, const V& v) { detail::element_recursion<size<P>::value>::static_fill(p,v); }
-
544 
-
566 template <typename P1,typename Op>
-
567 BOOST_FORCEINLINE
-
568 void static_generate(P1& dst,Op op) { detail::element_recursion<size<P1>::value>::static_generate(dst,op); }
-
570 
-
599 //static_transform with one source
-
600 template <typename Src,typename Dst,typename Op>
-
601 BOOST_FORCEINLINE
-
602 Op static_transform(Src& src,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(src,dst,op); }
-
603 template <typename Src,typename Dst,typename Op>
-
604 BOOST_FORCEINLINE
-
605 Op static_transform(const Src& src,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(src,dst,op); }
-
606 //static_transform with two sources
-
607 template <typename P2,typename P3,typename Dst,typename Op>
-
608 BOOST_FORCEINLINE
-
609 Op static_transform(P2& p2,P3& p3,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(p2,p3,dst,op); }
-
610 template <typename P2,typename P3,typename Dst,typename Op>
-
611 BOOST_FORCEINLINE
-
612 Op static_transform(P2& p2,const P3& p3,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(p2,p3,dst,op); }
-
613 template <typename P2,typename P3,typename Dst,typename Op>
-
614 BOOST_FORCEINLINE
-
615 Op static_transform(const P2& p2,P3& p3,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(p2,p3,dst,op); }
-
616 template <typename P2,typename P3,typename Dst,typename Op>
-
617 BOOST_FORCEINLINE
-
618 Op static_transform(const P2& p2,const P3& p3,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(p2,p3,dst,op); }
-
620 
-
648 //static_for_each with one source
-
649 template <typename P1,typename Op>
-
650 BOOST_FORCEINLINE
-
651 Op static_for_each( P1& p1, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,op); }
-
652 template <typename P1,typename Op>
-
653 BOOST_FORCEINLINE
-
654 Op static_for_each(const P1& p1, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,op); }
-
655 //static_for_each with two sources
-
656 template <typename P1,typename P2,typename Op>
-
657 BOOST_FORCEINLINE
-
658 Op static_for_each(P1& p1, P2& p2, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,op); }
-
659 template <typename P1,typename P2,typename Op>
-
660 BOOST_FORCEINLINE
-
661 Op static_for_each(P1& p1,const P2& p2, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,op); }
-
662 template <typename P1,typename P2,typename Op>
-
663 BOOST_FORCEINLINE
-
664 Op static_for_each(const P1& p1, P2& p2, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,op); }
-
665 template <typename P1,typename P2,typename Op>
-
666 BOOST_FORCEINLINE
-
667 Op static_for_each(const P1& p1,const P2& p2, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,op); }
-
668 //static_for_each with three sources
-
669 template <typename P1,typename P2,typename P3,typename Op>
-
670 BOOST_FORCEINLINE
-
671 Op static_for_each(P1& p1,P2& p2,P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
-
672 template <typename P1,typename P2,typename P3,typename Op>
-
673 BOOST_FORCEINLINE
-
674 Op static_for_each(P1& p1,P2& p2,const P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
-
675 template <typename P1,typename P2,typename P3,typename Op>
-
676 BOOST_FORCEINLINE
-
677 Op static_for_each(P1& p1,const P2& p2,P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
-
678 template <typename P1,typename P2,typename P3,typename Op>
-
679 BOOST_FORCEINLINE
-
680 Op static_for_each(P1& p1,const P2& p2,const P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
-
681 template <typename P1,typename P2,typename P3,typename Op>
-
682 BOOST_FORCEINLINE
-
683 Op static_for_each(const P1& p1,P2& p2,P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
-
684 template <typename P1,typename P2,typename P3,typename Op>
-
685 BOOST_FORCEINLINE
-
686 Op static_for_each(const P1& p1,P2& p2,const P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
-
687 template <typename P1,typename P2,typename P3,typename Op>
-
688 BOOST_FORCEINLINE
-
689 Op static_for_each(const P1& p1,const P2& p2,P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
-
690 template <typename P1,typename P2,typename P3,typename Op>
-
691 BOOST_FORCEINLINE
-
692 Op static_for_each(const P1& p1,const P2& p2,const P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
-
694 
-
695 } } // namespace boost::gil
-
696 
-
697 #endif
-
disable_if< is_const< ColorBase >, typename kth_semantic_element_reference_type< ColorBase, K >::type >::type semantic_at_c(ColorBase &p)
A mutable accessor to the K-th semantic element of a color base.
Definition: color_base_algorithm.hpp:106
-
Specifies the return type of the constant element accessor by color name, get_color(color_base, Color());.
Definition: color_base_algorithm.hpp:164
-
Specifies the element type of a homogeneous color base.
Definition: color_base_algorithm.hpp:200
+
449 
+
465 template <typename P>
+
466 BOOST_FORCEINLINE
+
467 typename element_const_reference_type<P>::type static_max(const P& p) { return detail::min_max_recur<size<P>::value>::max_(p); }
+
468 
+
469 template <typename P>
+
470 BOOST_FORCEINLINE
+
471 typename element_reference_type<P>::type static_max( P& p) { return detail::min_max_recur<size<P>::value>::max_(p); }
+
472 
+
473 template <typename P>
+
474 BOOST_FORCEINLINE
+
475 typename element_const_reference_type<P>::type static_min(const P& p) { return detail::min_max_recur<size<P>::value>::min_(p); }
+
476 
+
477 template <typename P>
+
478 BOOST_FORCEINLINE
+
479 typename element_reference_type<P>::type static_min( P& p) { return detail::min_max_recur<size<P>::value>::min_(p); }
+
481 
+
499 template <typename P1,typename P2>
+
500 BOOST_FORCEINLINE
+
501 bool static_equal(const P1& p1, const P2& p2) { return detail::element_recursion<size<P1>::value>::static_equal(p1,p2); }
+
502 
+
504 
+
522 template <typename Src,typename Dst>
+
523 BOOST_FORCEINLINE
+
524 void static_copy(const Src& src, Dst& dst) { detail::element_recursion<size<Dst>::value>::static_copy(src,dst); }
+
525 
+
527 
+
541 template <typename P,typename V>
+
542 BOOST_FORCEINLINE
+
543 void static_fill(P& p, const V& v) { detail::element_recursion<size<P>::value>::static_fill(p,v); }
+
545 
+
567 template <typename P1,typename Op>
+
568 BOOST_FORCEINLINE
+
569 void static_generate(P1& dst,Op op) { detail::element_recursion<size<P1>::value>::static_generate(dst,op); }
+
571 
+
600 //static_transform with one source
+
601 template <typename Src,typename Dst,typename Op>
+
602 BOOST_FORCEINLINE
+
603 Op static_transform(Src& src,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(src,dst,op); }
+
604 template <typename Src,typename Dst,typename Op>
+
605 BOOST_FORCEINLINE
+
606 Op static_transform(const Src& src,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(src,dst,op); }
+
607 //static_transform with two sources
+
608 template <typename P2,typename P3,typename Dst,typename Op>
+
609 BOOST_FORCEINLINE
+
610 Op static_transform(P2& p2,P3& p3,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(p2,p3,dst,op); }
+
611 template <typename P2,typename P3,typename Dst,typename Op>
+
612 BOOST_FORCEINLINE
+
613 Op static_transform(P2& p2,const P3& p3,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(p2,p3,dst,op); }
+
614 template <typename P2,typename P3,typename Dst,typename Op>
+
615 BOOST_FORCEINLINE
+
616 Op static_transform(const P2& p2,P3& p3,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(p2,p3,dst,op); }
+
617 template <typename P2,typename P3,typename Dst,typename Op>
+
618 BOOST_FORCEINLINE
+
619 Op static_transform(const P2& p2,const P3& p3,Dst& dst,Op op) { return detail::element_recursion<size<Dst>::value>::static_transform(p2,p3,dst,op); }
+
621 
+
649 //static_for_each with one source
+
650 template <typename P1,typename Op>
+
651 BOOST_FORCEINLINE
+
652 Op static_for_each( P1& p1, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,op); }
+
653 template <typename P1,typename Op>
+
654 BOOST_FORCEINLINE
+
655 Op static_for_each(const P1& p1, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,op); }
+
656 //static_for_each with two sources
+
657 template <typename P1,typename P2,typename Op>
+
658 BOOST_FORCEINLINE
+
659 Op static_for_each(P1& p1, P2& p2, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,op); }
+
660 template <typename P1,typename P2,typename Op>
+
661 BOOST_FORCEINLINE
+
662 Op static_for_each(P1& p1,const P2& p2, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,op); }
+
663 template <typename P1,typename P2,typename Op>
+
664 BOOST_FORCEINLINE
+
665 Op static_for_each(const P1& p1, P2& p2, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,op); }
+
666 template <typename P1,typename P2,typename Op>
+
667 BOOST_FORCEINLINE
+
668 Op static_for_each(const P1& p1,const P2& p2, Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,op); }
+
669 //static_for_each with three sources
+
670 template <typename P1,typename P2,typename P3,typename Op>
+
671 BOOST_FORCEINLINE
+
672 Op static_for_each(P1& p1,P2& p2,P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
+
673 template <typename P1,typename P2,typename P3,typename Op>
+
674 BOOST_FORCEINLINE
+
675 Op static_for_each(P1& p1,P2& p2,const P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
+
676 template <typename P1,typename P2,typename P3,typename Op>
+
677 BOOST_FORCEINLINE
+
678 Op static_for_each(P1& p1,const P2& p2,P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
+
679 template <typename P1,typename P2,typename P3,typename Op>
+
680 BOOST_FORCEINLINE
+
681 Op static_for_each(P1& p1,const P2& p2,const P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
+
682 template <typename P1,typename P2,typename P3,typename Op>
+
683 BOOST_FORCEINLINE
+
684 Op static_for_each(const P1& p1,P2& p2,P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
+
685 template <typename P1,typename P2,typename P3,typename Op>
+
686 BOOST_FORCEINLINE
+
687 Op static_for_each(const P1& p1,P2& p2,const P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
+
688 template <typename P1,typename P2,typename P3,typename Op>
+
689 BOOST_FORCEINLINE
+
690 Op static_for_each(const P1& p1,const P2& p2,P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
+
691 template <typename P1,typename P2,typename P3,typename Op>
+
692 BOOST_FORCEINLINE
+
693 Op static_for_each(const P1& p1,const P2& p2,const P3& p3,Op op) { return detail::element_recursion<size<P1>::value>::static_for_each(p1,p2,p3,op); }
+
695 
+
696 } } // namespace boost::gil
+
697 
+
698 #endif
+
disable_if< is_const< ColorBase >, typename kth_semantic_element_reference_type< ColorBase, K >::type >::type semantic_at_c(ColorBase &p)
A mutable accessor to the K-th semantic element of a color base.
Definition: color_base_algorithm.hpp:107
+
Specifies the return type of the constant element accessor by color name, get_color(color_base, Color());.
Definition: color_base_algorithm.hpp:165
+
Specifies the element type of a homogeneous color base.
Definition: color_base_algorithm.hpp:201
Specifies the type of the K-th semantic element of a color base.
Definition: color_base_algorithm.hpp:81
Specifies the return type of the mutable semantic_at_c<K>(color_base);.
Definition: color_base_algorithm.hpp:88
-
A predicate metafunction determining whether a given color base contains a given color.
Definition: color_base_algorithm.hpp:146
+
A predicate metafunction determining whether a given color base contains a given color.
Definition: color_base_algorithm.hpp:147
Specifies the return type of the mutable element accessor at_c of a homogeneous color base...
Definition: color_base.hpp:35
-
Specifies the type of the element associated with a given color tag.
Definition: color_base_algorithm.hpp:154
-
Specifies the return type of the mutable element accessor by color name, get_color(color_base, Color());.
Definition: color_base_algorithm.hpp:159
+
Specifies the type of the element associated with a given color tag.
Definition: color_base_algorithm.hpp:155
+
Specifies the return type of the mutable element accessor by color name, get_color(color_base, Color());.
Definition: color_base_algorithm.hpp:160
Returns an MPL integral type specifying the number of elements in a color base.
Definition: color_base_algorithm.hpp:45
Specifies the return type of the constant semantic_at_c<K>(color_base);.
Definition: color_base_algorithm.hpp:96
Returns the index corresponding to the first occurrance of a given given type in. ...
Definition: utilities.hpp:233
-
color_element_const_reference_type< ColorBase, Color >::type get_color(const ColorBase &cb, Color=Color())
Constant accessor to the element associated with a given color name.
Definition: color_base_algorithm.hpp:176
+
color_element_const_reference_type< ColorBase, Color >::type get_color(const ColorBase &cb, Color=Color())
Constant accessor to the element associated with a given color name.
Definition: color_base_algorithm.hpp:177
diff --git a/develop/doc/html/reference/color__convert_8hpp_source.html b/develop/doc/html/reference/color__convert_8hpp_source.html index 82a86db67..72df8ba24 100644 --- a/develop/doc/html/reference/color__convert_8hpp_source.html +++ b/develop/doc/html/reference/color__convert_8hpp_source.html @@ -167,7 +167,7 @@
139 struct default_color_converter_impl<rgb_t,cmyk_t> {
140  template <typename P1, typename P2>
141  void operator()(const P1& src, P2& dst) const {
-
142  typedef typename channel_type<P2>::type T2;
+
142  using T2 = typename channel_type<P2>::type;
143  get_color(dst,cyan_t()) = channel_invert(channel_convert<T2>(get_color(src,red_t()))); // c = 1 - r
144  get_color(dst,magenta_t()) = channel_invert(channel_convert<T2>(get_color(src,green_t()))); // m = 1 - g
145  get_color(dst,yellow_t()) = channel_invert(channel_convert<T2>(get_color(src,blue_t()))); // y = 1 - b
@@ -190,7 +190,7 @@
168 struct default_color_converter_impl<cmyk_t,rgb_t> {
169  template <typename P1, typename P2>
170  void operator()(const P1& src, P2& dst) const {
-
171  typedef typename channel_type<P1>::type T1;
+
171  using T1 = typename channel_type<P1>::type;
172  get_color(dst,red_t()) =
173  channel_convert<typename color_element_type<P2,red_t>::type>(
174  channel_invert<T1>(
@@ -250,7 +250,7 @@
234 struct default_color_converter_impl<C1,rgba_t> {
235  template <typename P1, typename P2>
236  void operator()(const P1& src, P2& dst) const {
-
237  typedef typename channel_type<P2>::type T2;
+
237  using T2 = typename channel_type<P2>::type;
240  get_color(dst,red_t()) =get_color(tmp,red_t());
@@ -264,7 +264,7 @@
254 struct default_color_converter_impl<rgba_t,C2> {
255  template <typename P1, typename P2>
256  void operator()(const P1& src, P2& dst) const {
-
257  typedef typename channel_type<P1>::type T1;
+
257  using T1 = typename channel_type<P1>::type;
@@ -285,8 +285,8 @@
283  template <typename SrcP, typename DstP>
284  void operator()(const SrcP& src,DstP& dst) const {
-
285  typedef typename color_space_type<SrcP>::type SrcColorSpace;
-
286  typedef typename color_space_type<DstP>::type DstColorSpace;
+
285  using SrcColorSpace = typename color_space_type<SrcP>::type;
+
286  using DstColorSpace = typename color_space_type<DstP>::type;
288  }
289 };
@@ -304,7 +304,7 @@
Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept, PixelValueConcept, HomogeneousPixelBasedConcept.
Definition: metafunctions.hpp:30
Yellow.
Definition: cmyk.hpp:30
channel_traits< Channel >::value_type channel_multiply(Channel a, Channel b)
A function multiplying two channels. result = a * b / max_value.
Definition: channel_algorithm.hpp:488
-
color_element_reference_type< ColorBase, Color >::type get_color(ColorBase &cb, Color=Color())
Mutable accessor to the element associated with a given color name.
Definition: color_base_algorithm.hpp:169
+
color_element_reference_type< ColorBase, Color >::type get_color(ColorBase &cb, Color=Color())
Mutable accessor to the element associated with a given color name.
Definition: color_base_algorithm.hpp:170
scoped_channel_value< float, float_point_zero< float >, float_point_one< float >> float32_t
32-bit floating point channel type with range [0.0f ... 1.0f]. Models ChannelValueConcept ...
Definition: typedefs.hpp:124
Green.
Definition: rgb.hpp:28
Same as channel_converter, except it takes the destination channel by reference, which allows us to m...
Definition: channel_algorithm.hpp:407
@@ -325,7 +325,7 @@ diff --git a/develop/doc/html/reference/concepts_8hpp_source.html b/develop/doc/html/reference/concepts_8hpp_source.html index 9d9746c96..4e989adb9 100644 --- a/develop/doc/html/reference/concepts_8hpp_source.html +++ b/develop/doc/html/reference/concepts_8hpp_source.html @@ -83,7 +83,7 @@ diff --git a/develop/doc/html/reference/deprecated_8hpp_source.html b/develop/doc/html/reference/deprecated_8hpp_source.html index 81e3bfb52..47c52bf04 100644 --- a/develop/doc/html/reference/deprecated_8hpp_source.html +++ b/develop/doc/html/reference/deprecated_8hpp_source.html @@ -120,7 +120,7 @@ diff --git a/develop/doc/html/reference/device__n_8hpp_source.html b/develop/doc/html/reference/device__n_8hpp_source.html index 3461e42f1..848f93260 100644 --- a/develop/doc/html/reference/device__n_8hpp_source.html +++ b/develop/doc/html/reference/device__n_8hpp_source.html @@ -90,37 +90,41 @@
51 template <int N> struct devicen_layout_t : public layout<devicen_t<N> > {};
52 
55 template <typename IC>
- -
57 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, std::ptrdiff_t rowsize_in_bytes) {
-
58  typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<2> > >::view_t view_t;
-
59  return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1), rowsize_in_bytes));
-
60 }
-
61 
-
64 template <typename IC>
-
65 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3> > >::view_t
-
66 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, std::ptrdiff_t rowsize_in_bytes) {
-
67  typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3> > >::view_t view_t;
-
68  return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2), rowsize_in_bytes));
-
69 }
-
70 
-
73 template <typename IC>
-
74 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4> > >::view_t
-
75 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, std::ptrdiff_t rowsize_in_bytes) {
-
76  typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4> > >::view_t view_t;
-
77  return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2,c3), rowsize_in_bytes));
-
78 }
-
79 
-
82 template <typename IC>
-
83 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5> > >::view_t
-
84 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes) {
-
85  typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5> > >::view_t view_t;
-
86  return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2,c3,c4), rowsize_in_bytes));
-
87 }
-
88 
-
89 } } // namespace boost::gil
-
90 
-
91 #endif
-
type_from_x_iterator< planar_pixel_iterator< IC, devicen_t< 5 > > >::view_t planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes)
from 5-channel planar data
Definition: device_n.hpp:84
+ +
57 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, std::ptrdiff_t rowsize_in_bytes)
+
58 {
+
59  using view_t = typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<2>>>::view_t;
+
60  return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1), rowsize_in_bytes));
+
61 }
+
62 
+
65 template <typename IC>
+
66 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3>>>::view_t
+
67 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, std::ptrdiff_t rowsize_in_bytes)
+
68 {
+
69  using view_t = typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3>>>::view_t;
+
70  return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2), rowsize_in_bytes));
+
71 }
+
72 
+
75 template <typename IC>
+
76 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4>>>::view_t
+
77 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, std::ptrdiff_t rowsize_in_bytes)
+
78 {
+
79  using view_t = typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4>>>::view_t;
+
80  return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2,c3), rowsize_in_bytes));
+
81 }
+
82 
+
85 template <typename IC>
+
86 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5>>>::view_t
+
87 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes)
+
88 {
+
89  using view_t = typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5>>>::view_t;
+
90  return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2,c3,c4), rowsize_in_bytes));
+
91 }
+
92 
+
93 } } // namespace boost::gil
+
94 
+
95 #endif
+
type_from_x_iterator< planar_pixel_iterator< IC, devicen_t< 5 > > >::view_t planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes)
from 5-channel planar data
Definition: device_n.hpp:87
Given a pixel iterator defining access to pixels along a row, returns the types of the corresponding ...
Definition: metafunctions.hpp:238
unnamed color
Definition: device_n.hpp:25
Represents a color space and ordering of channels in memory.
Definition: utilities.hpp:246
@@ -131,7 +135,7 @@ diff --git a/develop/doc/html/reference/dir_0f86d4ff96b1aea424a4a0f509d03bc0.html b/develop/doc/html/reference/dir_0f86d4ff96b1aea424a4a0f509d03bc0.html index 96e94b9b3..946dff5a7 100644 --- a/develop/doc/html/reference/dir_0f86d4ff96b1aea424a4a0f509d03bc0.html +++ b/develop/doc/html/reference/dir_0f86d4ff96b1aea424a4a0f509d03bc0.html @@ -60,7 +60,7 @@ Directories diff --git a/develop/doc/html/reference/dir_1878a3f4746a95c6aad317458cc7ef80.html b/develop/doc/html/reference/dir_1878a3f4746a95c6aad317458cc7ef80.html index 8d47cca7a..e007b904b 100644 --- a/develop/doc/html/reference/dir_1878a3f4746a95c6aad317458cc7ef80.html +++ b/develop/doc/html/reference/dir_1878a3f4746a95c6aad317458cc7ef80.html @@ -58,7 +58,7 @@ Directories diff --git a/develop/doc/html/reference/dir_1a56ea1a3a929887046b273f6b45aa06.html b/develop/doc/html/reference/dir_1a56ea1a3a929887046b273f6b45aa06.html index c43ae64b8..bd0ef0f92 100644 --- a/develop/doc/html/reference/dir_1a56ea1a3a929887046b273f6b45aa06.html +++ b/develop/doc/html/reference/dir_1a56ea1a3a929887046b273f6b45aa06.html @@ -77,7 +77,7 @@ Files diff --git a/develop/doc/html/reference/dir_58c726a731707876b257bd847dce0d3c.html b/develop/doc/html/reference/dir_58c726a731707876b257bd847dce0d3c.html index 6e19fd20e..66fa23ec4 100644 --- a/develop/doc/html/reference/dir_58c726a731707876b257bd847dce0d3c.html +++ b/develop/doc/html/reference/dir_58c726a731707876b257bd847dce0d3c.html @@ -70,7 +70,7 @@ Files diff --git a/develop/doc/html/reference/dir_d44c64559bbebec7f509842c48db8b23.html b/develop/doc/html/reference/dir_d44c64559bbebec7f509842c48db8b23.html index 73aba9e21..2d978cf1e 100644 --- a/develop/doc/html/reference/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/develop/doc/html/reference/dir_d44c64559bbebec7f509842c48db8b23.html @@ -58,7 +58,7 @@ Directories diff --git a/develop/doc/html/reference/dir_df4750f408086f9b9c1b5ee4251365ff.html b/develop/doc/html/reference/dir_df4750f408086f9b9c1b5ee4251365ff.html index 47fc7d2aa..995ea7f1b 100644 --- a/develop/doc/html/reference/dir_df4750f408086f9b9c1b5ee4251365ff.html +++ b/develop/doc/html/reference/dir_df4750f408086f9b9c1b5ee4251365ff.html @@ -133,7 +133,7 @@ Files diff --git a/develop/doc/html/reference/dynamic__at__c_8hpp_source.html b/develop/doc/html/reference/dynamic__at__c_8hpp_source.html index abb252e3c..c765b9a0d 100644 --- a/develop/doc/html/reference/dynamic__at__c_8hpp_source.html +++ b/develop/doc/html/reference/dynamic__at__c_8hpp_source.html @@ -169,7 +169,7 @@ diff --git a/develop/doc/html/reference/dynamic__image__all_8hpp_source.html b/develop/doc/html/reference/dynamic__image__all_8hpp_source.html index 0e49b9a9c..f289b0605 100644 --- a/develop/doc/html/reference/dynamic__image__all_8hpp_source.html +++ b/develop/doc/html/reference/dynamic__image__all_8hpp_source.html @@ -76,7 +76,7 @@ diff --git a/develop/doc/html/reference/extension_2dynamic__image_2algorithm_8hpp.html b/develop/doc/html/reference/extension_2dynamic__image_2algorithm_8hpp.html index 37448758e..7d01da419 100644 --- a/develop/doc/html/reference/extension_2dynamic__image_2algorithm_8hpp.html +++ b/develop/doc/html/reference/extension_2dynamic__image_2algorithm_8hpp.html @@ -130,7 +130,7 @@ template<typename Types , typename Value > diff --git a/develop/doc/html/reference/extension_2dynamic__image_2algorithm_8hpp_source.html b/develop/doc/html/reference/extension_2dynamic__image_2algorithm_8hpp_source.html index 01dbbacf1..59d8f37dc 100644 --- a/develop/doc/html/reference/extension_2dynamic__image_2algorithm_8hpp_source.html +++ b/develop/doc/html/reference/extension_2dynamic__image_2algorithm_8hpp_source.html @@ -211,7 +211,7 @@ diff --git a/develop/doc/html/reference/extension_2dynamic__image_2image__view__factory_8hpp_source.html b/develop/doc/html/reference/extension_2dynamic__image_2image__view__factory_8hpp_source.html index 8f3b0fb68..d2523dd76 100644 --- a/develop/doc/html/reference/extension_2dynamic__image_2image__view__factory_8hpp_source.html +++ b/develop/doc/html/reference/extension_2dynamic__image_2image__view__factory_8hpp_source.html @@ -289,7 +289,7 @@ diff --git a/develop/doc/html/reference/files.html b/develop/doc/html/reference/files.html index 5fe349aec..0e272a66e 100644 --- a/develop/doc/html/reference/files.html +++ b/develop/doc/html/reference/files.html @@ -110,7 +110,7 @@ diff --git a/develop/doc/html/reference/functions.html b/develop/doc/html/reference/functions.html index be3ef1d1c..fc5c95a52 100644 --- a/develop/doc/html/reference/functions.html +++ b/develop/doc/html/reference/functions.html @@ -87,7 +87,7 @@ diff --git a/develop/doc/html/reference/functions_func.html b/develop/doc/html/reference/functions_func.html index dca4f9607..53e985ca6 100644 --- a/develop/doc/html/reference/functions_func.html +++ b/develop/doc/html/reference/functions_func.html @@ -84,7 +84,7 @@ diff --git a/develop/doc/html/reference/functions_rela.html b/develop/doc/html/reference/functions_rela.html index f1aeb53e3..84882e77e 100644 --- a/develop/doc/html/reference/functions_rela.html +++ b/develop/doc/html/reference/functions_rela.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/gray_8hpp_source.html b/develop/doc/html/reference/gray_8hpp_source.html index 6d01515b7..c745caf7a 100644 --- a/develop/doc/html/reference/gray_8hpp_source.html +++ b/develop/doc/html/reference/gray_8hpp_source.html @@ -71,9 +71,9 @@
18 
21 struct gray_color_t {};
22 
-
24 typedef mpl::vector1<gray_color_t> gray_t;
+
24 using gray_t = mpl::vector1<gray_color_t>;
25 
- +
28 
29 } } // namespace boost::gil
30 
@@ -87,7 +87,7 @@ diff --git a/develop/doc/html/reference/group___basic_concepts.html b/develop/doc/html/reference/group___basic_concepts.html index 679be5094..c0160683a 100644 --- a/develop/doc/html/reference/group___basic_concepts.html +++ b/develop/doc/html/reference/group___basic_concepts.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___channel.html b/develop/doc/html/reference/group___channel.html index c462dc41b..49c877a27 100644 --- a/develop/doc/html/reference/group___channel.html +++ b/develop/doc/html/reference/group___channel.html @@ -68,7 +68,7 @@ Modules diff --git a/develop/doc/html/reference/group___channel_algorithm.html b/develop/doc/html/reference/group___channel_algorithm.html index 0ea102544..be4636b55 100644 --- a/develop/doc/html/reference/group___channel_algorithm.html +++ b/develop/doc/html/reference/group___channel_algorithm.html @@ -68,7 +68,7 @@ Modules diff --git a/develop/doc/html/reference/group___channel_concept.html b/develop/doc/html/reference/group___channel_concept.html index 65ef83922..90e124e35 100644 --- a/develop/doc/html/reference/group___channel_concept.html +++ b/develop/doc/html/reference/group___channel_concept.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___channel_convert_algorithm.html b/develop/doc/html/reference/group___channel_convert_algorithm.html index a7c085977..765dcac48 100644 --- a/develop/doc/html/reference/group___channel_convert_algorithm.html +++ b/develop/doc/html/reference/group___channel_convert_algorithm.html @@ -83,7 +83,7 @@ template<typename DstChannel , typename SrcChannel >
float32_t src_channel = channel_traits<float32_t>::max_value();
assert(src_channel == 1);
-
// uint8_t is 8-bit unsigned integral channel (typedef-ed from unsigned char)
+
// uint8_t is 8-bit unsigned integral channel (aliased from unsigned char)
uint8_t dst_channel = channel_convert<uint8_t>(src_channel);
assert(dst_channel == 255); // max value goes to max value
@@ -92,7 +92,7 @@ template<typename DstChannel , typename SrcChannel > diff --git a/develop/doc/html/reference/group___channel_convert_unsigned_algorithm.html b/develop/doc/html/reference/group___channel_convert_unsigned_algorithm.html index c277ff9ad..52d2741f0 100644 --- a/develop/doc/html/reference/group___channel_convert_unsigned_algorithm.html +++ b/develop/doc/html/reference/group___channel_convert_unsigned_algorithm.html @@ -71,7 +71,7 @@ Classes diff --git a/develop/doc/html/reference/group___channel_invert_algorithm.html b/develop/doc/html/reference/group___channel_invert_algorithm.html index b9bcb1c12..9a09708c4 100644 --- a/develop/doc/html/reference/group___channel_invert_algorithm.html +++ b/develop/doc/html/reference/group___channel_invert_algorithm.html @@ -70,7 +70,7 @@ template<typename Channel > diff --git a/develop/doc/html/reference/group___channel_model.html b/develop/doc/html/reference/group___channel_model.html index 4f1eed04e..3e0853c6e 100644 --- a/develop/doc/html/reference/group___channel_model.html +++ b/develop/doc/html/reference/group___channel_model.html @@ -80,7 +80,7 @@ using  diff --git a/develop/doc/html/reference/group___color_base.html b/develop/doc/html/reference/group___color_base.html index 42553f67c..95b52ad80 100644 --- a/develop/doc/html/reference/group___color_base.html +++ b/develop/doc/html/reference/group___color_base.html @@ -69,7 +69,7 @@ Modules diff --git a/develop/doc/html/reference/group___color_base_algorithm.html b/develop/doc/html/reference/group___color_base_algorithm.html index 13f832909..548745e33 100644 --- a/develop/doc/html/reference/group___color_base_algorithm.html +++ b/develop/doc/html/reference/group___color_base_algorithm.html @@ -92,7 +92,7 @@ Modules diff --git a/develop/doc/html/reference/group___color_base_algorithm_color.html b/develop/doc/html/reference/group___color_base_algorithm_color.html index 885a94976..7bf5ebed5 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_color.html +++ b/develop/doc/html/reference/group___color_base_algorithm_color.html @@ -88,7 +88,7 @@ template<typename ColorBase , typename Color >
boost::function_requires<MutablePixelConcept<Pixel> >();
BOOST_STATIC_ASSERT((contains_color<Pixel, red_t>::value));
-
typedef typename color_element_type<Pixel, red_t>::type red_channel_t;
+
using red_channel_t = typename color_element_type<Pixel, red_t>::type;
get_color(pixel, red_t()) = channel_traits<red_channel_t>::max_value();
}
@@ -97,7 +97,7 @@ template<typename ColorBase , typename Color > diff --git a/develop/doc/html/reference/group___color_base_algorithm_copy.html b/develop/doc/html/reference/group___color_base_algorithm_copy.html index 44cfcc1dc..ad625bd71 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_copy.html +++ b/develop/doc/html/reference/group___color_base_algorithm_copy.html @@ -70,7 +70,7 @@ template<typename Src , typename Dst > diff --git a/develop/doc/html/reference/group___color_base_algorithm_equal.html b/develop/doc/html/reference/group___color_base_algorithm_equal.html index 6f1ecc21b..65746fd87 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_equal.html +++ b/develop/doc/html/reference/group___color_base_algorithm_equal.html @@ -70,7 +70,7 @@ template<typename P1 , typename P2 > diff --git a/develop/doc/html/reference/group___color_base_algorithm_fill.html b/develop/doc/html/reference/group___color_base_algorithm_fill.html index 01f06a463..a3ffe07f3 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_fill.html +++ b/develop/doc/html/reference/group___color_base_algorithm_fill.html @@ -67,7 +67,7 @@ template<typename P , typename V > diff --git a/develop/doc/html/reference/group___color_base_algorithm_for_each.html b/develop/doc/html/reference/group___color_base_algorithm_for_each.html index 76023118c..58e8dd4aa 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_for_each.html +++ b/develop/doc/html/reference/group___color_base_algorithm_for_each.html @@ -132,7 +132,7 @@ template<typename P1 , typename P2 , typename P3 , typename Op > diff --git a/develop/doc/html/reference/group___color_base_algorithm_generate.html b/develop/doc/html/reference/group___color_base_algorithm_generate.html index 6a3a9aec1..f7c91b0d8 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_generate.html +++ b/develop/doc/html/reference/group___color_base_algorithm_generate.html @@ -73,7 +73,7 @@ template<typename P1 , typename Op > diff --git a/develop/doc/html/reference/group___color_base_algorithm_homogeneous.html b/develop/doc/html/reference/group___color_base_algorithm_homogeneous.html index 347ba403a..771963910 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_homogeneous.html +++ b/develop/doc/html/reference/group___color_base_algorithm_homogeneous.html @@ -64,7 +64,7 @@ Classes

Types for homogeneous color bases.

element_type, element_reference_type, element_const_reference_type: Support for homogeneous color bases

Example:

-
typedef element_type<rgb8c_planar_ptr_t>::type element_t;
+
using element_t = element_type<rgb8c_planar_ptr_t>::type;
BOOST_STATIC_ASSERT((boost::is_same<element_t, const uint8_t*>::value));
@@ -72,7 +72,7 @@ Classes diff --git a/develop/doc/html/reference/group___color_base_algorithm_min_max.html b/develop/doc/html/reference/group___color_base_algorithm_min_max.html index a216e8972..df3703f9c 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_min_max.html +++ b/develop/doc/html/reference/group___color_base_algorithm_min_max.html @@ -88,7 +88,7 @@ element_reference_type< P >
diff --git a/develop/doc/html/reference/group___color_base_algorithm_semantic_at_c.html b/develop/doc/html/reference/group___color_base_algorithm_semantic_at_c.html index b0181073d..f47cfdf31 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_semantic_at_c.html +++ b/develop/doc/html/reference/group___color_base_algorithm_semantic_at_c.html @@ -84,10 +84,10 @@ template<int K, typename ColorBase >

The semantic index of an element is the index of its color in the color space. Semantic indexing allows for proper pairing of elements of color bases independent on their layout. For example, red is the first semantic element of a color base regardless of whether it has an RGB layout or a BGR layout. All GIL color base algorithms taking multiple color bases use semantic indexing to access their elements.

Example:

// 16-bit BGR pixel, 4 bits for the blue, 3 bits for the green, 2 bits for the red channel and 7 unused bits
-
typedef packed_pixel_type<uint16_t, mpl::vector3_c<unsigned,4,3,2>, bgr_layout_t>::type bgr432_pixel_t;
+
using bgr432_pixel_t = packed_pixel_type<uint16_t, mpl::vector3_c<unsigned,4,3,2>, bgr_layout_t>::type;
// A reference to its red channel. Although the red channel is the third, its semantic index is 0 in the RGB color space
-
typedef kth_semantic_element_reference_type<bgr432_pixel_t, 0>::type red_channel_reference_t;
+
using red_channel_reference_t = kth_semantic_element_reference_type<bgr432_pixel_t, 0>::type;
// Initialize the pixel to black
bgr432_pixel_t red_pixel(0,0,0);
@@ -101,7 +101,7 @@ template<int K, typename ColorBase > diff --git a/develop/doc/html/reference/group___color_base_algorithm_size.html b/develop/doc/html/reference/group___color_base_algorithm_size.html index 279263a35..7e4dc523e 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_size.html +++ b/develop/doc/html/reference/group___color_base_algorithm_size.html @@ -66,7 +66,7 @@ Classes diff --git a/develop/doc/html/reference/group___color_base_algorithm_transform.html b/develop/doc/html/reference/group___color_base_algorithm_transform.html index d792847b3..32bcdb689 100644 --- a/develop/doc/html/reference/group___color_base_algorithm_transform.html +++ b/develop/doc/html/reference/group___color_base_algorithm_transform.html @@ -86,7 +86,7 @@ template<typename P2 , typename P3 , typename Dst , typename Op >
template <typename Pixel1, typename Pixel2, typename Pixel3>
void sum_channels(const Pixel1& p1, const Pixel2& p2, Pixel3& result) {
-
typedef typename channel_type<Pixel3>::type result_channel_t;
+
using result_channel_t = typename channel_type<Pixel3>::type;
static_transform(p1,p2,result,my_plus<result_channel_t>());
}
@@ -101,7 +101,7 @@ template<typename P2 , typename P3 , typename Dst , typename Op > diff --git a/develop/doc/html/reference/group___color_base_concept.html b/develop/doc/html/reference/group___color_base_concept.html index 3420df023..49838cb0a 100644 --- a/develop/doc/html/reference/group___color_base_concept.html +++ b/develop/doc/html/reference/group___color_base_concept.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___color_base_model.html b/develop/doc/html/reference/group___color_base_model.html index 1faeeba01..a3a7a8acc 100644 --- a/develop/doc/html/reference/group___color_base_model.html +++ b/develop/doc/html/reference/group___color_base_model.html @@ -77,7 +77,7 @@ Modules diff --git a/develop/doc/html/reference/group___color_base_model_homogeneous.html b/develop/doc/html/reference/group___color_base_model_homogeneous.html index bc6836653..475b5ec15 100644 --- a/develop/doc/html/reference/group___color_base_model_homogeneous.html +++ b/develop/doc/html/reference/group___color_base_model_homogeneous.html @@ -89,7 +89,7 @@ add_const< E >::type >::type  diff --git a/develop/doc/html/reference/group___color_base_model_packed_pixel.html b/develop/doc/html/reference/group___color_base_model_packed_pixel.html index 43b1e3387..fc1df5f25 100644 --- a/develop/doc/html/reference/group___color_base_model_packed_pixel.html +++ b/develop/doc/html/reference/group___color_base_model_packed_pixel.html @@ -63,7 +63,7 @@ Classes diff --git a/develop/doc/html/reference/group___color_base_model_pixel.html b/develop/doc/html/reference/group___color_base_model_pixel.html index 0dad0310a..d398d8be9 100644 --- a/develop/doc/html/reference/group___color_base_model_pixel.html +++ b/develop/doc/html/reference/group___color_base_model_pixel.html @@ -62,7 +62,7 @@ Classes diff --git a/develop/doc/html/reference/group___color_base_model_planar_ptr.html b/develop/doc/html/reference/group___color_base_model_planar_ptr.html index 4e223cf45..c0478a919 100644 --- a/develop/doc/html/reference/group___color_base_model_planar_ptr.html +++ b/develop/doc/html/reference/group___color_base_model_planar_ptr.html @@ -62,7 +62,7 @@ Classes diff --git a/develop/doc/html/reference/group___color_base_model_planar_ref.html b/develop/doc/html/reference/group___color_base_model_planar_ref.html index 85bffa1b3..8aaef634b 100644 --- a/develop/doc/html/reference/group___color_base_model_planar_ref.html +++ b/develop/doc/html/reference/group___color_base_model_planar_ref.html @@ -62,7 +62,7 @@ Classes diff --git a/develop/doc/html/reference/group___color_convert.html b/develop/doc/html/reference/group___color_convert.html index 0e3f91f13..f2411d1fe 100644 --- a/develop/doc/html/reference/group___color_convert.html +++ b/develop/doc/html/reference/group___color_convert.html @@ -95,7 +95,7 @@ Classes diff --git a/develop/doc/html/reference/group___color_name_model.html b/develop/doc/html/reference/group___color_name_model.html index 5b4bd742b..f96727878 100644 --- a/develop/doc/html/reference/group___color_name_model.html +++ b/develop/doc/html/reference/group___color_name_model.html @@ -85,7 +85,7 @@ Classes diff --git a/develop/doc/html/reference/group___color_space_and_layout.html b/develop/doc/html/reference/group___color_space_and_layout.html index 4cd37f400..49a4bf9da 100644 --- a/develop/doc/html/reference/group___color_space_and_layout.html +++ b/develop/doc/html/reference/group___color_space_and_layout.html @@ -63,7 +63,7 @@ Modules diff --git a/develop/doc/html/reference/group___color_space_and_layout_concept.html b/develop/doc/html/reference/group___color_space_and_layout_concept.html index 79e0b5ec4..b439406f6 100644 --- a/develop/doc/html/reference/group___color_space_and_layout_concept.html +++ b/develop/doc/html/reference/group___color_space_and_layout_concept.html @@ -48,7 +48,7 @@ diff --git a/develop/doc/html/reference/group___color_space_and_layout_model.html b/develop/doc/html/reference/group___color_space_and_layout_model.html index 0ab0c4d3a..9c989f573 100644 --- a/develop/doc/html/reference/group___color_space_and_layout_model.html +++ b/develop/doc/html/reference/group___color_space_and_layout_model.html @@ -68,7 +68,7 @@ Classes diff --git a/develop/doc/html/reference/group___color_space_model.html b/develop/doc/html/reference/group___color_space_model.html index e302bc537..358eb3abe 100644 --- a/develop/doc/html/reference/group___color_space_model.html +++ b/develop/doc/html/reference/group___color_space_model.html @@ -66,22 +66,18 @@ Classes

Public Member Functions

virtual_2d_locator (const point_t &p=point_t(0, 0), const point_t &step=point_t(1, 1), const deref_fn_t &d=deref_fn_t())
virtual_2d_locator (const point_t &p=point_t(0, 0), const point_t &step=point_t(1, 1), const deref_fn_t &d=deref_fn_t())
 
template<typename D , bool TR>
operator== (const this_t &p) const
 
-x_iteratorx ()
x ()
 
-y_iteratory ()
y ()
 
-x_iterator const & x () const
x () const
 
-y_iterator const & y () const
y () const
 
y_coord_t y_distance_to (const this_t &it2, x_coord_t) const
y_distance_tois_1d_traversable (x_coord_t) const
 
-const point_tpos () const
pos () const
 
-const point_tstep () const
step () const
 
const deref_fn_t & deref_fn () const
diff --git a/develop/doc/html/reference/group___channel_multiply_algorithm.html b/develop/doc/html/reference/group___channel_multiply_algorithm.html index 975defe68..9a1e7840a 100644 --- a/develop/doc/html/reference/group___channel_multiply_algorithm.html +++ b/develop/doc/html/reference/group___channel_multiply_algorithm.html @@ -89,7 +89,7 @@ template<typename Channel >
diff --git a/develop/doc/html/reference/group___color_base_model_non_aligned_pixel.html b/develop/doc/html/reference/group___color_base_model_non_aligned_pixel.html index 7a337a9ce..5704de85b 100644 --- a/develop/doc/html/reference/group___color_base_model_non_aligned_pixel.html +++ b/develop/doc/html/reference/group___color_base_model_non_aligned_pixel.html @@ -62,7 +62,7 @@ Classes
- - + + +using  - - - - + + + +

Typedefs

-typedef mpl::vector4< cyan_t,
-magenta_t, yellow_t, black_t > 
cmyk_t
 
+using cmyk_t = mpl::vector4< cyan_t, magenta_t, yellow_t, black_t >
 
-typedef mpl::vector1
-< gray_color_t > 
gray_t
gray_t = mpl::vector1< gray_color_t >
 
-typedef mpl::vector3< red_t,
-green_t, blue_t > 
rgb_t
 
-typedef mpl::vector4< red_t,
-green_t, blue_t, alpha_t > 
rgba_t
 
+using rgb_t = mpl::vector3< red_t, green_t, blue_t >
 
+using rgba_t = mpl::vector4< red_t, green_t, blue_t, alpha_t >
 

Detailed Description

@@ -90,7 +86,7 @@ green_t, blue_t, alpha_t >  diff --git a/develop/doc/html/reference/group___g_i_l_is_basic.html b/develop/doc/html/reference/group___g_i_l_is_basic.html index d8131daed..1b76a1d15 100644 --- a/develop/doc/html/reference/group___g_i_l_is_basic.html +++ b/develop/doc/html/reference/group___g_i_l_is_basic.html @@ -75,7 +75,7 @@ Classes diff --git a/develop/doc/html/reference/group___g_i_l_is_mutable.html b/develop/doc/html/reference/group___g_i_l_is_mutable.html index 1fe324f1b..feff4da51 100644 --- a/develop/doc/html/reference/group___g_i_l_is_mutable.html +++ b/develop/doc/html/reference/group___g_i_l_is_mutable.html @@ -71,7 +71,7 @@ Classes diff --git a/develop/doc/html/reference/group___g_i_l_is_step.html b/develop/doc/html/reference/group___g_i_l_is_step.html index f58139838..384deab12 100644 --- a/develop/doc/html/reference/group___g_i_l_is_step.html +++ b/develop/doc/html/reference/group___g_i_l_is_step.html @@ -74,7 +74,7 @@ Classes diff --git a/develop/doc/html/reference/group___i_o.html b/develop/doc/html/reference/group___i_o.html index 1b5385a38..56c61deee 100644 --- a/develop/doc/html/reference/group___i_o.html +++ b/develop/doc/html/reference/group___i_o.html @@ -68,7 +68,7 @@ Modules diff --git a/develop/doc/html/reference/group___image.html b/develop/doc/html/reference/group___image.html index 7f7403aa7..eb18be08c 100644 --- a/develop/doc/html/reference/group___image.html +++ b/develop/doc/html/reference/group___image.html @@ -69,7 +69,7 @@ Modules diff --git a/develop/doc/html/reference/group___image_concept.html b/develop/doc/html/reference/group___image_concept.html index 58727a1e7..79e5e7407 100644 --- a/develop/doc/html/reference/group___image_concept.html +++ b/develop/doc/html/reference/group___image_concept.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___image_model.html b/develop/doc/html/reference/group___image_model.html index e6ce117c6..24c7a2348 100644 --- a/develop/doc/html/reference/group___image_model.html +++ b/develop/doc/html/reference/group___image_model.html @@ -94,7 +94,7 @@ Alloc >::const_view_t  diff --git a/develop/doc/html/reference/group___image_view.html b/develop/doc/html/reference/group___image_view.html index 340433f29..4012c80c5 100644 --- a/develop/doc/html/reference/group___image_view.html +++ b/develop/doc/html/reference/group___image_view.html @@ -68,7 +68,7 @@ Modules diff --git a/develop/doc/html/reference/group___image_view_algorithm.html b/develop/doc/html/reference/group___image_view_algorithm.html index 24bea1b20..15050e070 100644 --- a/develop/doc/html/reference/group___image_view_algorithm.html +++ b/develop/doc/html/reference/group___image_view_algorithm.html @@ -71,7 +71,7 @@ Modules diff --git a/develop/doc/html/reference/group___image_view_concept.html b/develop/doc/html/reference/group___image_view_concept.html index a191ed140..0d528eac2 100644 --- a/develop/doc/html/reference/group___image_view_concept.html +++ b/develop/doc/html/reference/group___image_view_concept.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___image_view_constructors.html b/develop/doc/html/reference/group___image_view_constructors.html index 0e6e86671..300afff8e 100644 --- a/develop/doc/html/reference/group___image_view_constructors.html +++ b/develop/doc/html/reference/group___image_view_constructors.html @@ -132,7 +132,7 @@ rgba_t > >::view_t  diff --git a/develop/doc/html/reference/group___image_view_model.html b/develop/doc/html/reference/group___image_view_model.html index 02f0b57da..fccb80077 100644 --- a/develop/doc/html/reference/group___image_view_model.html +++ b/develop/doc/html/reference/group___image_view_model.html @@ -65,7 +65,7 @@ Classes diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms.html index 901641c93..1e08f40c9 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms.html @@ -110,7 +110,7 @@ Classes diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_copy_and_convert_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_copy_and_convert_pixels.html index 47196bad6..65ba06438 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_copy_and_convert_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_copy_and_convert_pixels.html @@ -93,7 +93,7 @@ template<typename Types1 , typename Types2 > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_copy_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_copy_pixels.html index 278f4f1fe..f6624f9ae 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_copy_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_copy_pixels.html @@ -77,7 +77,7 @@ template<typename Types1 , typename Types2 > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_default_construct_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_default_construct_pixels.html index 98d4ba2fc..16af321f0 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_default_construct_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_default_construct_pixels.html @@ -65,7 +65,7 @@ template<typename View > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_destruct_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_destruct_pixels.html index c09dddbdd..14fb61f6b 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_destruct_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_destruct_pixels.html @@ -65,7 +65,7 @@ template<typename View > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_equal_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_equal_pixels.html index 62be0b1b8..c3f892138 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_equal_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_equal_pixels.html @@ -77,7 +77,7 @@ template<typename Types1 , typename Types2 > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_fill_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_fill_pixels.html index 908497783..315eabd7e 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_fill_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_fill_pixels.html @@ -69,7 +69,7 @@ template<typename Types , typename Value > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_for_each_pixel.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_for_each_pixel.html index 3f2eb3bef..9bcd2fa4d 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_for_each_pixel.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_for_each_pixel.html @@ -65,7 +65,7 @@ template<typename V , typename F > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_for_each_pixel_position.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_for_each_pixel_position.html index 1f51f1951..5203b838d 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_for_each_pixel_position.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_for_each_pixel_position.html @@ -63,7 +63,7 @@ template<typename View , typename F > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_generate_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_generate_pixels.html index c4e31c695..d08280677 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_generate_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_generate_pixels.html @@ -65,7 +65,7 @@ template<typename View , typename F > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_transform_pixel_positions.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_transform_pixel_positions.html index 005c958aa..9b27f673c 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_transform_pixel_positions.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_transform_pixel_positions.html @@ -69,7 +69,7 @@ template<typename View1 , typename View2 , typename View3 , typename F > < diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_transform_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_transform_pixels.html index 37c33d424..aeda2f50f 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_transform_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_transform_pixels.html @@ -70,7 +70,7 @@ template<typename View1 , typename View2 , typename View3 , typename F > < diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_uninitialized_copy_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_uninitialized_copy_pixels.html index 24e8f26cc..b1de02dc1 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_uninitialized_copy_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_uninitialized_copy_pixels.html @@ -65,7 +65,7 @@ template<typename View1 , typename View2 > diff --git a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_uninitialized_fill_pixels.html b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_uninitialized_fill_pixels.html index 82d9f6618..c055adb15 100644 --- a/develop/doc/html/reference/group___image_view_s_t_l_algorithms_uninitialized_fill_pixels.html +++ b/develop/doc/html/reference/group___image_view_s_t_l_algorithms_uninitialized_fill_pixels.html @@ -65,7 +65,7 @@ template<typename View , typename Value > diff --git a/develop/doc/html/reference/group___image_view_transformations.html b/develop/doc/html/reference/group___image_view_transformations.html index ba3183bdd..4f4659991 100644 --- a/develop/doc/html/reference/group___image_view_transformations.html +++ b/develop/doc/html/reference/group___image_view_transformations.html @@ -102,7 +102,7 @@ Classes diff --git a/develop/doc/html/reference/group___image_view_transformations180.html b/develop/doc/html/reference/group___image_view_transformations180.html index 465b6759a..6813d00f4 100644 --- a/develop/doc/html/reference/group___image_view_transformations180.html +++ b/develop/doc/html/reference/group___image_view_transformations180.html @@ -93,7 +93,7 @@ template<typename View > diff --git a/develop/doc/html/reference/group___image_view_transformations90_c_c_w.html b/develop/doc/html/reference/group___image_view_transformations90_c_c_w.html index 4793783c8..39a00a688 100644 --- a/develop/doc/html/reference/group___image_view_transformations90_c_c_w.html +++ b/develop/doc/html/reference/group___image_view_transformations90_c_c_w.html @@ -70,7 +70,7 @@ template<typename ViewTypes > diff --git a/develop/doc/html/reference/group___image_view_transformations90_c_w.html b/develop/doc/html/reference/group___image_view_transformations90_c_w.html index 529cd440e..01acf375d 100644 --- a/develop/doc/html/reference/group___image_view_transformations90_c_w.html +++ b/develop/doc/html/reference/group___image_view_transformations90_c_w.html @@ -70,7 +70,7 @@ template<typename ViewTypes > diff --git a/develop/doc/html/reference/group___image_view_transformations_color_convert.html b/develop/doc/html/reference/group___image_view_transformations_color_convert.html index 16e4e9146..baf8f7262 100644 --- a/develop/doc/html/reference/group___image_view_transformations_color_convert.html +++ b/develop/doc/html/reference/group___image_view_transformations_color_convert.html @@ -115,7 +115,7 @@ template<typename DstP , typename ViewTypes > diff --git a/develop/doc/html/reference/group___image_view_transformations_flip_l_r.html b/develop/doc/html/reference/group___image_view_transformations_flip_l_r.html index 52fe8893c..3fa6c0cdf 100644 --- a/develop/doc/html/reference/group___image_view_transformations_flip_l_r.html +++ b/develop/doc/html/reference/group___image_view_transformations_flip_l_r.html @@ -69,7 +69,7 @@ template<typename ViewTypes > diff --git a/develop/doc/html/reference/group___image_view_transformations_flip_u_d.html b/develop/doc/html/reference/group___image_view_transformations_flip_u_d.html index 2881810d0..eff0bb964 100644 --- a/develop/doc/html/reference/group___image_view_transformations_flip_u_d.html +++ b/develop/doc/html/reference/group___image_view_transformations_flip_u_d.html @@ -69,7 +69,7 @@ template<typename ViewTypes > diff --git a/develop/doc/html/reference/group___image_view_transformations_kth_channel.html b/develop/doc/html/reference/group___image_view_transformations_kth_channel.html index 3b0aa7240..3d8a70125 100644 --- a/develop/doc/html/reference/group___image_view_transformations_kth_channel.html +++ b/develop/doc/html/reference/group___image_view_transformations_kth_channel.html @@ -71,7 +71,7 @@ template<int K, typename View > diff --git a/develop/doc/html/reference/group___image_view_transformations_nth_channel.html b/develop/doc/html/reference/group___image_view_transformations_nth_channel.html index 29606d625..ba50a8442 100644 --- a/develop/doc/html/reference/group___image_view_transformations_nth_channel.html +++ b/develop/doc/html/reference/group___image_view_transformations_nth_channel.html @@ -79,7 +79,7 @@ template<typename ViewTypes > diff --git a/develop/doc/html/reference/group___image_view_transformations_subimage.html b/develop/doc/html/reference/group___image_view_transformations_subimage.html index 247a7fcd7..8ff2af194 100644 --- a/develop/doc/html/reference/group___image_view_transformations_subimage.html +++ b/develop/doc/html/reference/group___image_view_transformations_subimage.html @@ -170,7 +170,7 @@ template<typename View > diff --git a/develop/doc/html/reference/group___image_view_transformations_subsampled.html b/develop/doc/html/reference/group___image_view_transformations_subsampled.html index 18cccae42..27c7fd464 100644 --- a/develop/doc/html/reference/group___image_view_transformations_subsampled.html +++ b/develop/doc/html/reference/group___image_view_transformations_subsampled.html @@ -152,7 +152,7 @@ template<typename View > diff --git a/develop/doc/html/reference/group___image_view_transformations_transposed.html b/develop/doc/html/reference/group___image_view_transformations_transposed.html index 60e6576c9..11e636b88 100644 --- a/develop/doc/html/reference/group___image_view_transformations_transposed.html +++ b/develop/doc/html/reference/group___image_view_transformations_transposed.html @@ -70,7 +70,7 @@ template<typename ViewTypes > diff --git a/develop/doc/html/reference/group___j_p_e_g___i_o.html b/develop/doc/html/reference/group___j_p_e_g___i_o.html index d189dc8fe..194822959 100644 --- a/develop/doc/html/reference/group___j_p_e_g___i_o.html +++ b/develop/doc/html/reference/group___j_p_e_g___i_o.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___layout_model.html b/develop/doc/html/reference/group___layout_model.html index 533bbbd0c..f36d51c05 100644 --- a/develop/doc/html/reference/group___layout_model.html +++ b/develop/doc/html/reference/group___layout_model.html @@ -54,34 +54,30 @@ Classes - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +

Typedefs

-typedef layout< cmyk_t > cmyk_layout_t
 
-typedef layout< gray_t > gray_layout_t
 
-typedef layout< rgb_t > rgb_layout_t
 
-typedef layout< rgb_t,
-mpl::vector3_c< int, 2, 1, 0 > > 
bgr_layout_t
 
-typedef layout< rgba_t > rgba_layout_t
 
-typedef layout< rgba_t,
-mpl::vector4_c< int, 2, 1, 0, 3 > > 
bgra_layout_t
 
-typedef layout< rgba_t,
-mpl::vector4_c< int, 1, 2, 3, 0 > > 
argb_layout_t
 
-typedef layout< rgba_t,
-mpl::vector4_c< int, 3, 2, 1, 0 > > 
abgr_layout_t
 
+using cmyk_layout_t = layout< cmyk_t >
 
+using gray_layout_t = layout< gray_t >
 
+using rgb_layout_t = layout< rgb_t >
 
+using bgr_layout_t = layout< rgb_t, mpl::vector3_c< int, 2, 1, 0 >>
 
+using rgba_layout_t = layout< rgba_t >
 
+using bgra_layout_t = layout< rgba_t, mpl::vector4_c< int, 2, 1, 0, 3 >>
 
+using argb_layout_t = layout< rgba_t, mpl::vector4_c< int, 1, 2, 3, 0 >>
 
+using abgr_layout_t = layout< rgba_t, mpl::vector4_c< int, 3, 2, 1, 0 >>
 

Detailed Description

@@ -90,7 +86,7 @@ mpl::vector4_c< int, 3, 2, 1, 0 > >  diff --git a/develop/doc/html/reference/group___metafunctions.html b/develop/doc/html/reference/group___metafunctions.html index e050277d5..9a5baf8db 100644 --- a/develop/doc/html/reference/group___metafunctions.html +++ b/develop/doc/html/reference/group___metafunctions.html @@ -65,7 +65,7 @@ Modules diff --git a/develop/doc/html/reference/group___p_n_g___i_o.html b/develop/doc/html/reference/group___p_n_g___i_o.html index 16e94b5eb..9562ca6fa 100644 --- a/develop/doc/html/reference/group___p_n_g___i_o.html +++ b/develop/doc/html/reference/group___p_n_g___i_o.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___packed_channel_dynamic_reference_model.html b/develop/doc/html/reference/group___packed_channel_dynamic_reference_model.html index 8d063123d..e94cbb2dc 100644 --- a/develop/doc/html/reference/group___packed_channel_dynamic_reference_model.html +++ b/develop/doc/html/reference/group___packed_channel_dynamic_reference_model.html @@ -80,7 +80,7 @@ template<typename BF , int NB, bool M>

Represents a reference proxy to a channel operating over a bit range whose offset is specified at run time. Models ChannelConcept.

Example:

// Reference to a 2-bit channel whose offset is specified at construction time
-
typedef const packed_dynamic_channel_reference<uint8_t,2,true> bits2_dynamic_ref_t;
+
using bits2_dynamic_ref_t = packed_dynamic_channel_reference<uint8_t,2,true> const;
uint16_t data=0;
bits2_dynamic_ref_t channel_ref(&data,1);
@@ -92,7 +92,7 @@ template<typename BF , int NB, bool M> diff --git a/develop/doc/html/reference/group___packed_channel_reference_model.html b/develop/doc/html/reference/group___packed_channel_reference_model.html index 311c50950..ebc6e9a62 100644 --- a/develop/doc/html/reference/group___packed_channel_reference_model.html +++ b/develop/doc/html/reference/group___packed_channel_reference_model.html @@ -67,7 +67,7 @@ template<typename BF , int FB, int NB, bool M>

The value of a subbyte channel. Models: ChannelValueConcept

Represents a reference proxy to a channel operating over a bit range whose offset is fixed at compile time. Models ChannelConcept Example:

// Reference to a 2-bit channel starting at bit 1 (i.e. the second bit)
-
typedef const packed_channel_reference<uint16_t,1,2,true> bits2_1_ref_t;
+
using bits2_1_ref_t = packed_channel_reference<uint16_t,1,2,true> const;
uint16_t data=0;
bits2_1_ref_t channel_ref(&data);
@@ -79,7 +79,7 @@ template<typename BF , int FB, int NB, bool M> diff --git a/develop/doc/html/reference/group___packed_channel_value_model.html b/develop/doc/html/reference/group___packed_channel_value_model.html index 3983e5c69..9c49245ef 100644 --- a/develop/doc/html/reference/group___packed_channel_value_model.html +++ b/develop/doc/html/reference/group___packed_channel_value_model.html @@ -54,7 +54,7 @@ Modules

A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept

Represents the value of an unsigned integral channel operating over a bit range. Models: ChannelValueConcept Example:

// A 4-bit unsigned integral channel.
-
typedef packed_channel_value<4> bits4;
+
using bits4 = packed_channel_value<4>;
assert(channel_traits<bits4>::min_value()==0);
assert(channel_traits<bits4>::max_value()==15);
@@ -66,7 +66,7 @@ Modules diff --git a/develop/doc/html/reference/group___pixel.html b/develop/doc/html/reference/group___pixel.html index 1be67d9f1..9a075c791 100644 --- a/develop/doc/html/reference/group___pixel.html +++ b/develop/doc/html/reference/group___pixel.html @@ -69,7 +69,7 @@ Modules diff --git a/develop/doc/html/reference/group___pixel_algorithm.html b/develop/doc/html/reference/group___pixel_algorithm.html index cf8f47bb2..b5b457fca 100644 --- a/develop/doc/html/reference/group___pixel_algorithm.html +++ b/develop/doc/html/reference/group___pixel_algorithm.html @@ -72,7 +72,7 @@ template<typename SrcP , typename DstP > diff --git a/develop/doc/html/reference/group___pixel_based.html b/develop/doc/html/reference/group___pixel_based.html index 3235990a5..a94df6ad0 100644 --- a/develop/doc/html/reference/group___pixel_based.html +++ b/develop/doc/html/reference/group___pixel_based.html @@ -69,7 +69,7 @@ Modules diff --git a/develop/doc/html/reference/group___pixel_based_algorithm.html b/develop/doc/html/reference/group___pixel_based_algorithm.html index 5ab7184d7..08f865828 100644 --- a/develop/doc/html/reference/group___pixel_based_algorithm.html +++ b/develop/doc/html/reference/group___pixel_based_algorithm.html @@ -71,7 +71,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_based_concept.html b/develop/doc/html/reference/group___pixel_based_concept.html index 308c9eefe..4685b8cce 100644 --- a/develop/doc/html/reference/group___pixel_based_concept.html +++ b/develop/doc/html/reference/group___pixel_based_concept.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___pixel_based_model.html b/develop/doc/html/reference/group___pixel_based_model.html index 10d8a8b16..66bdb2760 100644 --- a/develop/doc/html/reference/group___pixel_based_model.html +++ b/develop/doc/html/reference/group___pixel_based_model.html @@ -104,7 +104,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_concept.html b/develop/doc/html/reference/group___pixel_concept.html index 5c852493f..7292d6efa 100644 --- a/develop/doc/html/reference/group___pixel_concept.html +++ b/develop/doc/html/reference/group___pixel_concept.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___pixel_dereference_adaptor.html b/develop/doc/html/reference/group___pixel_dereference_adaptor.html index edcdf5d72..29b4c39da 100644 --- a/develop/doc/html/reference/group___pixel_dereference_adaptor.html +++ b/develop/doc/html/reference/group___pixel_dereference_adaptor.html @@ -63,7 +63,7 @@ Modules diff --git a/develop/doc/html/reference/group___pixel_dereference_adaptor_concept.html b/develop/doc/html/reference/group___pixel_dereference_adaptor_concept.html index fffb5cd23..a4fc4c14b 100644 --- a/develop/doc/html/reference/group___pixel_dereference_adaptor_concept.html +++ b/develop/doc/html/reference/group___pixel_dereference_adaptor_concept.html @@ -48,7 +48,7 @@ diff --git a/develop/doc/html/reference/group___pixel_dereference_adaptor_model.html b/develop/doc/html/reference/group___pixel_dereference_adaptor_model.html index c7ac98f8b..db054691c 100644 --- a/develop/doc/html/reference/group___pixel_dereference_adaptor_model.html +++ b/develop/doc/html/reference/group___pixel_dereference_adaptor_model.html @@ -60,7 +60,7 @@ Classes  Helper base class for pixel dereference adaptors. More...
  class  deref_compose< D1, D2 > - Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typedefs from the component types. Models: PixelDereferenceAdaptorConcept. More...
+ Composes two dereference function objects. Similar to std::unary_compose but needs to pull some aliases from the component types. Models: PixelDereferenceAdaptorConcept. More...
 

Detailed Description

@@ -70,7 +70,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_iterator.html b/develop/doc/html/reference/group___pixel_iterator.html index 34dd9b0c0..644485adc 100644 --- a/develop/doc/html/reference/group___pixel_iterator.html +++ b/develop/doc/html/reference/group___pixel_iterator.html @@ -65,7 +65,7 @@ Modules diff --git a/develop/doc/html/reference/group___pixel_iterator_concept.html b/develop/doc/html/reference/group___pixel_iterator_concept.html index 0aafb33a2..42cccc73d 100644 --- a/develop/doc/html/reference/group___pixel_iterator_concept.html +++ b/develop/doc/html/reference/group___pixel_iterator_concept.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___pixel_iterator_model.html b/develop/doc/html/reference/group___pixel_iterator_model.html index 228047758..57f960f84 100644 --- a/develop/doc/html/reference/group___pixel_iterator_model.html +++ b/develop/doc/html/reference/group___pixel_iterator_model.html @@ -83,7 +83,7 @@ Modules diff --git a/develop/doc/html/reference/group___pixel_iterator_model_deref_ptr.html b/develop/doc/html/reference/group___pixel_iterator_model_deref_ptr.html index 0813cf7b8..cdba770e2 100644 --- a/develop/doc/html/reference/group___pixel_iterator_model_deref_ptr.html +++ b/develop/doc/html/reference/group___pixel_iterator_model_deref_ptr.html @@ -68,7 +68,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_iterator_model_from_locator.html b/develop/doc/html/reference/group___pixel_iterator_model_from_locator.html index 273875820..eab74e5fc 100644 --- a/develop/doc/html/reference/group___pixel_iterator_model_from_locator.html +++ b/develop/doc/html/reference/group___pixel_iterator_model_from_locator.html @@ -64,7 +64,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_iterator_model_interleaved_ptr.html b/develop/doc/html/reference/group___pixel_iterator_model_interleaved_ptr.html index 25ce01bef..c97971c87 100644 --- a/develop/doc/html/reference/group___pixel_iterator_model_interleaved_ptr.html +++ b/develop/doc/html/reference/group___pixel_iterator_model_interleaved_ptr.html @@ -53,7 +53,7 @@ diff --git a/develop/doc/html/reference/group___pixel_iterator_model_packed_interleaved_ptr.html b/develop/doc/html/reference/group___pixel_iterator_model_packed_interleaved_ptr.html index c7c42412f..a0cf82107 100644 --- a/develop/doc/html/reference/group___pixel_iterator_model_packed_interleaved_ptr.html +++ b/develop/doc/html/reference/group___pixel_iterator_model_packed_interleaved_ptr.html @@ -53,7 +53,7 @@ diff --git a/develop/doc/html/reference/group___pixel_iterator_model_planar_ptr.html b/develop/doc/html/reference/group___pixel_iterator_model_planar_ptr.html index be781cf4b..83ef2e98f 100644 --- a/develop/doc/html/reference/group___pixel_iterator_model_planar_ptr.html +++ b/develop/doc/html/reference/group___pixel_iterator_model_planar_ptr.html @@ -62,7 +62,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_iterator_model_step_ptr.html b/develop/doc/html/reference/group___pixel_iterator_model_step_ptr.html index b17b2df82..cae5a048b 100644 --- a/develop/doc/html/reference/group___pixel_iterator_model_step_ptr.html +++ b/develop/doc/html/reference/group___pixel_iterator_model_step_ptr.html @@ -68,7 +68,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_iterator_model_virtual.html b/develop/doc/html/reference/group___pixel_iterator_model_virtual.html index a81c82ad2..0d3971d3b 100644 --- a/develop/doc/html/reference/group___pixel_iterator_model_virtual.html +++ b/develop/doc/html/reference/group___pixel_iterator_model_virtual.html @@ -62,7 +62,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_iterator_non_aligned_pixel_iterator.html b/develop/doc/html/reference/group___pixel_iterator_non_aligned_pixel_iterator.html index e06fe860c..a7ba083bc 100644 --- a/develop/doc/html/reference/group___pixel_iterator_non_aligned_pixel_iterator.html +++ b/develop/doc/html/reference/group___pixel_iterator_non_aligned_pixel_iterator.html @@ -63,7 +63,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_locator.html b/develop/doc/html/reference/group___pixel_locator.html index be6a16823..0dd1590df 100644 --- a/develop/doc/html/reference/group___pixel_locator.html +++ b/develop/doc/html/reference/group___pixel_locator.html @@ -65,7 +65,7 @@ Modules diff --git a/develop/doc/html/reference/group___pixel_locator_concept.html b/develop/doc/html/reference/group___pixel_locator_concept.html index 4ce379c8a..5019bb44f 100644 --- a/develop/doc/html/reference/group___pixel_locator_concept.html +++ b/develop/doc/html/reference/group___pixel_locator_concept.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___pixel_locator_model.html b/develop/doc/html/reference/group___pixel_locator_model.html index bd62c3b00..f520433d9 100644 --- a/develop/doc/html/reference/group___pixel_locator_model.html +++ b/develop/doc/html/reference/group___pixel_locator_model.html @@ -68,7 +68,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_model.html b/develop/doc/html/reference/group___pixel_model.html index 99c743c7f..9d3fe99e4 100644 --- a/develop/doc/html/reference/group___pixel_model.html +++ b/develop/doc/html/reference/group___pixel_model.html @@ -71,7 +71,7 @@ Modules diff --git a/develop/doc/html/reference/group___pixel_model_non_aligned_pixel.html b/develop/doc/html/reference/group___pixel_model_non_aligned_pixel.html index 079f107ab..b7f61fe9e 100644 --- a/develop/doc/html/reference/group___pixel_model_non_aligned_pixel.html +++ b/develop/doc/html/reference/group___pixel_model_non_aligned_pixel.html @@ -60,7 +60,7 @@ Classes
unsigned char data=0;
// A mutable reference to a 6-bit BGR pixel in "123" format (1 bit for red, 2 bits for green, 3 bits for blue)
-
typedef const bit_aligned_pixel_reference<unsigned char, mpl::vector3_c<int,1,2,3>, rgb_layout_t, true> rgb123_ref_t;
+
using rgb123_ref_t = bit_aligned_pixel_reference<unsigned char, mpl::vector3_c<int,1,2,3>, rgb_layout_t, true> const;
// create the pixel reference at bit offset 2
// (i.e. red = [2], green = [3,4], blue = [5,6,7] bits)
@@ -77,7 +77,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_model_packed_pixel.html b/develop/doc/html/reference/group___pixel_model_packed_pixel.html index c743f21c3..d301a571a 100644 --- a/develop/doc/html/reference/group___pixel_model_packed_pixel.html +++ b/develop/doc/html/reference/group___pixel_model_packed_pixel.html @@ -57,7 +57,7 @@ Classes

Detailed Description

A heterogeneous pixel used to represent packed pixels with non-byte-aligned channels. Models PixelValueConcept.

Example:

-
typedef packed_pixel_type<uint16_t, mpl::vector3_c<unsigned,5,6,5>, rgb_layout_t>::type rgb565_pixel_t;
+
using rgb565_pixel_t = packed_pixel_type<uint16_t, mpl::vector3_c<unsigned,5,6,5>, rgb_layout_t>::type;
BOOST_STATIC_ASSERT((sizeof(rgb565_pixel_t)==2));
rgb565_pixel_t r565;
@@ -71,7 +71,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_model_pixel.html b/develop/doc/html/reference/group___pixel_model_pixel.html index ee0c7ada9..d94fdbce5 100644 --- a/develop/doc/html/reference/group___pixel_model_pixel.html +++ b/develop/doc/html/reference/group___pixel_model_pixel.html @@ -62,7 +62,7 @@ Classes diff --git a/develop/doc/html/reference/group___pixel_model_planar_ref.html b/develop/doc/html/reference/group___pixel_model_planar_ref.html index 565a13904..64f360928 100644 --- a/develop/doc/html/reference/group___pixel_model_planar_ref.html +++ b/develop/doc/html/reference/group___pixel_model_planar_ref.html @@ -96,7 +96,7 @@ template<typename CR , typename CS > diff --git a/develop/doc/html/reference/group___point.html b/develop/doc/html/reference/group___point.html index fa49cc086..4bf000b0b 100644 --- a/develop/doc/html/reference/group___point.html +++ b/develop/doc/html/reference/group___point.html @@ -68,7 +68,7 @@ Modules diff --git a/develop/doc/html/reference/group___point_algorithm.html b/develop/doc/html/reference/group___point_algorithm.html index b63c2d114..fa1540069 100644 --- a/develop/doc/html/reference/group___point_algorithm.html +++ b/develop/doc/html/reference/group___point_algorithm.html @@ -83,7 +83,7 @@ point< std::ptrdiff_t >  diff --git a/develop/doc/html/reference/group___point_concept.html b/develop/doc/html/reference/group___point_concept.html index c1e5bf8d0..620e2dc0e 100644 --- a/develop/doc/html/reference/group___point_concept.html +++ b/develop/doc/html/reference/group___point_concept.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___point_model.html b/develop/doc/html/reference/group___point_model.html index 9d01096e2..1ff396382 100644 --- a/develop/doc/html/reference/group___point_model.html +++ b/develop/doc/html/reference/group___point_model.html @@ -111,7 +111,7 @@ template<std::size_t K, typename T > diff --git a/develop/doc/html/reference/group___s_t_l_optimizations.html b/develop/doc/html/reference/group___s_t_l_optimizations.html index c1e13cc15..209bada9a 100644 --- a/develop/doc/html/reference/group___s_t_l_optimizations.html +++ b/develop/doc/html/reference/group___s_t_l_optimizations.html @@ -164,7 +164,7 @@ template<typename IL , typename OL > diff --git a/develop/doc/html/reference/group___scoped_channel_value.html b/develop/doc/html/reference/group___scoped_channel_value.html index 3f610ce13..82c7d6b9b 100644 --- a/develop/doc/html/reference/group___scoped_channel_value.html +++ b/develop/doc/html/reference/group___scoped_channel_value.html @@ -54,11 +54,11 @@ Modules

Traits for channels. Contains the following members:

template <typename Channel>
struct channel_traits {
-
typedef ... value_type;
-
typedef ... reference;
-
typedef ... pointer;
-
typedef ... const_reference;
-
typedef ... const_pointer;
+
using value_type = ...;
+
using reference = ...;
+
using pointer = ...;
+
using const_reference = ...;
+
using const_pointer = ...;
static const bool is_mutable;
static value_type min_value();
@@ -69,7 +69,7 @@ Modules
// Create a double channel with range [-0.5 .. 0.5]
struct double_minus_half { static double apply() { return -0.5; } };
struct double_plus_half { static double apply() { return 0.5; } };
-
typedef scoped_channel_value<double, double_minus_half, double_plus_half> bits64custom_t;
+
using bits64custom_t = scoped_channel_value<double, double_minus_half, double_plus_half>;
// channel_convert its maximum should map to the maximum
bits64custom_t x = channel_traits<bits64custom_t>::max_value();
@@ -82,7 +82,7 @@ Modules diff --git a/develop/doc/html/reference/group___t_i_f_f___i_o.html b/develop/doc/html/reference/group___t_i_f_f___i_o.html index 1c9a35338..eff2ec7b9 100644 --- a/develop/doc/html/reference/group___t_i_f_f___i_o.html +++ b/develop/doc/html/reference/group___t_i_f_f___i_o.html @@ -52,7 +52,7 @@ diff --git a/develop/doc/html/reference/group___type_analysis.html b/develop/doc/html/reference/group___type_analysis.html index e4c173eee..7c703a688 100644 --- a/develop/doc/html/reference/group___type_analysis.html +++ b/develop/doc/html/reference/group___type_analysis.html @@ -78,7 +78,7 @@ Classes diff --git a/develop/doc/html/reference/group___type_factory.html b/develop/doc/html/reference/group___type_factory.html index 765d13069..d24a533c6 100644 --- a/develop/doc/html/reference/group___type_factory.html +++ b/develop/doc/html/reference/group___type_factory.html @@ -75,7 +75,7 @@ Classes diff --git a/develop/doc/html/reference/group___type_factory_derived.html b/develop/doc/html/reference/group___type_factory_derived.html index 6ec91a6c4..603926029 100644 --- a/develop/doc/html/reference/group___type_factory_derived.html +++ b/develop/doc/html/reference/group___type_factory_derived.html @@ -71,7 +71,7 @@ Classes diff --git a/develop/doc/html/reference/group___type_factory_from_elements.html b/develop/doc/html/reference/group___type_factory_from_elements.html index 766072d4e..568f38c16 100644 --- a/develop/doc/html/reference/group___type_factory_from_elements.html +++ b/develop/doc/html/reference/group___type_factory_from_elements.html @@ -88,7 +88,7 @@ Classes diff --git a/develop/doc/html/reference/group___type_factory_from_pixel.html b/develop/doc/html/reference/group___type_factory_from_pixel.html index 50a544748..0a77441e6 100644 --- a/develop/doc/html/reference/group___type_factory_from_pixel.html +++ b/develop/doc/html/reference/group___type_factory_from_pixel.html @@ -65,7 +65,7 @@ Classes diff --git a/develop/doc/html/reference/group___type_factory_packed.html b/develop/doc/html/reference/group___type_factory_packed.html index 543a552b3..c6f765227 100644 --- a/develop/doc/html/reference/group___type_factory_packed.html +++ b/develop/doc/html/reference/group___type_factory_packed.html @@ -99,7 +99,7 @@ Classes diff --git a/develop/doc/html/reference/group___variant.html b/develop/doc/html/reference/group___variant.html index 43a8063b5..38e84dec2 100644 --- a/develop/doc/html/reference/group___variant.html +++ b/develop/doc/html/reference/group___variant.html @@ -84,7 +84,7 @@ BinaryOp::result_type  diff --git a/develop/doc/html/reference/hierarchy.html b/develop/doc/html/reference/hierarchy.html index 3f67fc973..62338d4a4 100644 --- a/develop/doc/html/reference/hierarchy.html +++ b/develop/doc/html/reference/hierarchy.html @@ -130,7 +130,7 @@ oCderef_base< color_convert_deref_fn< SrcConstRefP, DstP, CC >, DstP, DstP, const DstP &, SrcConstRefP, DstP, false > |\Ccolor_convert_deref_fn< SrcConstRefP, DstP, CC >Function object that given a source pixel, returns it converted to a given color space and channel depth. Models: PixelDereferenceAdaptorConcept oCderef_base< deref_compose< D1::const_t, D2::const_t >, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &&D2::is_mutable > -|\Cderef_compose< D1, D2 >Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typedefs from the component types. Models: PixelDereferenceAdaptorConcept +|\Cderef_compose< D1, D2 >Composes two dereference function objects. Similar to std::unary_compose but needs to pull some aliases from the component types. Models: PixelDereferenceAdaptorConcept oCdereference_iterator_adaptor< Iterator, DFn >An adaptor over an existing iterator that provides for custom filter on dereferencing the object. Models: IteratorAdaptorConcept, PixelIteratorConcept oCderived_image_type< Image, T, L, IsPlanar >Constructs a homogeneous image type from a source image type by changing some of the properties.Use use_default for the properties of the source image that you want to keep oCderived_iterator_type< Iterator, T, L, IsPlanar, IsStep, IsMutable >Constructs a pixel iterator type from a source pixel iterator type by changing some of the properties.Use use_default for the properties of the source view that you want to keep @@ -286,7 +286,7 @@ diff --git a/develop/doc/html/reference/image_8hpp_source.html b/develop/doc/html/reference/image_8hpp_source.html index 8893fcc65..4aad954d4 100644 --- a/develop/doc/html/reference/image_8hpp_source.html +++ b/develop/doc/html/reference/image_8hpp_source.html @@ -79,17 +79,17 @@
39 class image {
40 public:
41 #if defined(BOOST_NO_CXX11_ALLOCATOR)
-
42  typedef typename Alloc::template rebind<unsigned char>::other allocator_type;
+
42  using allocator_type = typename Alloc::template rebind<unsigned char>::other;
43 #else
-
44  typedef typename std::allocator_traits<Alloc>::template rebind_alloc<unsigned char> allocator_type;
+
44  using allocator_type = typename std::allocator_traits<Alloc>::template rebind_alloc<unsigned char>;
45 #endif
-
46  typedef typename view_type_from_pixel<Pixel, IsPlanar>::type view_t;
-
47  typedef typename view_t::const_t const_view_t;
-
48  typedef typename view_t::point_t point_t;
-
49  typedef typename view_t::coord_t coord_t;
-
50  typedef typename view_t::value_type value_type;
-
51  typedef coord_t x_coord_t;
-
52  typedef coord_t y_coord_t;
+
46  using view_t = typename view_type_from_pixel<Pixel, IsPlanar>::type;
+
47  using const_view_t = typename view_t::const_t;
+
48  using point_t = typename view_t::point_t;
+
49  using coord_t = typename view_t::coord_t;
+
50  using value_type = typename view_t::value_type;
+
51  using x_coord_t = coord_t;
+
52  using y_coord_t = coord_t;
53 
54  const point_t& dimensions() const { return _view.dimensions(); }
55  x_coord_t width() const { return _view.width(); }
@@ -373,7 +373,7 @@
335 
336  std::size_t total_allocated_size_in_bytes(const point_t& dimensions) const {
337 
-
338  typedef typename view_t::x_iterator x_iterator;
+
338  using x_iterator = typename view_t::x_iterator;
339 
340  // when value_type is a non-pixel, like int or float, num_channels< ... > doesn't work.
341  const std::size_t _channels_in_image = mpl::eval_if< is_pixel< value_type >
@@ -493,8 +493,8 @@
460 const typename image<Pixel,IsPlanar,Alloc>::view_t& view(image<Pixel,IsPlanar,Alloc>& img) { return img._view; }
461 
463 template <typename Pixel, bool IsPlanar, typename Alloc> inline
- -
465  return static_cast<const typename image<Pixel,IsPlanar,Alloc>::const_view_t>(img._view);
+
464 const typename image<Pixel,IsPlanar,Alloc>::const_view_t const_view(const image<Pixel,IsPlanar,Alloc>& img) {
+
465  return static_cast<const typename image<Pixel,IsPlanar,Alloc>::const_view_t>(img._view);
466 }
468 
470 // PixelBasedConcept
@@ -516,8 +516,7 @@
487 #endif
Definition: pixel_iterator.hpp:112
void uninitialized_fill_pixels(const View &img_view, const Value &val)
std::uninitialized_fill for image views. Does not support planar heterogeneous views. If an exception is thrown destructs any in-place copy-constructed pixels
Definition: algorithm.hpp:522
-
A lightweight object that interprets memory as a 2D array of pixels. Models ImageViewConcept,PixelBasedConcept,HasDynamicXStepTypeConcept,HasDynamicYStepTypeConcept,HasTransposedTypeConcept.
Definition: image_view.hpp:50
-
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:480
+
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:481
BOOST_FORCEINLINE bool equal_pixels(const View1 &v1, const View2 &v2)
std::equal for image views
Definition: algorithm.hpp:937
BOOST_FORCEINLINE void copy_pixels(const View1 &src, const View2 &dst)
std::copy for image views
Definition: algorithm.hpp:270
void default_construct_pixels(const View &img_view)
Invokes the in-place default constructor on every pixel of the (uninitialized) view. Does not support planar heterogeneous views. If an exception is thrown destructs any in-place default-constructed pixels.
Definition: algorithm.hpp:652
@@ -528,14 +527,14 @@
const image< Pixel, IsPlanar, Alloc >::const_view_t const_view(const image< Pixel, IsPlanar, Alloc > &img)
Returns the constant-pixel view of an image.
Definition: image.hpp:464
Returns the number of channels of a pixel-based GIL construct.
Definition: locator.hpp:38
BOOST_FORCEINLINE void destruct_pixels(const View &img_view)
Invokes the in-place destructor on every pixel of the view.
Definition: algorithm.hpp:465
-
Returns the type of a view the pixel type, whether it operates on planar data and whether it has a st...
Definition: metafunctions.hpp:412
+
Returns the type of a view the pixel type, whether it operates on planar data and whether it has a st...
Definition: metafunctions.hpp:413
diff --git a/develop/doc/html/reference/image__view_8hpp_source.html b/develop/doc/html/reference/image__view_8hpp_source.html index 0985390cf..1b9620abd 100644 --- a/develop/doc/html/reference/image__view_8hpp_source.html +++ b/develop/doc/html/reference/image__view_8hpp_source.html @@ -72,165 +72,170 @@
50 class image_view {
51 public:
52 
-
53 // typedefs required by ConstRandomAccessNDImageViewConcept
+
53 // aliases required by ConstRandomAccessNDImageViewConcept
54  static const std::size_t num_dimensions=2;
-
55  typedef typename Loc::value_type value_type;
-
56  typedef typename Loc::reference reference; // result of dereferencing
-
57  typedef typename Loc::coord_t coord_t; // 1D difference type (same for all dimensions)
-
58  typedef coord_t difference_type; // result of operator-(1d_iterator,1d_iterator)
-
59  typedef typename Loc::point_t point_t;
-
60  typedef Loc locator;
-
61  typedef image_view<typename Loc::const_t> const_t; // same as this type, but over const values
-
62  template <std::size_t D> struct axis {
-
63  typedef typename Loc::template axis<D>::coord_t coord_t; // difference_type along each dimension
-
64  typedef typename Loc::template axis<D>::iterator iterator; // 1D iterator type along each dimension
-
65  };
-
66  typedef iterator_from_2d<Loc> iterator; // 1D iterator type for each pixel left-to-right inside top-to-bottom
-
67  typedef typename const_t::iterator const_iterator; // may be used to examine, but not to modify values
-
68  typedef typename const_t::reference const_reference; // behaves as a const reference
-
69  typedef typename std::iterator_traits<iterator>::pointer pointer; // behaves as a pointer to the value type
-
70  typedef std::reverse_iterator<iterator> reverse_iterator;
-
71  typedef std::size_t size_type;
-
72 
-
73 // typedefs required by ConstRandomAccess2DImageViewConcept
-
74  typedef locator xy_locator;
-
75  typedef typename xy_locator::x_iterator x_iterator; // pixel iterator along a row
-
76  typedef typename xy_locator::y_iterator y_iterator; // pixel iterator along a column
-
77  typedef typename xy_locator::x_coord_t x_coord_t;
-
78  typedef typename xy_locator::y_coord_t y_coord_t;
-
79 
-
80  template <typename Deref> struct add_deref {
- -
82  static type make(const image_view<Loc>& iv, const Deref& d) { return type(iv.dimensions(), Loc::template add_deref<Deref>::make(iv.pixels(),d)); }
-
83  };
-
84 
-
85  image_view() : _dimensions(0,0) {}
-
86  template <typename View> image_view(const View& iv) : _dimensions(iv.dimensions()), _pixels(iv.pixels()) {}
-
87 
-
88  template <typename L2> image_view(const point_t& sz , const L2& loc) : _dimensions(sz), _pixels(loc) {}
-
89  template <typename L2> image_view(coord_t width, coord_t height, const L2& loc) : _dimensions(x_coord_t(width),y_coord_t(height)), _pixels(loc) {}
-
90 
-
91  template <typename View> image_view& operator=(const View& iv) { _pixels=iv.pixels(); _dimensions=iv.dimensions(); return *this; }
-
92  image_view& operator=(const image_view& iv) { _pixels=iv.pixels(); _dimensions=iv.dimensions(); return *this; }
-
93 
-
94  template <typename View> bool operator==(const View& v) const { return pixels()==v.pixels() && dimensions()==v.dimensions(); }
-
95  template <typename View> bool operator!=(const View& v) const { return !(*this==v); }
-
96 
-
97  template <typename L2> friend void swap(image_view<L2>& x, image_view<L2>& y);
+
55  using value_type = typename Loc::value_type;
+
56  using reference = typename Loc::reference; // result of dereferencing
+
57  using coord_t = typename Loc::coord_t; // 1D difference type (same for all dimensions)
+
58  using difference_type = coord_t; // result of operator-(1d_iterator,1d_iterator)
+
59  using point_t = typename Loc::point_t;
+
60  using locator = Loc;
+
61  using const_t = image_view<typename Loc::const_t>; // same as this type, but over const values
+
62  template <std::size_t D> struct axis
+
63  {
+
64  using coord_t = typename Loc::template axis<D>::coord_t; // difference_type along each dimension
+
65  using iterator = typename Loc::template axis<D>::iterator; // 1D iterator type along each dimension
+
66  };
+
67  using iterator = iterator_from_2d<Loc>; // 1D iterator type for each pixel left-to-right inside top-to-bottom
+
68  using const_iterator = typename const_t::iterator; // may be used to examine, but not to modify values
+
69  using const_reference = typename const_t::reference; // behaves as a const reference
+
70  using pointer = typename std::iterator_traits<iterator>::pointer; // behaves as a pointer to the value type
+
71  using reverse_iterator = std::reverse_iterator<iterator>;
+
72  using size_type = std::size_t;
+
73 
+
74 // aliases required by ConstRandomAccess2DImageViewConcept
+
75  using xy_locator = locator;
+
76  using x_iterator = typename xy_locator::x_iterator; // pixel iterator along a row
+
77  using y_iterator = typename xy_locator::y_iterator; // pixel iterator along a column
+
78  using x_coord_t = typename xy_locator::x_coord_t;
+
79  using y_coord_t = typename xy_locator::y_coord_t;
+
80 
+
81  template <typename Deref> struct add_deref
+
82  {
+ +
84  static type make(const image_view<Loc>& iv, const Deref& d)
+
85  {
+
86  return type(iv.dimensions(), Loc::template add_deref<Deref>::make(iv.pixels(),d));
+
87  }
+
88  };
+
89 
+
90  image_view() : _dimensions(0,0) {}
+
91  template <typename View> image_view(const View& iv) : _dimensions(iv.dimensions()), _pixels(iv.pixels()) {}
+
92 
+
93  template <typename L2> image_view(const point_t& sz , const L2& loc) : _dimensions(sz), _pixels(loc) {}
+
94  template <typename L2> image_view(coord_t width, coord_t height, const L2& loc) : _dimensions(x_coord_t(width),y_coord_t(height)), _pixels(loc) {}
+
95 
+
96  template <typename View> image_view& operator=(const View& iv) { _pixels=iv.pixels(); _dimensions=iv.dimensions(); return *this; }
+
97  image_view& operator=(const image_view& iv) { _pixels=iv.pixels(); _dimensions=iv.dimensions(); return *this; }
98 
-
104  void swap(image_view<Loc>& other)
-
105  {
-
106  using boost::gil::swap;
-
107  swap(*this, other);
-
108  }
-
109 
-
114  bool empty() const { return !(width() > 0 && height() > 0); }
-
115 
-
120  reference front() const { return *begin(); }
-
121 
-
126  reference back() const { return *rbegin(); }
-
127 
-
128  const point_t& dimensions() const { return _dimensions; }
-
129  const locator& pixels() const { return _pixels; }
-
130  x_coord_t width() const { return dimensions().x; }
-
131  y_coord_t height() const { return dimensions().y; }
-
132  std::size_t num_channels() const { return gil::num_channels<value_type>::value; }
-
133  bool is_1d_traversable() const { return _pixels.is_1d_traversable(width()); }
-
134 
-
135  //\{@
-
137  size_type size() const { return width()*height(); }
-
138  iterator begin() const { return iterator(_pixels,_dimensions.x); }
-
139  iterator end() const { return begin()+(difference_type)size(); } // potential performance problem!
-
140  reverse_iterator rbegin() const { return reverse_iterator(end()); }
-
141  reverse_iterator rend() const { return reverse_iterator(begin()); }
-
142  reference operator[](difference_type i) const { return begin()[i]; } // potential performance problem!
-
143  iterator at(difference_type i)const { return begin()+i; }
-
144  iterator at(const point_t& p) const { return begin()+p.y*width()+p.x; }
-
145  iterator at(x_coord_t x, y_coord_t y)const { return begin()+y*width()+x; }
-
146 
-
147  //\}@
-
148 
-
149  //\{@
-
151  reference operator()(const point_t& p) const { return _pixels(p.x,p.y); }
-
152  reference operator()(x_coord_t x, y_coord_t y)const { return _pixels(x,y); }
-
153  template <std::size_t D> typename axis<D>::iterator axis_iterator(const point_t& p) const { return _pixels.template axis_iterator<D>(p); }
-
154  xy_locator xy_at(x_coord_t x, y_coord_t y) const { return _pixels+point_t(x_coord_t(x),y_coord_t(y)); }
-
155  locator xy_at(const point_t& p) const { return _pixels+p; }
-
156  //\}@
-
157 
-
158  //\{@
-
160  x_iterator x_at(x_coord_t x, y_coord_t y) const { return _pixels.x_at(x,y); }
-
161  x_iterator x_at(const point_t& p) const { return _pixels.x_at(p); }
-
162  x_iterator row_begin(y_coord_t y) const { return x_at(0,y); }
-
163  x_iterator row_end(y_coord_t y) const { return x_at(width(),y); }
-
164  //\}@
-
165 
-
166  //\{@
-
168  y_iterator y_at(x_coord_t x, y_coord_t y) const { return xy_at(x,y).y(); }
-
169  y_iterator y_at(const point_t& p) const { return xy_at(p).y(); }
-
170  y_iterator col_begin(x_coord_t x) const { return y_at(x,0); }
-
171  y_iterator col_end(x_coord_t x) const { return y_at(x,height()); }
-
172  //\}@
-
173 
-
174 private:
-
175  template <typename L2> friend class image_view;
-
176 
-
177  point_t _dimensions;
-
178  xy_locator _pixels;
-
179 };
-
180 
-
181 template <typename L2>
-
182 inline void swap(image_view<L2>& x, image_view<L2>& y) {
-
183  using std::swap;
-
184  swap(x._dimensions,y._dimensions);
-
185  swap(x._pixels, y._pixels); // TODO: Extend further
-
186 }
-
187 
-
189 // PixelBasedConcept
-
191 
-
192 template <typename L>
-
193 struct channel_type<image_view<L> > : public channel_type<L> {};
-
194 
-
195 template <typename L>
-
196 struct color_space_type<image_view<L> > : public color_space_type<L> {};
-
197 
-
198 template <typename L>
-
199 struct channel_mapping_type<image_view<L> > : public channel_mapping_type<L> {};
-
200 
-
201 template <typename L>
-
202 struct is_planar<image_view<L> > : public is_planar<L> {};
-
203 
-
205 // HasDynamicXStepTypeConcept
-
207 
-
208 template <typename L>
-
209 struct dynamic_x_step_type<image_view<L> > {
-
210  typedef image_view<typename dynamic_x_step_type<L>::type> type;
-
211 };
-
212 
-
214 // HasDynamicYStepTypeConcept
-
216 
-
217 template <typename L>
-
218 struct dynamic_y_step_type<image_view<L> > {
-
219  typedef image_view<typename dynamic_y_step_type<L>::type> type;
-
220 };
-
221 
-
223 // HasTransposedTypeConcept
-
225 
-
226 template <typename L>
-
227 struct transposed_type<image_view<L> > {
-
228  typedef image_view<typename transposed_type<L>::type> type;
-
229 };
-
230 
-
231 }} // namespace boost::gil
-
232 
-
233 #endif
+
99  template <typename View> bool operator==(const View& v) const { return pixels()==v.pixels() && dimensions()==v.dimensions(); }
+
100  template <typename View> bool operator!=(const View& v) const { return !(*this==v); }
+
101 
+
102  template <typename L2> friend void swap(image_view<L2>& x, image_view<L2>& y);
+
103 
+
109  void swap(image_view<Loc>& other)
+
110  {
+
111  using boost::gil::swap;
+
112  swap(*this, other);
+
113  }
+
114 
+
119  bool empty() const { return !(width() > 0 && height() > 0); }
+
120 
+
125  reference front() const { return *begin(); }
+
126 
+
131  reference back() const { return *rbegin(); }
+
132 
+
133  const point_t& dimensions() const { return _dimensions; }
+
134  const locator& pixels() const { return _pixels; }
+
135  x_coord_t width() const { return dimensions().x; }
+
136  y_coord_t height() const { return dimensions().y; }
+
137  std::size_t num_channels() const { return gil::num_channels<value_type>::value; }
+
138  bool is_1d_traversable() const { return _pixels.is_1d_traversable(width()); }
+
139 
+
140  //\{@
+
142  size_type size() const { return width()*height(); }
+
143  iterator begin() const { return iterator(_pixels,_dimensions.x); }
+
144  iterator end() const { return begin()+(difference_type)size(); } // potential performance problem!
+
145  reverse_iterator rbegin() const { return reverse_iterator(end()); }
+
146  reverse_iterator rend() const { return reverse_iterator(begin()); }
+
147  reference operator[](difference_type i) const { return begin()[i]; } // potential performance problem!
+
148  iterator at(difference_type i)const { return begin()+i; }
+
149  iterator at(const point_t& p) const { return begin()+p.y*width()+p.x; }
+
150  iterator at(x_coord_t x, y_coord_t y)const { return begin()+y*width()+x; }
+
151 
+
152  //\}@
+
153 
+
154  //\{@
+
156  reference operator()(const point_t& p) const { return _pixels(p.x,p.y); }
+
157  reference operator()(x_coord_t x, y_coord_t y)const { return _pixels(x,y); }
+
158  template <std::size_t D> typename axis<D>::iterator axis_iterator(const point_t& p) const { return _pixels.template axis_iterator<D>(p); }
+
159  xy_locator xy_at(x_coord_t x, y_coord_t y) const { return _pixels+point_t(x_coord_t(x),y_coord_t(y)); }
+
160  locator xy_at(const point_t& p) const { return _pixels+p; }
+
161  //\}@
+
162 
+
163  //\{@
+
165  x_iterator x_at(x_coord_t x, y_coord_t y) const { return _pixels.x_at(x,y); }
+
166  x_iterator x_at(const point_t& p) const { return _pixels.x_at(p); }
+
167  x_iterator row_begin(y_coord_t y) const { return x_at(0,y); }
+
168  x_iterator row_end(y_coord_t y) const { return x_at(width(),y); }
+
169  //\}@
+
170 
+
171  //\{@
+
173  y_iterator y_at(x_coord_t x, y_coord_t y) const { return xy_at(x,y).y(); }
+
174  y_iterator y_at(const point_t& p) const { return xy_at(p).y(); }
+
175  y_iterator col_begin(x_coord_t x) const { return y_at(x,0); }
+
176  y_iterator col_end(x_coord_t x) const { return y_at(x,height()); }
+
177  //\}@
+
178 
+
179 private:
+
180  template <typename L2> friend class image_view;
+
181 
+
182  point_t _dimensions;
+
183  xy_locator _pixels;
+
184 };
+
185 
+
186 template <typename L2>
+
187 inline void swap(image_view<L2>& x, image_view<L2>& y) {
+
188  using std::swap;
+
189  swap(x._dimensions,y._dimensions);
+
190  swap(x._pixels, y._pixels); // TODO: Extend further
+
191 }
+
192 
+
194 // PixelBasedConcept
+
196 
+
197 template <typename L>
+
198 struct channel_type<image_view<L> > : public channel_type<L> {};
+
199 
+
200 template <typename L>
+
201 struct color_space_type<image_view<L> > : public color_space_type<L> {};
+
202 
+
203 template <typename L>
+
204 struct channel_mapping_type<image_view<L> > : public channel_mapping_type<L> {};
+
205 
+
206 template <typename L>
+
207 struct is_planar<image_view<L> > : public is_planar<L> {};
+
208 
+
210 // HasDynamicXStepTypeConcept
+
212 
+
213 template <typename L>
+
214 struct dynamic_x_step_type<image_view<L> > {
+
215  using type = image_view<typename dynamic_x_step_type<L>::type>;
+
216 };
+
217 
+
219 // HasDynamicYStepTypeConcept
+
221 
+
222 template <typename L>
+
223 struct dynamic_y_step_type<image_view<L> > {
+
224  using type = image_view<typename dynamic_y_step_type<L>::type>;
+
225 };
+
226 
+
228 // HasTransposedTypeConcept
+
230 
+
231 template <typename L>
+
232 struct transposed_type<image_view<L> > {
+
233  using type = image_view<typename transposed_type<L>::type>;
+
234 };
+
235 
+
236 }} // namespace boost::gil
+
237 
+
238 #endif
A lightweight object that interprets memory as a 2D array of pixels. Models ImageViewConcept,PixelBasedConcept,HasDynamicXStepTypeConcept,HasDynamicYStepTypeConcept,HasTransposedTypeConcept.
Definition: image_view.hpp:50
-
reference back() const
Returns a reference to the last element in raster order.
Definition: image_view.hpp:126
-
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:480
-
bool empty() const
Returns true if the view has no elements, false otherwise.
Definition: image_view.hpp:114
+
reference back() const
Returns a reference to the last element in raster order.
Definition: image_view.hpp:131
+
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:481
+
bool empty() const
Returns true if the view has no elements, false otherwise.
Definition: image_view.hpp:119
Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept, PixelBasedConcept, HasDynamicXStepTypeConcept.
Definition: iterator_from_2d.hpp:43
-
void swap(image_view< Loc > &other)
Exchanges the elements of the current view with those of other in constant time.
Definition: image_view.hpp:104
-
reference front() const
Returns a reference to the first element in raster order.
Definition: image_view.hpp:120
+
void swap(image_view< Loc > &other)
Exchanges the elements of the current view with those of other in constant time.
Definition: image_view.hpp:109
+
reference front() const
Returns a reference to the first element in raster order.
Definition: image_view.hpp:125
@@ -238,7 +243,7 @@ diff --git a/develop/doc/html/reference/image__view__factory_8hpp_source.html b/develop/doc/html/reference/image__view__factory_8hpp_source.html index 2c848a338..856e0387f 100644 --- a/develop/doc/html/reference/image__view__factory_8hpp_source.html +++ b/develop/doc/html/reference/image__view__factory_8hpp_source.html @@ -90,7 +90,7 @@
53 interleaved_view(std::size_t width, std::size_t height,
54  Iterator pixels, std::ptrdiff_t rowsize_in_bytes) {
-
55  typedef typename type_from_x_iterator<Iterator>::view_t RView;
+
55  using RView = typename type_from_x_iterator<Iterator>::view_t;
56  return RView(width, height, typename RView::locator(pixels, rowsize_in_bytes));
57 }
58 
@@ -109,10 +109,10 @@
75  template <typename View, bool IsMutable> struct channel_pointer_type_impl;
76 
77  template <typename View> struct channel_pointer_type_impl<View, true> {
-
78  typedef typename channel_type<View>::type* type;
+
78  using type = typename channel_type<View>::type *;
79  };
80  template <typename View> struct channel_pointer_type_impl<View, false> {
-
81  typedef const typename channel_type<View>::type* type;
+
81  using type = const typename channel_type<View>::type *;
82  };
83 
84  template <typename View> struct channel_pointer_type
@@ -155,17 +155,17 @@
132  template <typename SrcView, typename CC, typename DstP, typename SrcP>
133  struct _color_converted_view_type {
134  private:
- -
136  typedef typename SrcView::template add_deref<deref_t> add_ref_t;
+ +
136  using add_ref_t = typename SrcView::template add_deref<deref_t>;
137  public:
-
138  typedef typename add_ref_t::type type;
+
138  using type = typename add_ref_t::type;
139  static type make(const SrcView& sv,CC cc) {return add_ref_t::make(sv,deref_t(cc));}
140  };
141 
142  // If the Src view has the same pixel type as the target, there is no need for color conversion
143  template <typename SrcView, typename CC, typename DstP>
144  struct _color_converted_view_type<SrcView,CC,DstP,DstP> {
-
145  typedef SrcView type;
+
145  using type = SrcView;
146  static type make(const SrcView& sv,CC) {return sv;}
147  };
148 } // namespace detail
@@ -194,42 +194,42 @@
180 
182 template <typename View>
183 inline typename dynamic_y_step_type<View>::type flipped_up_down_view(const View& src) {
-
184  typedef typename dynamic_y_step_type<View>::type RView;
+
184  using RView = typename dynamic_y_step_type<View>::type;
185  return RView(src.dimensions(),typename RView::xy_locator(src.xy_at(0,src.height()-1),-1));
186 }
187 
191 
193 template <typename View>
194 inline typename dynamic_x_step_type<View>::type flipped_left_right_view(const View& src) {
-
195  typedef typename dynamic_x_step_type<View>::type RView;
+
195  using RView = typename dynamic_x_step_type<View>::type;
196  return RView(src.dimensions(),typename RView::xy_locator(src.xy_at(src.width()-1,0),-1,1));
197 }
198 
202 
204 template <typename View>
205 inline typename dynamic_xy_step_transposed_type<View>::type transposed_view(const View& src) {
-
206  typedef typename dynamic_xy_step_transposed_type<View>::type RView;
+
206  using RView = typename dynamic_xy_step_transposed_type<View>::type;
207  return RView(src.height(),src.width(),typename RView::xy_locator(src.xy_at(0,0),1,1,true));
208 }
209 
213 
215 template <typename View>
216 inline typename dynamic_xy_step_transposed_type<View>::type rotated90cw_view(const View& src) {
-
217  typedef typename dynamic_xy_step_transposed_type<View>::type RView;
+
217  using RView = typename dynamic_xy_step_transposed_type<View>::type;
218  return RView(src.height(),src.width(),typename RView::xy_locator(src.xy_at(0,src.height()-1),-1,1,true));
219 }
220 
224 
226 template <typename View>
227 inline typename dynamic_xy_step_transposed_type<View>::type rotated90ccw_view(const View& src) {
-
228  typedef typename dynamic_xy_step_transposed_type<View>::type RView;
+
228  using RView = typename dynamic_xy_step_transposed_type<View>::type;
229  return RView(src.height(),src.width(),typename RView::xy_locator(src.xy_at(src.width()-1,0),1,-1,true));
230 }
231 
235 
237 template <typename View>
238 inline typename dynamic_xy_step_type<View>::type rotated180_view(const View& src) {
-
239  typedef typename dynamic_xy_step_type<View>::type RView;
+
239  using RView = typename dynamic_xy_step_type<View>::type;
240  return RView(src.dimensions(),typename RView::xy_locator(src.xy_at(src.width()-1,src.height()-1),-1,-1));
241 }
242 
@@ -248,7 +248,7 @@
264 template <typename View>
265 inline typename dynamic_xy_step_type<View>::type subsampled_view(const View& src, typename View::coord_t xStep, typename View::coord_t yStep) {
266  assert(xStep>0 && yStep>0);
-
267  typedef typename dynamic_xy_step_type<View>::type RView;
+
267  using RView = typename dynamic_xy_step_type<View>::type;
268  return RView((src.width()+(xStep-1))/xStep,(src.height()+(yStep-1))/yStep,
269  typename RView::xy_locator(src.xy_at(0,0),xStep,yStep));
270 }
@@ -266,12 +266,12 @@
286  // or images with a step
287  template <typename View>
288  struct __nth_channel_view_basic<View,false> {
-
289  typedef typename view_type<typename channel_type<View>::type, gray_layout_t, false, true, view_is_mutable<View>::value>::type type;
+
289  using type = typename view_type<typename channel_type<View>::type, gray_layout_t, false, true, view_is_mutable<View>::value>::type;
290 
291  static type make(const View& src, int n) {
-
292  typedef typename type::xy_locator locator_t;
-
293  typedef typename type::x_iterator x_iterator_t;
-
294  typedef typename iterator_adaptor_get_base<x_iterator_t>::type x_iterator_base_t;
+
292  using locator_t = typename type::xy_locator;
+
293  using x_iterator_t = typename type::x_iterator;
+
294  using x_iterator_base_t = typename iterator_adaptor_get_base<x_iterator_t>::type;
295  x_iterator_t sit(x_iterator_base_t(&(src(0,0)[n])),src.pixels().pixel_size());
296  return type(src.dimensions(),locator_t(sit, src.pixels().row_size()));
297  }
@@ -280,9 +280,9 @@
300  // nth_channel_view when the channels are together in memory (true for simple grayscale or planar images)
301  template <typename View>
302  struct __nth_channel_view_basic<View,true> {
-
303  typedef typename view_type<typename channel_type<View>::type, gray_layout_t, false, false, view_is_mutable<View>::value>::type type;
+
303  using type = typename view_type<typename channel_type<View>::type, gray_layout_t, false, false, view_is_mutable<View>::value>::type;
304  static type make(const View& src, int n) {
-
305  typedef typename type::x_iterator x_iterator_t;
+
305  using x_iterator_t = typename type::x_iterator;
306  return interleaved_view(src.width(),src.height(),(x_iterator_t)&(src(0,0)[n]), src.pixels().row_size());
307  }
308  };
@@ -292,7 +292,7 @@
312  // For basic (memory-based) views dispatch to __nth_channel_view_basic
313  template <typename View> struct __nth_channel_view<View,true> {
314  private:
-
315  typedef typename View::x_iterator src_x_iterator;
+
315  using src_x_iterator = typename View::x_iterator;
316 
317  // Determines whether the channels of a given pixel iterator are adjacent in memory.
318  // Planar and grayscale iterators have channels adjacent in memory, whereas multi-channel interleaved and iterators with non-fundamental step do not.
@@ -301,7 +301,7 @@
321  (is_planar<src_x_iterator>::value ||
322  num_channels<View>::value==1));
323  public:
-
324  typedef typename __nth_channel_view_basic<View,adjacent>::type type;
+
324  using type = typename __nth_channel_view_basic<View,adjacent>::type;
325 
326  static type make(const View& src, int n) {
327  return __nth_channel_view_basic<View,adjacent>::make(src,n);
@@ -313,17 +313,17 @@
338  BOOST_STATIC_CONSTANT(bool, is_mutable=pixel_is_reference<SrcP>::value && pixel_reference_is_mutable<SrcP>::value);
339  private:
-
340  typedef typename remove_reference<SrcP>::type src_pixel_t;
-
341  typedef typename channel_type<src_pixel_t>::type channel_t;
-
342  typedef typename src_pixel_t::const_reference const_ref_t;
- +
340  using src_pixel_t = typename remove_reference<SrcP>::type;
+
341  using channel_t = typename channel_type<src_pixel_t>::type;
+
342  using const_ref_t = typename src_pixel_t::const_reference;
+
344  public:
- - - -
348  typedef SrcP argument_type;
-
349  typedef typename mpl::if_c<is_mutable, ref_t, value_type>::type reference;
-
350  typedef reference result_type;
+ +
346  using value_type = typename pixel_value_type<channel_t,gray_layout_t>::type;
+ +
348  using argument_type = SrcP;
+
349  using reference = typename mpl::if_c<is_mutable, ref_t, value_type>::type;
+
350  using result_type = reference;
351 
352  nth_channel_deref_fn(int n=0) : _n(n) {}
353  template <typename P> nth_channel_deref_fn(const nth_channel_deref_fn<P>& d) : _n(d._n) {}
@@ -337,10 +337,10 @@
361 
362  template <typename View> struct __nth_channel_view<View,false> {
363  private:
- -
365  typedef typename View::template add_deref<deref_t> AD;
+ +
365  using AD = typename View::template add_deref<deref_t>;
366  public:
-
367  typedef typename AD::type type;
+
367  using type = typename AD::type;
368  static type make(const View& src, int n) {
369  return AD::make(src, deref_t(n));
370  }
@@ -351,9 +351,9 @@
382 private:
383  GIL_CLASS_REQUIRE(View, boost::gil, ImageViewConcept)
-
384  typedef detail::__nth_channel_view<View,view_is_basic<View>::value> VB;
+
384  using VB = detail::__nth_channel_view<View,view_is_basic<View>::value>;
385 public:
-
386  typedef typename VB::type type;
+
386  using type = typename VB::type;
387  static type make(const View& src, int n) { return VB::make(src,n); }
388 };
389 
@@ -378,14 +378,14 @@
412  template <int K, typename View>
413  struct __kth_channel_view_basic<K,View,false> {
414  private:
-
415  typedef typename kth_element_type<typename View::value_type,K>::type channel_t;
+
415  using channel_t = typename kth_element_type<typename View::value_type,K>::type;
416  public:
-
417  typedef typename view_type<channel_t, gray_layout_t, false, true, view_is_mutable<View>::value>::type type;
+
417  using type = typename view_type<channel_t, gray_layout_t, false, true, view_is_mutable<View>::value>::type;
418 
419  static type make(const View& src) {
-
420  typedef typename type::xy_locator locator_t;
-
421  typedef typename type::x_iterator x_iterator_t;
-
422  typedef typename iterator_adaptor_get_base<x_iterator_t>::type x_iterator_base_t;
+
420  using locator_t = typename type::xy_locator;
+
421  using x_iterator_t = typename type::x_iterator;
+
422  using x_iterator_base_t = typename iterator_adaptor_get_base<x_iterator_t>::type;
423  x_iterator_t sit(x_iterator_base_t(&gil::at_c<K>(src(0,0))),src.pixels().pixel_size());
424  return type(src.dimensions(),locator_t(sit, src.pixels().row_size()));
425  }
@@ -395,11 +395,11 @@
429  template <int K, typename View>
430  struct __kth_channel_view_basic<K,View,true> {
431  private:
-
432  typedef typename kth_element_type<typename View::value_type, K>::type channel_t;
+
432  using channel_t = typename kth_element_type<typename View::value_type, K>::type;
433  public:
-
434  typedef typename view_type<channel_t, gray_layout_t, false, false, view_is_mutable<View>::value>::type type;
+
434  using type = typename view_type<channel_t, gray_layout_t, false, false, view_is_mutable<View>::value>::type;
435  static type make(const View& src) {
-
436  typedef typename type::x_iterator x_iterator_t;
+
436  using x_iterator_t = typename type::x_iterator;
437  return interleaved_view(src.width(),src.height(),(x_iterator_t)&gil::at_c<K>(src(0,0)), src.pixels().row_size());
438  }
439  };
@@ -409,7 +409,7 @@
443  // For basic (memory-based) views dispatch to __kth_channel_view_basic
444  template <int K, typename View> struct __kth_channel_view<K,View,true> {
445  private:
-
446  typedef typename View::x_iterator src_x_iterator;
+
446  using src_x_iterator = typename View::x_iterator;
447 
448  // Determines whether the channels of a given pixel iterator are adjacent in memory.
449  // Planar and grayscale iterators have channels adjacent in memory, whereas multi-channel interleaved and iterators with non-fundamental step do not.
@@ -418,7 +418,7 @@
452  (is_planar<src_x_iterator>::value ||
453  num_channels<View>::value==1));
454  public:
-
455  typedef typename __kth_channel_view_basic<K,View,adjacent>::type type;
+
455  using type = typename __kth_channel_view_basic<K,View,adjacent>::type;
456 
457  static type make(const View& src) {
458  return __kth_channel_view_basic<K,View,adjacent>::make(src);
@@ -430,17 +430,17 @@
469  BOOST_STATIC_CONSTANT(bool, is_mutable=pixel_is_reference<SrcP>::value && pixel_reference_is_mutable<SrcP>::value);
470  private:
-
471  typedef typename remove_reference<SrcP>::type src_pixel_t;
-
472  typedef typename kth_element_type<src_pixel_t, K>::type channel_t;
-
473  typedef typename src_pixel_t::const_reference const_ref_t;
- +
471  using src_pixel_t = typename remove_reference<SrcP>::type;
+
472  using channel_t = typename kth_element_type<src_pixel_t, K>::type;
+
473  using const_ref_t = typename src_pixel_t::const_reference;
+
475  public:
- - - -
479  typedef SrcP argument_type;
-
480  typedef typename mpl::if_c<is_mutable, ref_t, value_type>::type reference;
-
481  typedef reference result_type;
+ +
477  using value_type = typename pixel_value_type<channel_t,gray_layout_t>::type;
+ +
479  using argument_type = SrcP;
+
480  using reference = typename mpl::if_c<is_mutable, ref_t, value_type>::type;
+
481  using result_type = reference;
482 
484  template <typename P> kth_channel_deref_fn(const kth_channel_deref_fn<K,P>&) {}
@@ -452,10 +452,10 @@
490 
491  template <int K, typename View> struct __kth_channel_view<K,View,false> {
492  private:
- -
494  typedef typename View::template add_deref<deref_t> AD;
+ +
494  using AD = typename View::template add_deref<deref_t>;
495  public:
-
496  typedef typename AD::type type;
+
496  using type = typename AD::type;
497  static type make(const View& src) {
498  return AD::make(src, deref_t());
499  }
@@ -466,9 +466,9 @@
511 private:
512  GIL_CLASS_REQUIRE(View, boost::gil, ImageViewConcept)
-
513  typedef detail::__kth_channel_view<K,View,view_is_basic<View>::value> VB;
+
513  using VB = detail::__kth_channel_view<K,View,view_is_basic<View>::value>;
514 public:
-
515  typedef typename VB::type type;
+
515  using type = typename VB::type;
516  static type make(const View& src) { return VB::make(src); }
517 };
518 
@@ -509,7 +509,7 @@ diff --git a/develop/doc/html/reference/index.html b/develop/doc/html/reference/index.html index 05944128a..0f38066fc 100644 --- a/develop/doc/html/reference/index.html +++ b/develop/doc/html/reference/index.html @@ -126,7 +126,7 @@ Modules diff --git a/develop/doc/html/reference/iterator__from__2d_8hpp_source.html b/develop/doc/html/reference/iterator__from__2d_8hpp_source.html index d61a5a7c7..a41e1c0dc 100644 --- a/develop/doc/html/reference/iterator__from__2d_8hpp_source.html +++ b/develop/doc/html/reference/iterator__from__2d_8hpp_source.html @@ -86,15 +86,15 @@
47  typename Loc2::coord_t> {
48  GIL_CLASS_REQUIRE(Loc2, boost::gil, PixelLocatorConcept)
49 public:
-
50  typedef iterator_facade<iterator_from_2d<Loc2>,
+
50  using parent_t = iterator_facade<iterator_from_2d<Loc2>,
51  typename Loc2::value_type,
52  std::random_access_iterator_tag,
53  typename Loc2::reference,
-
54  typename Loc2::coord_t> parent_t;
-
55  typedef typename parent_t::reference reference;
-
56  typedef typename parent_t::difference_type difference_type;
-
57  typedef typename Loc2::x_iterator x_iterator;
-
58  typedef typename Loc2::point_t point_t;
+
54  typename Loc2::coord_t>;
+
55  using reference = typename parent_t::reference;
+
56  using difference_type = typename parent_t::difference_type;
+
57  using x_iterator = typename Loc2::x_iterator;
+
58  using point_t = typename Loc2::point_t;
59 
60  std::ptrdiff_t width() const { return _width; } // number of pixels per image row
61  std::ptrdiff_t x_pos() const { return _coords.x; } // current x position
@@ -165,7 +165,7 @@
128 
129 template <typename Loc> // Models PixelLocatorConcept
130 struct const_iterator_type<iterator_from_2d<Loc> > {
-
131  typedef iterator_from_2d<typename Loc::const_t> type;
+
131  using type = iterator_from_2d<typename Loc::const_t>;
132 };
133 
134 template <typename Loc> // Models PixelLocatorConcept
@@ -176,7 +176,7 @@
141 
142 template <typename Loc>
143 struct dynamic_x_step_type<iterator_from_2d<Loc> > {
-
144  typedef iterator_from_2d<typename dynamic_x_step_type<Loc>::type> type;
+
144  using type = iterator_from_2d<typename dynamic_x_step_type<Loc>::type>;
145 };
146 
147 
@@ -206,7 +206,7 @@ diff --git a/develop/doc/html/reference/jpeg_8hpp_source.html b/develop/doc/html/reference/jpeg_8hpp_source.html index 03b212b9b..2a528bd1e 100644 --- a/develop/doc/html/reference/jpeg_8hpp_source.html +++ b/develop/doc/html/reference/jpeg_8hpp_source.html @@ -71,7 +71,7 @@ diff --git a/develop/doc/html/reference/locator_8hpp_source.html b/develop/doc/html/reference/locator_8hpp_source.html index a0abb6ac4..5e20bb87f 100644 --- a/develop/doc/html/reference/locator_8hpp_source.html +++ b/develop/doc/html/reference/locator_8hpp_source.html @@ -90,228 +90,230 @@
38 template <typename T> struct num_channels;
39 
40 // The type of a locator or a view that has X and Y swapped. By default it is the same
-
41 template <typename T> struct transposed_type {
-
42  typedef T type;
-
43 };
-
44 
-
103 
-
104 template <typename Loc, typename XIterator, typename YIterator> // The concrete subclass, the X-iterator and the Y-iterator
- +
41 template <typename T>
+
42 struct transposed_type { using type = T; };
+
43 
+
102 
+
103 template <typename Loc, typename XIterator, typename YIterator> // The concrete subclass, the X-iterator and the Y-iterator
+ +
105 {
106 public:
-
107  typedef XIterator x_iterator;
-
108  typedef YIterator y_iterator;
+
107  using x_iterator = XIterator;
+
108  using y_iterator = YIterator;
109 
-
110  // typedefs required by ConstRandomAccessNDLocatorConcept
+
110  // aliasesrequired by ConstRandomAccessNDLocatorConcept
111  static const std::size_t num_dimensions=2;
-
112  typedef typename std::iterator_traits<x_iterator>::value_type value_type;
-
113  typedef typename std::iterator_traits<x_iterator>::reference reference; // result of dereferencing
-
114  typedef typename std::iterator_traits<x_iterator>::difference_type coord_t; // 1D difference type (same for all dimensions)
-
115  typedef point<coord_t> difference_type; // result of operator-(locator,locator)
-
116  typedef difference_type point_t;
-
117  template <std::size_t D> struct axis {
-
118  typedef typename detail::locator_axis<D,Loc>::coord_t coord_t;
-
119  typedef typename detail::locator_axis<D,Loc>::iterator iterator;
-
120  };
-
121 
-
122 // typedefs required by ConstRandomAccess2DLocatorConcept
-
123  typedef typename point_t::template axis<0>::coord_t x_coord_t;
-
124  typedef typename point_t::template axis<1>::coord_t y_coord_t;
-
125 
-
126  bool operator!=(const Loc& p) const { return !(concrete()==p); }
-
127 
-
128  x_iterator x_at(x_coord_t dx, y_coord_t dy) const { Loc tmp=concrete(); tmp+=point_t(dx,dy); return tmp.x(); }
-
129  x_iterator x_at(const difference_type& d) const { Loc tmp=concrete(); tmp+=d; return tmp.x(); }
-
130  y_iterator y_at(x_coord_t dx, y_coord_t dy) const { Loc tmp=concrete(); tmp+=point_t(dx,dy); return tmp.y(); }
-
131  y_iterator y_at(const difference_type& d) const { Loc tmp=concrete(); tmp+=d; return tmp.y(); }
-
132  Loc xy_at(x_coord_t dx, y_coord_t dy) const { Loc tmp=concrete(); tmp+=point_t(dx,dy); return tmp; }
-
133  Loc xy_at(const difference_type& d) const { Loc tmp=concrete(); tmp+=d; return tmp; }
-
134 
-
135  template <std::size_t D> typename axis<D>::iterator& axis_iterator() { return detail::locator_axis<D,Loc>()(concrete()); }
-
136  template <std::size_t D> typename axis<D>::iterator const& axis_iterator() const { return detail::locator_axis<D,Loc>()(concrete()); }
-
137  template <std::size_t D> typename axis<D>::iterator axis_iterator(const point_t& p) const { return detail::locator_axis<D,Loc>()(concrete(),p); }
-
138 
-
139  reference operator()(x_coord_t dx, y_coord_t dy) const { return *x_at(dx,dy); }
-
140  reference operator[](const difference_type& d) const { return *x_at(d.x,d.y); }
-
141 
-
142  reference operator*() const { return *concrete().x(); }
-
143 
-
144  Loc& operator+=(const difference_type& d) { concrete().x()+=d.x; concrete().y()+=d.y; return concrete(); }
-
145  Loc& operator-=(const difference_type& d) { concrete().x()-=d.x; concrete().y()-=d.y; return concrete(); }
-
146 
-
147  Loc operator+(const difference_type& d) const { return xy_at(d); }
-
148  Loc operator-(const difference_type& d) const { return xy_at(-d); }
-
149 
-
150  // Some locators can cache 2D coordinates for faster subsequent access. By default there is no caching
- -
152  cached_location_t cache_location(const difference_type& d) const { return d; }
-
153  cached_location_t cache_location(x_coord_t dx, y_coord_t dy)const { return difference_type(dx,dy); }
-
154 
-
155 private:
-
156  Loc& concrete() { return (Loc&)*this; }
-
157  const Loc& concrete() const { return (const Loc&)*this; }
-
158 
-
159  template <typename X> friend class pixel_2d_locator;
-
160 };
-
161 
-
162 // helper classes for each axis of pixel_2d_locator_base
-
163 namespace detail {
-
164  template <typename Loc>
-
165  class locator_axis<0,Loc> {
-
166  typedef typename Loc::point_t point_t;
-
167  public:
-
168  typedef typename point_t::template axis<0>::coord_t coord_t;
-
169  typedef typename Loc::x_iterator iterator;
-
170 
-
171  inline iterator& operator()( Loc& loc) const { return loc.x(); }
-
172  inline iterator const& operator()(const Loc& loc) const { return loc.x(); }
-
173  inline iterator operator()( Loc& loc, const point_t& d) const { return loc.x_at(d); }
-
174  inline iterator operator()(const Loc& loc, const point_t& d) const { return loc.x_at(d); }
-
175  };
-
176 
-
177  template <typename Loc>
-
178  class locator_axis<1,Loc> {
-
179  typedef typename Loc::point_t point_t;
-
180  public:
-
181  typedef typename point_t::template axis<1>::coord_t coord_t;
-
182  typedef typename Loc::y_iterator iterator;
-
183 
-
184  inline iterator& operator()( Loc& loc) const { return loc.y(); }
-
185  inline iterator const& operator()(const Loc& loc) const { return loc.y(); }
-
186  inline iterator operator()( Loc& loc, const point_t& d) const { return loc.y_at(d); }
-
187  inline iterator operator()(const Loc& loc, const point_t& d) const { return loc.y_at(d); }
-
188  };
-
189 }
-
190 
-
191 template <typename Loc, typename XIt, typename YIt>
-
192 struct channel_type<pixel_2d_locator_base<Loc,XIt,YIt> > : public channel_type<XIt> {};
-
193 
-
194 template <typename Loc, typename XIt, typename YIt>
-
195 struct color_space_type<pixel_2d_locator_base<Loc,XIt,YIt> > : public color_space_type<XIt> {};
-
196 
-
197 template <typename Loc, typename XIt, typename YIt>
-
198 struct channel_mapping_type<pixel_2d_locator_base<Loc,XIt,YIt> > : public channel_mapping_type<XIt> {};
-
199 
-
200 template <typename Loc, typename XIt, typename YIt>
-
201 struct is_planar<pixel_2d_locator_base<Loc,XIt,YIt> > : public is_planar<XIt> {};
-
202 
-
223 
-
224 template <typename StepIterator>
-
225 class memory_based_2d_locator : public pixel_2d_locator_base<memory_based_2d_locator<StepIterator>, typename iterator_adaptor_get_base<StepIterator>::type, StepIterator> {
-
226  typedef memory_based_2d_locator<StepIterator> this_t;
-
227  GIL_CLASS_REQUIRE(StepIterator, boost::gil, StepIteratorConcept)
-
228 public:
-
229  typedef pixel_2d_locator_base<memory_based_2d_locator<StepIterator>, typename iterator_adaptor_get_base<StepIterator>::type, StepIterator> parent_t;
-
230  typedef memory_based_2d_locator<typename const_iterator_type<StepIterator>::type> const_t; // same as this type, but over const values
-
231 
-
232  typedef typename parent_t::coord_t coord_t;
-
233  typedef typename parent_t::x_coord_t x_coord_t;
-
234  typedef typename parent_t::y_coord_t y_coord_t;
-
235  typedef typename parent_t::x_iterator x_iterator;
-
236  typedef typename parent_t::y_iterator y_iterator;
-
237  typedef typename parent_t::difference_type difference_type;
-
238  typedef typename parent_t::reference reference;
-
239 
-
240  template <typename Deref> struct add_deref {
-
241  typedef memory_based_2d_locator<typename iterator_add_deref<StepIterator,Deref>::type> type;
-
242  static type make(const memory_based_2d_locator<StepIterator>& loc, const Deref& nderef) {
-
243  return type(iterator_add_deref<StepIterator,Deref>::make(loc.y(),nderef));
-
244  }
-
245  };
-
246 
-
247  memory_based_2d_locator() {}
-
248  memory_based_2d_locator(const StepIterator& yit) : _p(yit) {}
-
249  template <typename SI> memory_based_2d_locator(const memory_based_2d_locator<SI>& loc, coord_t y_step) : _p(loc.x(), loc.row_size()*y_step) {}
-
250  template <typename SI> memory_based_2d_locator(const memory_based_2d_locator<SI>& loc, coord_t x_step, coord_t y_step, bool transpose=false)
-
251  : _p(make_step_iterator(loc.x(),(transpose ? loc.row_size() : loc.pixel_size())*x_step),
-
252  (transpose ? loc.pixel_size() : loc.row_size())*y_step ) {}
-
253 
-
254  memory_based_2d_locator(x_iterator xit, std::ptrdiff_t row_bytes) : _p(xit,row_bytes) {}
-
255  template <typename X> memory_based_2d_locator(const memory_based_2d_locator<X>& pl) : _p(pl._p) {}
-
256  memory_based_2d_locator(const memory_based_2d_locator& pl) : _p(pl._p) {}
-
257 
-
258  bool operator==(const this_t& p) const { return _p==p._p; }
+
112  using value_type = typename std::iterator_traits<x_iterator>::value_type;
+
113  using reference = typename std::iterator_traits<x_iterator>::reference; // result of dereferencing
+
114  using coord_t = typename std::iterator_traits<x_iterator>::difference_type; // 1D difference type (same for all dimensions)
+
115  using difference_type = point<coord_t>; // result of operator-(locator,locator)
+
116  using point_t = difference_type;
+
117  template <std::size_t D> struct axis
+
118  {
+
119  using coord_t = typename detail::locator_axis<D,Loc>::coord_t;
+
120  using iterator = typename detail::locator_axis<D,Loc>::iterator;
+
121  };
+
122 
+
123 // aliases required by ConstRandomAccess2DLocatorConcept
+
124  using x_coord_t = typename point_t::template axis<0>::coord_t;
+
125  using y_coord_t = typename point_t::template axis<1>::coord_t;
+
126 
+
127  bool operator!=(const Loc& p) const { return !(concrete()==p); }
+
128 
+
129  x_iterator x_at(x_coord_t dx, y_coord_t dy) const { Loc tmp=concrete(); tmp+=point_t(dx,dy); return tmp.x(); }
+
130  x_iterator x_at(const difference_type& d) const { Loc tmp=concrete(); tmp+=d; return tmp.x(); }
+
131  y_iterator y_at(x_coord_t dx, y_coord_t dy) const { Loc tmp=concrete(); tmp+=point_t(dx,dy); return tmp.y(); }
+
132  y_iterator y_at(const difference_type& d) const { Loc tmp=concrete(); tmp+=d; return tmp.y(); }
+
133  Loc xy_at(x_coord_t dx, y_coord_t dy) const { Loc tmp=concrete(); tmp+=point_t(dx,dy); return tmp; }
+
134  Loc xy_at(const difference_type& d) const { Loc tmp=concrete(); tmp+=d; return tmp; }
+
135 
+
136  template <std::size_t D> typename axis<D>::iterator& axis_iterator() { return detail::locator_axis<D,Loc>()(concrete()); }
+
137  template <std::size_t D> typename axis<D>::iterator const& axis_iterator() const { return detail::locator_axis<D,Loc>()(concrete()); }
+
138  template <std::size_t D> typename axis<D>::iterator axis_iterator(const point_t& p) const { return detail::locator_axis<D,Loc>()(concrete(),p); }
+
139 
+
140  reference operator()(x_coord_t dx, y_coord_t dy) const { return *x_at(dx,dy); }
+
141  reference operator[](const difference_type& d) const { return *x_at(d.x,d.y); }
+
142 
+
143  reference operator*() const { return *concrete().x(); }
+
144 
+
145  Loc& operator+=(const difference_type& d) { concrete().x()+=d.x; concrete().y()+=d.y; return concrete(); }
+
146  Loc& operator-=(const difference_type& d) { concrete().x()-=d.x; concrete().y()-=d.y; return concrete(); }
+
147 
+
148  Loc operator+(const difference_type& d) const { return xy_at(d); }
+
149  Loc operator-(const difference_type& d) const { return xy_at(-d); }
+
150 
+
151  // Some locators can cache 2D coordinates for faster subsequent access. By default there is no caching
+ +
153  cached_location_t cache_location(const difference_type& d) const { return d; }
+
154  cached_location_t cache_location(x_coord_t dx, y_coord_t dy)const { return difference_type(dx,dy); }
+
155 
+
156 private:
+
157  Loc& concrete() { return (Loc&)*this; }
+
158  const Loc& concrete() const { return (const Loc&)*this; }
+
159 
+
160  template <typename X> friend class pixel_2d_locator;
+
161 };
+
162 
+
163 // helper classes for each axis of pixel_2d_locator_base
+
164 namespace detail {
+
165  template <typename Loc>
+
166  class locator_axis<0,Loc> {
+
167  using point_t = typename Loc::point_t;
+
168  public:
+
169  using coord_t = typename point_t::template axis<0>::coord_t;
+
170  using iterator = typename Loc::x_iterator;
+
171 
+
172  inline iterator& operator()( Loc& loc) const { return loc.x(); }
+
173  inline iterator const& operator()(const Loc& loc) const { return loc.x(); }
+
174  inline iterator operator()( Loc& loc, const point_t& d) const { return loc.x_at(d); }
+
175  inline iterator operator()(const Loc& loc, const point_t& d) const { return loc.x_at(d); }
+
176  };
+
177 
+
178  template <typename Loc>
+
179  class locator_axis<1,Loc> {
+
180  using point_t = typename Loc::point_t;
+
181  public:
+
182  using coord_t = typename point_t::template axis<1>::coord_t;
+
183  using iterator = typename Loc::y_iterator;
+
184 
+
185  inline iterator& operator()( Loc& loc) const { return loc.y(); }
+
186  inline iterator const& operator()(const Loc& loc) const { return loc.y(); }
+
187  inline iterator operator()( Loc& loc, const point_t& d) const { return loc.y_at(d); }
+
188  inline iterator operator()(const Loc& loc, const point_t& d) const { return loc.y_at(d); }
+
189  };
+
190 }
+
191 
+
192 template <typename Loc, typename XIt, typename YIt>
+
193 struct channel_type<pixel_2d_locator_base<Loc,XIt,YIt> > : public channel_type<XIt> {};
+
194 
+
195 template <typename Loc, typename XIt, typename YIt>
+
196 struct color_space_type<pixel_2d_locator_base<Loc,XIt,YIt> > : public color_space_type<XIt> {};
+
197 
+
198 template <typename Loc, typename XIt, typename YIt>
+
199 struct channel_mapping_type<pixel_2d_locator_base<Loc,XIt,YIt> > : public channel_mapping_type<XIt> {};
+
200 
+
201 template <typename Loc, typename XIt, typename YIt>
+
202 struct is_planar<pixel_2d_locator_base<Loc,XIt,YIt> > : public is_planar<XIt> {};
+
203 
+
224 
+
225 template <typename StepIterator>
+
226 class memory_based_2d_locator : public pixel_2d_locator_base<memory_based_2d_locator<StepIterator>, typename iterator_adaptor_get_base<StepIterator>::type, StepIterator> {
+
227  using this_t = memory_based_2d_locator<StepIterator>;
+
228  GIL_CLASS_REQUIRE(StepIterator, boost::gil, StepIteratorConcept)
+
229 public:
+
230  using parent_t = pixel_2d_locator_base<memory_based_2d_locator<StepIterator>, typename iterator_adaptor_get_base<StepIterator>::type, StepIterator>;
+
231  using const_t = memory_based_2d_locator<typename const_iterator_type<StepIterator>::type>; // same as this type, but over const values
+
232 
+
233  using coord_t = typename parent_t::coord_t;
+
234  using x_coord_t = typename parent_t::x_coord_t;
+
235  using y_coord_t = typename parent_t::y_coord_t;
+
236  using x_iterator = typename parent_t::x_iterator;
+
237  using y_iterator = typename parent_t::y_iterator;
+
238  using difference_type = typename parent_t::difference_type;
+
239  using reference = typename parent_t::reference;
+
240 
+
241  template <typename Deref> struct add_deref
+
242  {
+
243  using type = memory_based_2d_locator<typename iterator_add_deref<StepIterator,Deref>::type>;
+
244  static type make(const memory_based_2d_locator<StepIterator>& loc, const Deref& nderef) {
+
245  return type(iterator_add_deref<StepIterator,Deref>::make(loc.y(),nderef));
+
246  }
+
247  };
+
248 
+
249  memory_based_2d_locator() {}
+
250  memory_based_2d_locator(const StepIterator& yit) : _p(yit) {}
+
251  template <typename SI> memory_based_2d_locator(const memory_based_2d_locator<SI>& loc, coord_t y_step) : _p(loc.x(), loc.row_size()*y_step) {}
+
252  template <typename SI> memory_based_2d_locator(const memory_based_2d_locator<SI>& loc, coord_t x_step, coord_t y_step, bool transpose=false)
+
253  : _p(make_step_iterator(loc.x(),(transpose ? loc.row_size() : loc.pixel_size())*x_step),
+
254  (transpose ? loc.pixel_size() : loc.row_size())*y_step ) {}
+
255 
+
256  memory_based_2d_locator(x_iterator xit, std::ptrdiff_t row_bytes) : _p(xit,row_bytes) {}
+
257  template <typename X> memory_based_2d_locator(const memory_based_2d_locator<X>& pl) : _p(pl._p) {}
+
258  memory_based_2d_locator(const memory_based_2d_locator& pl) : _p(pl._p) {}
259 
-
260  x_iterator const& x() const { return _p.base(); }
-
261  y_iterator const& y() const { return _p; }
-
262  x_iterator& x() { return _p.base(); }
-
263  y_iterator& y() { return _p; }
-
264 
-
265  // These are faster versions of functions already provided in the superclass
-
266  x_iterator x_at (x_coord_t dx, y_coord_t dy) const { return memunit_advanced(x(), offset(dx,dy)); }
-
267  x_iterator x_at (const difference_type& d) const { return memunit_advanced(x(), offset(d.x,d.y)); }
-
268  this_t xy_at (x_coord_t dx, y_coord_t dy) const { return this_t(x_at( dx , dy ), row_size()); }
-
269  this_t xy_at (const difference_type& d) const { return this_t(x_at( d.x, d.y), row_size()); }
-
270  reference operator()(x_coord_t dx, y_coord_t dy) const { return memunit_advanced_ref(x(),offset(dx,dy)); }
-
271  reference operator[](const difference_type& d) const { return memunit_advanced_ref(x(),offset(d.x,d.y)); }
-
272  this_t& operator+=(const difference_type& d) { memunit_advance(x(),offset(d.x,d.y)); return *this; }
-
273  this_t& operator-=(const difference_type& d) { memunit_advance(x(),offset(-d.x,-d.y)); return *this; }
-
274 
-
275  // Memory-based locators can have 1D caching of 2D relative coordinates
-
276  typedef std::ptrdiff_t cached_location_t; // type used to store relative location (to allow for more efficient repeated access)
-
277  cached_location_t cache_location(const difference_type& d) const { return offset(d.x,d.y); }
-
278  cached_location_t cache_location(x_coord_t dx, y_coord_t dy)const { return offset(dx,dy); }
-
279  reference operator[](const cached_location_t& loc) const { return memunit_advanced_ref(x(),loc); }
-
280 
-
281  // Only make sense for memory-based locators
-
282  std::ptrdiff_t row_size() const { return memunit_step(y()); } // distance in mem units (bytes or bits) between adjacent rows
-
283  std::ptrdiff_t pixel_size() const { return memunit_step(x()); } // distance in mem units (bytes or bits) between adjacent pixels on the same row
-
284 
-
285  bool is_1d_traversable(x_coord_t width) const { return row_size()-pixel_size()*width==0; } // is there no gap at the end of each row?
+
260  bool operator==(const this_t& p) const { return _p==p._p; }
+
261 
+
262  x_iterator const& x() const { return _p.base(); }
+
263  y_iterator const& y() const { return _p; }
+
264  x_iterator& x() { return _p.base(); }
+
265  y_iterator& y() { return _p; }
+
266 
+
267  // These are faster versions of functions already provided in the superclass
+
268  x_iterator x_at (x_coord_t dx, y_coord_t dy) const { return memunit_advanced(x(), offset(dx,dy)); }
+
269  x_iterator x_at (const difference_type& d) const { return memunit_advanced(x(), offset(d.x,d.y)); }
+
270  this_t xy_at (x_coord_t dx, y_coord_t dy) const { return this_t(x_at( dx , dy ), row_size()); }
+
271  this_t xy_at (const difference_type& d) const { return this_t(x_at( d.x, d.y), row_size()); }
+
272  reference operator()(x_coord_t dx, y_coord_t dy) const { return memunit_advanced_ref(x(),offset(dx,dy)); }
+
273  reference operator[](const difference_type& d) const { return memunit_advanced_ref(x(),offset(d.x,d.y)); }
+
274  this_t& operator+=(const difference_type& d) { memunit_advance(x(),offset(d.x,d.y)); return *this; }
+
275  this_t& operator-=(const difference_type& d) { memunit_advance(x(),offset(-d.x,-d.y)); return *this; }
+
276 
+
277  // Memory-based locators can have 1D caching of 2D relative coordinates
+
278  using cached_location_t = std::ptrdiff_t; // type used to store relative location (to allow for more efficient repeated access)
+
279  cached_location_t cache_location(const difference_type& d) const { return offset(d.x,d.y); }
+
280  cached_location_t cache_location(x_coord_t dx, y_coord_t dy)const { return offset(dx,dy); }
+
281  reference operator[](const cached_location_t& loc) const { return memunit_advanced_ref(x(),loc); }
+
282 
+
283  // Only make sense for memory-based locators
+
284  std::ptrdiff_t row_size() const { return memunit_step(y()); } // distance in mem units (bytes or bits) between adjacent rows
+
285  std::ptrdiff_t pixel_size() const { return memunit_step(x()); } // distance in mem units (bytes or bits) between adjacent pixels on the same row
286 
-
287  // Returns the vertical distance (it2.y-it1.y) between two x_iterators given the difference of their x positions
-
288  std::ptrdiff_t y_distance_to(const this_t& p2, x_coord_t xDiff) const {
-
289  std::ptrdiff_t rowDiff=memunit_distance(x(),p2.x())-pixel_size()*xDiff;
-
290  assert(( rowDiff % row_size())==0);
-
291  return rowDiff / row_size();
-
292  }
-
293 
-
294 private:
-
295  template <typename X> friend class memory_based_2d_locator;
-
296  std::ptrdiff_t offset(x_coord_t x, y_coord_t y) const { return y*row_size() + x*pixel_size(); }
-
297  StepIterator _p;
-
298 };
-
299 
-
301 // PixelBasedConcept
-
303 
-
304 template <typename SI>
-
305 struct color_space_type<memory_based_2d_locator<SI> > : public color_space_type<typename memory_based_2d_locator<SI>::parent_t> {
-
306 };
-
307 
-
308 template <typename SI>
-
309 struct channel_mapping_type<memory_based_2d_locator<SI> > : public channel_mapping_type<typename memory_based_2d_locator<SI>::parent_t> {
-
310 };
-
311 
-
312 template <typename SI>
-
313 struct is_planar<memory_based_2d_locator<SI> > : public is_planar<typename memory_based_2d_locator<SI>::parent_t> {
-
314 };
-
315 
-
316 template <typename SI>
-
317 struct channel_type<memory_based_2d_locator<SI> > : public channel_type<typename memory_based_2d_locator<SI>::parent_t> {
-
318 };
-
319 
-
321 // HasDynamicXStepTypeConcept
-
323 
-
324 // Take the base iterator of SI (which is typically a step iterator) and change it to have a step in x
-
325 template <typename SI>
-
326 struct dynamic_x_step_type<memory_based_2d_locator<SI> > {
-
327 private:
-
328  typedef typename iterator_adaptor_get_base<SI>::type base_iterator_t;
-
329  typedef typename dynamic_x_step_type<base_iterator_t>::type base_iterator_step_t;
-
330  typedef typename iterator_adaptor_rebind<SI, base_iterator_step_t>::type dynamic_step_base_t;
-
331 public:
-
332  typedef memory_based_2d_locator<dynamic_step_base_t> type;
-
333 };
-
334 
-
336 // HasDynamicYStepTypeConcept
-
338 
-
339 template <typename SI>
-
340 struct dynamic_y_step_type<memory_based_2d_locator<SI> > {
-
341  typedef memory_based_2d_locator<SI> type;
-
342 };
-
343 } } // namespace boost::gil
-
344 
-
345 #endif
-
base class for models of PixelLocatorConceptPixel locator is similar to a pixel iterator, but allows for 2D navigation of pixels within an image view. It has a 2D difference_type and supports random access operations like:
Definition: locator.hpp:105
+
287  bool is_1d_traversable(x_coord_t width) const { return row_size()-pixel_size()*width==0; } // is there no gap at the end of each row?
+
288 
+
289  // Returns the vertical distance (it2.y-it1.y) between two x_iterators given the difference of their x positions
+
290  std::ptrdiff_t y_distance_to(const this_t& p2, x_coord_t xDiff) const {
+
291  std::ptrdiff_t rowDiff=memunit_distance(x(),p2.x())-pixel_size()*xDiff;
+
292  assert(( rowDiff % row_size())==0);
+
293  return rowDiff / row_size();
+
294  }
+
295 
+
296 private:
+
297  template <typename X> friend class memory_based_2d_locator;
+
298  std::ptrdiff_t offset(x_coord_t x, y_coord_t y) const { return y*row_size() + x*pixel_size(); }
+
299  StepIterator _p;
+
300 };
+
301 
+
303 // PixelBasedConcept
+
305 
+
306 template <typename SI>
+
307 struct color_space_type<memory_based_2d_locator<SI> > : public color_space_type<typename memory_based_2d_locator<SI>::parent_t> {
+
308 };
+
309 
+
310 template <typename SI>
+
311 struct channel_mapping_type<memory_based_2d_locator<SI> > : public channel_mapping_type<typename memory_based_2d_locator<SI>::parent_t> {
+
312 };
+
313 
+
314 template <typename SI>
+
315 struct is_planar<memory_based_2d_locator<SI> > : public is_planar<typename memory_based_2d_locator<SI>::parent_t> {
+
316 };
+
317 
+
318 template <typename SI>
+
319 struct channel_type<memory_based_2d_locator<SI> > : public channel_type<typename memory_based_2d_locator<SI>::parent_t> {
+
320 };
+
321 
+
323 // HasDynamicXStepTypeConcept
+
325 
+
326 // Take the base iterator of SI (which is typically a step iterator) and change it to have a step in x
+
327 template <typename SI>
+
328 struct dynamic_x_step_type<memory_based_2d_locator<SI> > {
+
329 private:
+
330  using base_iterator_t = typename iterator_adaptor_get_base<SI>::type;
+
331  using base_iterator_step_t = typename dynamic_x_step_type<base_iterator_t>::type;
+
332  using dynamic_step_base_t = typename iterator_adaptor_rebind<SI, base_iterator_step_t>::type;
+
333 public:
+
334  using type = memory_based_2d_locator<dynamic_step_base_t>;
+
335 };
+
336 
+
338 // HasDynamicYStepTypeConcept
+
340 
+
341 template <typename SI>
+
342 struct dynamic_y_step_type<memory_based_2d_locator<SI> > {
+
343  using type = memory_based_2d_locator<SI>;
+
344 };
+
345 } } // namespace boost::gil
+
346 
+
347 #endif
+
base class for models of PixelLocatorConceptPixel locator is similar to a pixel iterator, but allows for 2D navigation of pixels within an image view. It has a 2D difference_type and supports random access operations like:
Definition: locator.hpp:104
Returns the type (and creates an instance) of an iterator that invokes the given dereference adaptor ...
Definition: locator.hpp:25
Definition: color_convert.hpp:30
Returns the number of channels of a pixel-based GIL construct.
Definition: locator.hpp:38
@@ -322,7 +324,7 @@ diff --git a/develop/doc/html/reference/metafunctions_8hpp_source.html b/develop/doc/html/reference/metafunctions_8hpp_source.html index 3baf6966c..f176825b5 100644 --- a/develop/doc/html/reference/metafunctions_8hpp_source.html +++ b/develop/doc/html/reference/metafunctions_8hpp_source.html @@ -185,272 +185,273 @@
196 
200 
203 template <typename T, typename L, bool IsPlanar=false, bool IsMutable=true> struct pixel_reference_type{};
-
204 template <typename T, typename L> struct pixel_reference_type<T,L,false,true > { typedef pixel<T,L>& type; };
-
205 template <typename T, typename L> struct pixel_reference_type<T,L,false,false> { typedef const pixel<T,L>& type; };
-
206 template <typename T, typename L> struct pixel_reference_type<T,L,true,true> { typedef const planar_pixel_reference<typename channel_traits<T>::reference,typename color_space_type<L>::type> type; }; // TODO: Assert M=identity
-
207 template <typename T, typename L> struct pixel_reference_type<T,L,true,false> { typedef const planar_pixel_reference<typename channel_traits<T>::const_reference,typename color_space_type<L>::type> type; };// TODO: Assert M=identity
+
204 template <typename T, typename L> struct pixel_reference_type<T,L,false,true > { using type = pixel<T,L>&; };
+
205 template <typename T, typename L> struct pixel_reference_type<T,L,false,false> { using type = pixel<T,L> const&; };
+
206 template <typename T, typename L> struct pixel_reference_type<T,L,true,true> { using type = planar_pixel_reference<typename channel_traits<T>::reference,typename color_space_type<L>::type> const; }; // TODO: Assert M=identity
+
207 template <typename T, typename L> struct pixel_reference_type<T,L,true,false> { using type = planar_pixel_reference<typename channel_traits<T>::const_reference,typename color_space_type<L>::type> const; };// TODO: Assert M=identity
208 
211 template <typename Pixel, bool IsPlanar=false, bool IsStep=false, bool IsMutable=true> struct iterator_type_from_pixel{};
-
212 template <typename Pixel> struct iterator_type_from_pixel<Pixel,false,false,true > { typedef Pixel* type; };
-
213 template <typename Pixel> struct iterator_type_from_pixel<Pixel,false,false,false> { typedef const Pixel* type; };
+
212 template <typename Pixel> struct iterator_type_from_pixel<Pixel,false,false,true > { using type = Pixel *; };
+
213 template <typename Pixel> struct iterator_type_from_pixel<Pixel,false,false,false> { using type = const Pixel *; };
214 template <typename Pixel> struct iterator_type_from_pixel<Pixel,true,false,true> {
-
215  typedef planar_pixel_iterator<typename channel_traits<typename channel_type<Pixel>::type>::pointer,typename color_space_type<Pixel>::type> type;
+
215  using type = planar_pixel_iterator<typename channel_traits<typename channel_type<Pixel>::type>::pointer,typename color_space_type<Pixel>::type>;
216 };
217 template <typename Pixel> struct iterator_type_from_pixel<Pixel,true,false,false> {
-
218  typedef planar_pixel_iterator<typename channel_traits<typename channel_type<Pixel>::type>::const_pointer,typename color_space_type<Pixel>::type> type;
+
218  using type = planar_pixel_iterator<typename channel_traits<typename channel_type<Pixel>::type>::const_pointer,typename color_space_type<Pixel>::type>;
219 };
220 template <typename Pixel, bool IsPlanar, bool IsMutable> struct iterator_type_from_pixel<Pixel,IsPlanar,true,IsMutable> {
-
221  typedef memory_based_step_iterator<typename iterator_type_from_pixel<Pixel,IsPlanar,false,IsMutable>::type> type;
+
221  using type = memory_based_step_iterator<typename iterator_type_from_pixel<Pixel,IsPlanar,false,IsMutable>::type>;
222 };
223 
226 template <typename T, typename L, bool IsPlanar=false, bool IsStep=false, bool IsMutable=true> struct iterator_type{};
-
227 template <typename T, typename L> struct iterator_type<T,L,false,false,true > { typedef pixel<T,L>* type; };
-
228 template <typename T, typename L> struct iterator_type<T,L,false,false,false> { typedef const pixel<T,L>* type; };
-
229 template <typename T, typename L> struct iterator_type<T,L,true,false,true> { typedef planar_pixel_iterator<T*,typename L::color_space_t> type; }; // TODO: Assert M=identity
-
230 template <typename T, typename L> struct iterator_type<T,L,true,false,false> { typedef planar_pixel_iterator<const T*,typename L::color_space_t> type; }; // TODO: Assert M=identity
+
227 template <typename T, typename L> struct iterator_type<T,L,false,false,true > { using type = pixel<T,L>*; };
+
228 template <typename T, typename L> struct iterator_type<T,L,false,false,false> { using type = pixel<T,L> const*; };
+
229 template <typename T, typename L> struct iterator_type<T,L,true,false,true> { using type = planar_pixel_iterator<T*,typename L::color_space_t>; }; // TODO: Assert M=identity
+
230 template <typename T, typename L> struct iterator_type<T,L,true,false,false> { using type = planar_pixel_iterator<const T*,typename L::color_space_t>; }; // TODO: Assert M=identity
231 template <typename T, typename L, bool IsPlanar, bool IsMutable> struct iterator_type<T,L,IsPlanar,true,IsMutable> {
-
232  typedef memory_based_step_iterator<typename iterator_type<T,L,IsPlanar,false,IsMutable>::type> type;
+
232  using type = memory_based_step_iterator<typename iterator_type<T,L,IsPlanar,false,IsMutable>::type>;
233 };
234 
237 template <typename XIterator>
- - - + + +
242 };
243 
244 namespace detail {
245  template <typename BitField, typename FirstBit, typename NumBits>
246  struct packed_channel_reference_type {
-
247  typedef const packed_channel_reference<BitField,FirstBit::value,NumBits::value,true> type;
+
247  using type = packed_channel_reference<BitField,FirstBit::value,NumBits::value,true> const;
248  };
249 
250  template <typename BitField, typename ChannelBitSizesVector>
251  class packed_channel_references_vector_type {
252  // If ChannelBitSizesVector is mpl::vector<int,7,7,2>
253  // Then first_bits_vector will be mpl::vector<int,0,7,14,16>
-
254  typedef typename mpl::accumulate<ChannelBitSizesVector, mpl::vector1<mpl::int_<0> >,
-
255  mpl::push_back<mpl::_1, mpl::plus<mpl::back<mpl::_1>, mpl::_2> > >::type first_bits_vector;
+
254  using first_bits_vector = typename mpl::accumulate<ChannelBitSizesVector, mpl::vector1<mpl::int_<0> >,
+
255  mpl::push_back<mpl::_1, mpl::plus<mpl::back<mpl::_1>, mpl::_2> > >::type;
256  public:
-
257  typedef typename mpl::transform<typename mpl::pop_back<first_bits_vector>::type, ChannelBitSizesVector,
-
258  packed_channel_reference_type<BitField, mpl::_1,mpl::_2> >::type type;
+
257  using type = typename mpl::transform<typename mpl::pop_back<first_bits_vector>::type, ChannelBitSizesVector,
+
258  packed_channel_reference_type<BitField, mpl::_1,mpl::_2> >::type;
259  };
260 
261 }
262 
271 template <typename BitField, typename ChannelBitSizeVector, typename Layout>
- - -
274 };
-
275 
-
284 
-
287 template <typename BitField, typename ChannelBitSizeVector, typename Layout, typename Alloc=std::allocator<unsigned char> >
- - -
290 };
-
291 
-
294 template <typename BitField, unsigned Size1, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
295 struct packed_image1_type : public packed_image_type<BitField, mpl::vector1_c<unsigned, Size1>, Layout, Alloc> {};
-
296 
-
299 template <typename BitField, unsigned Size1, unsigned Size2, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
300 struct packed_image2_type : public packed_image_type<BitField, mpl::vector2_c<unsigned, Size1, Size2>, Layout, Alloc> {};
-
301 
-
304 template <typename BitField, unsigned Size1, unsigned Size2, unsigned Size3, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
305 struct packed_image3_type : public packed_image_type<BitField, mpl::vector3_c<unsigned, Size1, Size2, Size3>, Layout, Alloc> {};
-
306 
-
309 template <typename BitField, unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
310 struct packed_image4_type : public packed_image_type<BitField, mpl::vector4_c<unsigned, Size1, Size2, Size3, Size4>, Layout, Alloc> {};
-
311 
-
314 template <typename BitField, unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, unsigned Size5, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
315 struct packed_image5_type : public packed_image_type<BitField, mpl::vector5_c<unsigned, Size1, Size2, Size3, Size4, Size5>, Layout, Alloc> {};
-
316 
+ +
273 {
+ +
275 };
+
276 
+
285 
+
288 template <typename BitField, typename ChannelBitSizeVector, typename Layout, typename Alloc=std::allocator<unsigned char> >
+ + +
291 };
+
292 
+
295 template <typename BitField, unsigned Size1, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
296 struct packed_image1_type : public packed_image_type<BitField, mpl::vector1_c<unsigned, Size1>, Layout, Alloc> {};
+
297 
+
300 template <typename BitField, unsigned Size1, unsigned Size2, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
301 struct packed_image2_type : public packed_image_type<BitField, mpl::vector2_c<unsigned, Size1, Size2>, Layout, Alloc> {};
+
302 
+
305 template <typename BitField, unsigned Size1, unsigned Size2, unsigned Size3, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
306 struct packed_image3_type : public packed_image_type<BitField, mpl::vector3_c<unsigned, Size1, Size2, Size3>, Layout, Alloc> {};
+
307 
+
310 template <typename BitField, unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
311 struct packed_image4_type : public packed_image_type<BitField, mpl::vector4_c<unsigned, Size1, Size2, Size3, Size4>, Layout, Alloc> {};
+
312 
+
315 template <typename BitField, unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, unsigned Size5, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
316 struct packed_image5_type : public packed_image_type<BitField, mpl::vector5_c<unsigned, Size1, Size2, Size3, Size4, Size5>, Layout, Alloc> {};
317 
-
323 
-
324 template <typename ChannelBitSizeVector, typename Layout, typename Alloc=std::allocator<unsigned char> >
- -
326 private:
-
327  BOOST_STATIC_CONSTANT(int, bit_size = (mpl::accumulate<ChannelBitSizeVector, mpl::int_<0>, mpl::plus<mpl::_1, mpl::_2> >::type::value));
-
328  typedef typename detail::min_fast_uint<bit_size+7>::type bitfield_t;
- -
330 public:
- -
332 };
-
333 
-
336 template <unsigned Size1, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
337 struct bit_aligned_image1_type : public bit_aligned_image_type<mpl::vector1_c<unsigned, Size1>, Layout, Alloc> {};
-
338 
-
341 template <unsigned Size1, unsigned Size2, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
342 struct bit_aligned_image2_type : public bit_aligned_image_type<mpl::vector2_c<unsigned, Size1, Size2>, Layout, Alloc> {};
-
343 
-
346 template <unsigned Size1, unsigned Size2, unsigned Size3, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
347 struct bit_aligned_image3_type : public bit_aligned_image_type<mpl::vector3_c<unsigned, Size1, Size2, Size3>, Layout, Alloc> {};
-
348 
-
351 template <unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
352 struct bit_aligned_image4_type : public bit_aligned_image_type<mpl::vector4_c<unsigned, Size1, Size2, Size3, Size4>, Layout, Alloc> {};
-
353 
-
356 template <unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, unsigned Size5, typename Layout, typename Alloc=std::allocator<unsigned char> >
-
357 struct bit_aligned_image5_type : public bit_aligned_image_type<mpl::vector5_c<unsigned, Size1, Size2, Size3, Size4, Size5>, Layout, Alloc> {};
-
358 
+
318 
+
324 
+
325 template <typename ChannelBitSizeVector, typename Layout, typename Alloc=std::allocator<unsigned char> >
+ +
327 private:
+
328  BOOST_STATIC_CONSTANT(int, bit_size = (mpl::accumulate<ChannelBitSizeVector, mpl::int_<0>, mpl::plus<mpl::_1, mpl::_2> >::type::value));
+
329  using bitfield_t = typename detail::min_fast_uint<bit_size + 7>::type;
+ +
331 public:
+ +
333 };
+
334 
+
337 template <unsigned Size1, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
338 struct bit_aligned_image1_type : public bit_aligned_image_type<mpl::vector1_c<unsigned, Size1>, Layout, Alloc> {};
+
339 
+
342 template <unsigned Size1, unsigned Size2, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
343 struct bit_aligned_image2_type : public bit_aligned_image_type<mpl::vector2_c<unsigned, Size1, Size2>, Layout, Alloc> {};
+
344 
+
347 template <unsigned Size1, unsigned Size2, unsigned Size3, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
348 struct bit_aligned_image3_type : public bit_aligned_image_type<mpl::vector3_c<unsigned, Size1, Size2, Size3>, Layout, Alloc> {};
+
349 
+
352 template <unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
353 struct bit_aligned_image4_type : public bit_aligned_image_type<mpl::vector4_c<unsigned, Size1, Size2, Size3, Size4>, Layout, Alloc> {};
+
354 
+
357 template <unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, unsigned Size5, typename Layout, typename Alloc=std::allocator<unsigned char> >
+
358 struct bit_aligned_image5_type : public bit_aligned_image_type<mpl::vector5_c<unsigned, Size1, Size2, Size3, Size4, Size5>, Layout, Alloc> {};
359 
360 
-
363 template <typename Channel, typename Layout>
- -
365  typedef pixel<Channel,Layout> type; // by default use gil::pixel. Specializations are provided for
-
366 };
-
367 
-
368 // Specializations for packed channels
-
369 template <typename BitField, int NumBits, bool IsMutable, typename Layout>
-
370 struct pixel_value_type< packed_dynamic_channel_reference<BitField,NumBits,IsMutable>,Layout> :
-
371  public packed_pixel_type<BitField, mpl::vector1_c<unsigned,NumBits>, Layout> {};
-
372 template <typename BitField, int NumBits, bool IsMutable, typename Layout>
-
373 struct pixel_value_type<const packed_dynamic_channel_reference<BitField,NumBits,IsMutable>,Layout> :
-
374  public packed_pixel_type<BitField, mpl::vector1_c<unsigned,NumBits>, Layout> {};
-
375 
-
376 template <typename BitField, int FirstBit, int NumBits, bool IsMutable, typename Layout>
-
377 struct pixel_value_type< packed_channel_reference<BitField,FirstBit,NumBits,IsMutable>,Layout> :
-
378  public packed_pixel_type<BitField, mpl::vector1_c<unsigned,NumBits>, Layout> {};
-
379 template <typename BitField, int FirstBit, int NumBits, bool IsMutable, typename Layout>
-
380 struct pixel_value_type<const packed_channel_reference<BitField,FirstBit,NumBits,IsMutable>,Layout> :
-
381  public packed_pixel_type<BitField, mpl::vector1_c<unsigned,NumBits>, Layout> {};
-
382 
-
383 template <int NumBits, typename Layout>
-
384 struct pixel_value_type<packed_channel_value<NumBits>,Layout> :
-
385  public packed_pixel_type<typename detail::min_fast_uint<NumBits>::type, mpl::vector1_c<unsigned,NumBits>, Layout> {};
-
386 
+
361 
+
364 template <typename Channel, typename Layout>
+ +
366  using type = pixel<Channel,Layout>; // by default use gil::pixel. Specializations are provided for
+
367 };
+
368 
+
369 // Specializations for packed channels
+
370 template <typename BitField, int NumBits, bool IsMutable, typename Layout>
+
371 struct pixel_value_type< packed_dynamic_channel_reference<BitField,NumBits,IsMutable>,Layout> :
+
372  public packed_pixel_type<BitField, mpl::vector1_c<unsigned,NumBits>, Layout> {};
+
373 template <typename BitField, int NumBits, bool IsMutable, typename Layout>
+
374 struct pixel_value_type<const packed_dynamic_channel_reference<BitField,NumBits,IsMutable>,Layout> :
+
375  public packed_pixel_type<BitField, mpl::vector1_c<unsigned,NumBits>, Layout> {};
+
376 
+
377 template <typename BitField, int FirstBit, int NumBits, bool IsMutable, typename Layout>
+
378 struct pixel_value_type< packed_channel_reference<BitField,FirstBit,NumBits,IsMutable>,Layout> :
+
379  public packed_pixel_type<BitField, mpl::vector1_c<unsigned,NumBits>, Layout> {};
+
380 template <typename BitField, int FirstBit, int NumBits, bool IsMutable, typename Layout>
+
381 struct pixel_value_type<const packed_channel_reference<BitField,FirstBit,NumBits,IsMutable>,Layout> :
+
382  public packed_pixel_type<BitField, mpl::vector1_c<unsigned,NumBits>, Layout> {};
+
383 
+
384 template <int NumBits, typename Layout>
+
385 struct pixel_value_type<packed_channel_value<NumBits>,Layout> :
+
386  public packed_pixel_type<typename detail::min_fast_uint<NumBits>::type, mpl::vector1_c<unsigned,NumBits>, Layout> {};
387 
-
390 template <typename T, typename L, bool IsPlanar=false, bool IsStepX=false, bool IsMutable=true>
-
391 struct locator_type {
- -
393 };
-
394 
-
397 template <typename T, typename L, bool IsPlanar=false, bool IsStepX=false, bool IsMutable=true>
-
398 struct view_type {
- -
400 };
-
401 
-
404 template <typename T, typename L, bool IsPlanar=false, typename Alloc=std::allocator<unsigned char> >
-
405 struct image_type {
-
406  typedef image<pixel<T,L>, IsPlanar, Alloc> type;
-
407 };
-
408 
-
411 template <typename Pixel, bool IsPlanar=false, bool IsStepX=false, bool IsMutable=true>
- - -
414 };
-
415 
+
388 
+
391 template <typename T, typename L, bool IsPlanar=false, bool IsStepX=false, bool IsMutable=true>
+
392 struct locator_type {
+ +
394 };
+
395 
+
398 template <typename T, typename L, bool IsPlanar=false, bool IsStepX=false, bool IsMutable=true>
+
399 struct view_type {
+ +
401 };
+
402 
+
405 template <typename T, typename L, bool IsPlanar=false, typename Alloc=std::allocator<unsigned char> >
+
406 struct image_type {
+
407  using type = image<pixel<T,L>, IsPlanar, Alloc>;
+
408 };
+
409 
+
412 template <typename Pixel, bool IsPlanar=false, bool IsStepX=false, bool IsMutable=true>
+ + +
415 };
416 
-
420 template <typename Ref, typename T=use_default, typename L=use_default, typename IsPlanar=use_default, typename IsMutable=use_default>
- -
422  typedef typename remove_reference<Ref>::type pixel_t;
-
423  typedef typename mpl::if_<is_same<T, use_default>, typename channel_type<pixel_t>::type, T >::type channel_t;
-
424  typedef typename mpl::if_<is_same<L, use_default>,
-
425  layout<typename color_space_type<pixel_t>::type, typename channel_mapping_type<pixel_t>::type>, L>::type layout_t;
-
426  static const bool mut =mpl::if_<is_same<IsMutable,use_default>, pixel_reference_is_mutable<Ref>, IsMutable>::type::value;
-
427  static const bool planar=mpl::if_<is_same<IsPlanar,use_default>, is_planar<pixel_t>, IsPlanar>::type::value;
-
428 public:
- -
430 };
-
431 
-
435 template <typename Iterator, typename T=use_default, typename L=use_default, typename IsPlanar=use_default, typename IsStep=use_default, typename IsMutable=use_default>
- -
437  typedef typename mpl::if_<is_same<T ,use_default>, typename channel_type<Iterator>::type, T >::type channel_t;
-
438  typedef typename mpl::if_<is_same<L,use_default>,
-
439  layout<typename color_space_type<Iterator>::type, typename channel_mapping_type<Iterator>::type>, L>::type layout_t;
-
440 
-
441  static const bool mut =mpl::if_<is_same<IsMutable,use_default>, iterator_is_mutable<Iterator>, IsMutable>::type::value;
-
442  static const bool planar=mpl::if_<is_same<IsPlanar,use_default>, is_planar<Iterator>, IsPlanar>::type::value;
-
443  static const bool step =mpl::if_<is_same<IsStep ,use_default>, iterator_is_step<Iterator>, IsStep>::type::value;
-
444 public:
- -
446 };
-
447 
-
451 template <typename View, typename T=use_default, typename L=use_default, typename IsPlanar=use_default, typename StepX=use_default, typename IsMutable=use_default>
- -
453  typedef typename mpl::if_<is_same<T ,use_default>, typename channel_type<View>::type, T>::type channel_t;
-
454  typedef typename mpl::if_<is_same<L,use_default>,
-
455  layout<typename color_space_type<View>::type, typename channel_mapping_type<View>::type>, L>::type layout_t;
-
456  static const bool mut =mpl::if_<is_same<IsMutable,use_default>, view_is_mutable<View>, IsMutable>::type::value;
-
457  static const bool planar=mpl::if_<is_same<IsPlanar,use_default>, is_planar<View>, IsPlanar>::type::value;
-
458  static const bool step =mpl::if_<is_same<StepX ,use_default>, view_is_step_in_x<View>,StepX>::type::value;
-
459 public:
- -
461 };
-
462 
-
466 template <typename Image, typename T=use_default, typename L=use_default, typename IsPlanar=use_default>
- -
468  typedef typename mpl::if_<is_same<T ,use_default>, typename channel_type<Image>::type, T >::type channel_t;
-
469  typedef typename mpl::if_<is_same<L,use_default>,
-
470  layout<typename color_space_type<Image>::type, typename channel_mapping_type<Image>::type>, L>::type layout_t;
-
471  static const bool planar=mpl::if_<is_same<IsPlanar,use_default>, is_planar<Image>, IsPlanar>::type::value;
-
472 public:
- -
474 };
-
475 
-
476 }} // namespace boost::gil
-
477 
-
478 #endif
+
417 
+
421 template <typename Ref, typename T=use_default, typename L=use_default, typename IsPlanar=use_default, typename IsMutable=use_default>
+ +
423  using pixel_t = typename remove_reference<Ref>::type;
+
424  using channel_t = typename mpl::if_<is_same<T, use_default>, typename channel_type<pixel_t>::type, T>::type;
+
425  using layout_t = typename mpl::if_<is_same<L, use_default>,
+
426  layout<typename color_space_type<pixel_t>::type, typename channel_mapping_type<pixel_t>::type>, L>::type;
+
427  static const bool mut =mpl::if_<is_same<IsMutable,use_default>, pixel_reference_is_mutable<Ref>, IsMutable>::type::value;
+
428  static const bool planar=mpl::if_<is_same<IsPlanar,use_default>, is_planar<pixel_t>, IsPlanar>::type::value;
+
429 public:
+ +
431 };
+
432 
+
436 template <typename Iterator, typename T=use_default, typename L=use_default, typename IsPlanar=use_default, typename IsStep=use_default, typename IsMutable=use_default>
+ +
438  using channel_t = typename mpl::if_<is_same<T ,use_default>, typename channel_type<Iterator>::type, T>::type;
+
439  using layout_t = typename mpl::if_<is_same<L,use_default>,
+
440  layout<typename color_space_type<Iterator>::type, typename channel_mapping_type<Iterator>::type>, L>::type;
+
441 
+
442  static const bool mut =mpl::if_<is_same<IsMutable,use_default>, iterator_is_mutable<Iterator>, IsMutable>::type::value;
+
443  static const bool planar=mpl::if_<is_same<IsPlanar,use_default>, is_planar<Iterator>, IsPlanar>::type::value;
+
444  static const bool step =mpl::if_<is_same<IsStep ,use_default>, iterator_is_step<Iterator>, IsStep>::type::value;
+
445 public:
+ +
447 };
+
448 
+
452 template <typename View, typename T=use_default, typename L=use_default, typename IsPlanar=use_default, typename StepX=use_default, typename IsMutable=use_default>
+ +
454  using channel_t = typename mpl::if_<is_same<T ,use_default>, typename channel_type<View>::type, T>::type;
+
455  using layout_t = typename mpl::if_<is_same<L,use_default>,
+
456  layout<typename color_space_type<View>::type, typename channel_mapping_type<View>::type>, L>::type;
+
457  static const bool mut =mpl::if_<is_same<IsMutable,use_default>, view_is_mutable<View>, IsMutable>::type::value;
+
458  static const bool planar=mpl::if_<is_same<IsPlanar,use_default>, is_planar<View>, IsPlanar>::type::value;
+
459  static const bool step =mpl::if_<is_same<StepX ,use_default>, view_is_step_in_x<View>,StepX>::type::value;
+
460 public:
+
461  using type = typename view_type<channel_t, layout_t, planar, step, mut>::type;
+
462 };
+
463 
+
467 template <typename Image, typename T=use_default, typename L=use_default, typename IsPlanar=use_default>
+ +
469  using channel_t = typename mpl::if_<is_same<T ,use_default>, typename channel_type<Image>::type, T>::type;
+
470  using layout_t = typename mpl::if_<is_same<L,use_default>,
+
471  layout<typename color_space_type<Image>::type, typename channel_mapping_type<Image>::type>, L>::type;
+
472  static const bool planar=mpl::if_<is_same<IsPlanar,use_default>, is_planar<Image>, IsPlanar>::type::value;
+
473 public:
+
474  using type = typename image_type<channel_t, layout_t, planar>::type;
+
475 };
+
476 
+
477 }} // namespace boost::gil
+
478 
+
479 #endif
metafunction predicate determining whether the given iterator is a plain one or an adaptor over anoth...
Definition: metafunctions.hpp:41
-
Returns the type of an interleaved packed image: an image whose channels may not be byte-aligned...
Definition: metafunctions.hpp:288
+
Returns the type of an interleaved packed image: an image whose channels may not be byte-aligned...
Definition: metafunctions.hpp:289
Determines whether the given pixel reference is a proxy class or a native C++ reference.
Definition: metafunctions.hpp:153
A reference proxy to a planar pixel. Models: HomogeneousColorBaseConcept, HomogeneousPixelConcept.
Definition: metafunctions.hpp:32
-
Returns the type of a homogeneous image given the channel type, layout, and whether it operates on pl...
Definition: metafunctions.hpp:405
+
Returns the type of a homogeneous image given the channel type, layout, and whether it operates on pl...
Definition: metafunctions.hpp:406
Determines if the given locator has a horizontal step that could be set dynamically.
Definition: metafunctions.hpp:136
-
Returns the type of a homogeneous view given the channel type, layout, whether it operates on planar ...
Definition: metafunctions.hpp:398
+
Returns the type of a homogeneous view given the channel type, layout, whether it operates on planar ...
Definition: metafunctions.hpp:399
A lightweight object that interprets memory as a 2D array of pixels. Models ImageViewConcept,PixelBasedConcept,HasDynamicXStepTypeConcept,HasDynamicYStepTypeConcept,HasTransposedTypeConcept.
Definition: image_view.hpp:50
returns the base iterator for a given iterator adaptor. Provide an specialization when introducing ne...
Definition: metafunctions.hpp:42
-
Returns the type of a single-channel image given its bitfield type, the bit size of its channel and i...
Definition: metafunctions.hpp:295
+
Returns the type of a single-channel image given its bitfield type, the bit size of its channel and i...
Definition: metafunctions.hpp:296
Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept, PixelValueConcept, HomogeneousPixelBasedConcept.
Definition: metafunctions.hpp:30
Returns the type of a homogeneous iterator given the channel type, layout, whether it operates on pla...
Definition: metafunctions.hpp:226
-
Returns the type of a four channel image given its bitfield type, the bit size of its channels and it...
Definition: metafunctions.hpp:310
-
Returns the type of a two channel image given its bitfield type, the bit size of its channels and its...
Definition: metafunctions.hpp:300
-
Returns the type of a five channel bit-aligned image given the bit size of its channels and its layou...
Definition: metafunctions.hpp:357
+
Returns the type of a four channel image given its bitfield type, the bit size of its channels and it...
Definition: metafunctions.hpp:311
+
Returns the type of a two channel image given its bitfield type, the bit size of its channels and its...
Definition: metafunctions.hpp:301
+
Returns the type of a five channel bit-aligned image given the bit size of its channels and its layou...
Definition: metafunctions.hpp:358
Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models ColorBaseConcept...
Definition: bit_aligned_pixel_reference.hpp:113
-
Constructs a pixel iterator type from a source pixel iterator type by changing some of the properties...
Definition: metafunctions.hpp:436
+
Constructs a pixel iterator type from a source pixel iterator type by changing some of the properties...
Definition: metafunctions.hpp:437
An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept, HomogeneousPixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept.
Definition: algorithm.hpp:34
Determines if a given pixel iterator is basic Basic iterators must use gil::pixel (if interleaved)...
Definition: metafunctions.hpp:74
-
Constructs a pixel reference type from a source pixel reference type by changing some of the properti...
Definition: metafunctions.hpp:421
-
Returns the type of a four channel bit-aligned image given the bit size of its channels and its layou...
Definition: metafunctions.hpp:352
+
Constructs a pixel reference type from a source pixel reference type by changing some of the properti...
Definition: metafunctions.hpp:422
+
Returns the type of a four channel bit-aligned image given the bit size of its channels and its layou...
Definition: metafunctions.hpp:353
Memory-based pixel locator. Models: PixelLocatorConcept,HasDynamicXStepTypeConcept,HasDynamicYStepTypeConcept,HasTransposedTypeConceptThe class takes a step iterator as a parameter. The step iterator provides navigation along the vertical axis while its base iterator provides horizontal navigation.
Definition: algorithm.hpp:38
Given a pixel iterator defining access to pixels along a row, returns the types of the corresponding ...
Definition: metafunctions.hpp:238
Basic images must use basic views and std::allocator.
Definition: metafunctions.hpp:105
Determines if the given pixel reference is mutable (i.e. its channels can be changed) ...
Definition: metafunctions.hpp:170
Determines if the given locator is mutable (i.e. its pixels can be changed)
Definition: metafunctions.hpp:176
-
Constructs a homogeneous image type from a source image type by changing some of the properties...
Definition: metafunctions.hpp:467
+
Constructs a homogeneous image type from a source image type by changing some of the properties...
Definition: metafunctions.hpp:468
Represents a color space and ordering of channels in memory.
Definition: utilities.hpp:246
container interface over image view. Models ImageConcept, PixelBasedConcept
Definition: image.hpp:39
Determines if a given locator is basic. A basic locator is memory-based and has basic x_iterator and ...
Definition: metafunctions.hpp:95
Returns the type of a homogeneous pixel reference given the channel type, layout, whether it operates...
Definition: metafunctions.hpp:203
-
Returns the type of a packed image whose pixels may not be byte aligned. For example, an "rgb222" image is bit-aligned because its pixel spans six bits.
Definition: metafunctions.hpp:325
+
Returns the type of a packed image whose pixels may not be byte aligned. For example, an "rgb222" image is bit-aligned because its pixel spans six bits.
Definition: metafunctions.hpp:326
Determines if the given view has a vertical step that could be set dynamically.
Definition: metafunctions.hpp:148
Determines if the given view is mutable (i.e. its pixels can be changed)
Definition: metafunctions.hpp:179
Definition: color_convert.hpp:30
-
Returns the type of a homogeneous pixel given the channel type and layout.
Definition: metafunctions.hpp:364
-
Returns the type of a homogeneous locator given the channel type, layout, whether it operates on plan...
Definition: metafunctions.hpp:391
+
Returns the type of a homogeneous pixel given the channel type and layout.
Definition: metafunctions.hpp:365
+
Returns the type of a homogeneous locator given the channel type, layout, whether it operates on plan...
Definition: metafunctions.hpp:392
Metafunction predicate returning whether the given iterator allows for changing its values...
Definition: pixel_iterator.hpp:50
-
Constructs an image view type from a source view type by changing some of the properties.Use use_default for the properties of the source view that you want to keep.
Definition: metafunctions.hpp:452
+
Constructs an image view type from a source view type by changing some of the properties.Use use_default for the properties of the source view that you want to keep.
Definition: metafunctions.hpp:453
Returns the type of a packed pixel given its bitfield type, the bit size of its channels and its layo...
Definition: metafunctions.hpp:272
Heterogeneous pixel value whose channel references can be constructed from the pixel bitfield and the...
Definition: metafunctions.hpp:31
Given a model of a pixel, determines whether the model represents a pixel reference (as opposed to pi...
Definition: metafunctions.hpp:160
-
Returns the type of a single-channel bit-aligned image given the bit size of its channel and its layo...
Definition: metafunctions.hpp:337
+
Returns the type of a single-channel bit-aligned image given the bit size of its channel and its layo...
Definition: metafunctions.hpp:338
Determines if a given pixel reference is basic Basic references must use gil::pixel& (if interleaved)...
Definition: metafunctions.hpp:63
-
Returns the type of a three channel image given its bitfield type, the bit size of its channels and i...
Definition: metafunctions.hpp:305
+
Returns the type of a three channel image given its bitfield type, the bit size of its channels and i...
Definition: metafunctions.hpp:306
Determines if the given locator has a vertical step that could be set dynamically.
Definition: metafunctions.hpp:140
Basic views must be over basic locators.
Definition: metafunctions.hpp:100
Determines if the given iterator has a step that could be set dynamically.
Definition: metafunctions.hpp:113
-
Returns the type of a two channel bit-aligned image given the bit size of its channels and its layout...
Definition: metafunctions.hpp:342
+
Returns the type of a two channel bit-aligned image given the bit size of its channels and its layout...
Definition: metafunctions.hpp:343
Returns the type of a pixel iterator given the pixel type, whether it operates on planar data...
Definition: metafunctions.hpp:211
-
Returns the type of a view the pixel type, whether it operates on planar data and whether it has a st...
Definition: metafunctions.hpp:412
+
Returns the type of a view the pixel type, whether it operates on planar data and whether it has a st...
Definition: metafunctions.hpp:413
MEMORY-BASED STEP ITERATOR.
Definition: algorithm.hpp:36
-
Returns the type of a three channel bit-aligned image given the bit size of its channels and its layo...
Definition: metafunctions.hpp:347
+
Returns the type of a three channel bit-aligned image given the bit size of its channels and its layo...
Definition: metafunctions.hpp:348
Determines if the given view has a horizontal step that could be set dynamically. ...
Definition: metafunctions.hpp:144
-
Returns the type of a five channel image given its bitfield type, the bit size of its channels and it...
Definition: metafunctions.hpp:315
+
Returns the type of a five channel image given its bitfield type, the bit size of its channels and it...
Definition: metafunctions.hpp:316
diff --git a/develop/doc/html/reference/modules.html b/develop/doc/html/reference/modules.html index 1dbf6d0ab..f017b90a8 100644 --- a/develop/doc/html/reference/modules.html +++ b/develop/doc/html/reference/modules.html @@ -179,7 +179,7 @@ diff --git a/develop/doc/html/reference/packed__pixel_8hpp_source.html b/develop/doc/html/reference/packed__pixel_8hpp_source.html index 2829cd075..c66238681 100644 --- a/develop/doc/html/reference/packed__pixel_8hpp_source.html +++ b/develop/doc/html/reference/packed__pixel_8hpp_source.html @@ -77,128 +77,130 @@
47 template <typename BitField, // A type that holds the bits of the pixel. Typically an integral type, like std::uint16_t
51  typename ChannelRefVec, // An MPL vector whose elements are packed channels. They must be constructible from BitField. GIL uses packed_channel_reference
52  typename Layout> // Layout defining the color space and ordering of the channels. Example value: rgb_layout_t
-
53 struct packed_pixel {
-
54  BitField _bitfield;
-
55 
-
56  typedef Layout layout_t;
-
57  typedef packed_pixel value_type;
-
58  typedef value_type& reference;
-
59  typedef const value_type& const_reference;
-
60 
-
61  BOOST_STATIC_CONSTANT(bool, is_mutable = channel_traits<typename mpl::front<ChannelRefVec>::type>::is_mutable);
-
62 
-
63  packed_pixel(){}
-
64  explicit packed_pixel(const BitField& bitfield) : _bitfield(bitfield) {}
-
65 
-
66  // Construct from another compatible pixel type
-
67  packed_pixel(const packed_pixel& p) : _bitfield(p._bitfield) {}
-
68  template <typename P> packed_pixel(const P& p, typename enable_if_c<is_pixel<P>::value>::type* d=nullptr) {
-
69  check_compatible<P>(); static_copy(p,*this);
-
70  boost::ignore_unused(d);
-
71  }
-
72  packed_pixel(int chan0, int chan1) : _bitfield(0) {
-
73  BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==2));
-
74  gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1;
-
75  }
-
76  packed_pixel(int chan0, int chan1, int chan2) : _bitfield(0) {
-
77  BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==3));
-
78  gil::at_c<0>(*this) = chan0;
-
79  gil::at_c<1>(*this) = chan1;
-
80  gil::at_c<2>(*this) = chan2;
-
81  }
-
82  packed_pixel(int chan0, int chan1, int chan2, int chan3) : _bitfield(0) {
-
83  BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==4));
-
84  gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1; gil::at_c<2>(*this)=chan2; gil::at_c<3>(*this)=chan3;
-
85  }
-
86  packed_pixel(int chan0, int chan1, int chan2, int chan3, int chan4) : _bitfield(0) {
-
87  BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==5));
-
88  gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1; gil::at_c<2>(*this)=chan2; gil::at_c<3>(*this)=chan3; gil::at_c<4>(*this)=chan4;
-
89  }
-
90 
-
91  packed_pixel& operator=(const packed_pixel& p) { _bitfield=p._bitfield; return *this; }
-
92 
-
93  template <typename P> packed_pixel& operator=(const P& p) { assign(p, mpl::bool_<is_pixel<P>::value>()); return *this; }
-
94  template <typename P> bool operator==(const P& p) const { return equal(p, mpl::bool_<is_pixel<P>::value>()); }
-
95 
-
96  template <typename P> bool operator!=(const P& p) const { return !(*this==p); }
-
97 
-
98 private:
-
99  template <typename Pixel> static void check_compatible() { gil_function_requires<PixelsCompatibleConcept<Pixel,packed_pixel> >(); }
-
100  template <typename Pixel> void assign(const Pixel& p, mpl::true_) { check_compatible<Pixel>(); static_copy(p,*this); }
-
101  template <typename Pixel> bool equal(const Pixel& p, mpl::true_) const { check_compatible<Pixel>(); return static_equal(*this,p); }
-
102 
-
103 // Support for assignment/equality comparison of a channel with a grayscale pixel
-
104  static void check_gray() { BOOST_STATIC_ASSERT((is_same<typename Layout::color_space_t, gray_t>::value)); }
-
105  template <typename Channel> void assign(const Channel& chan, mpl::false_) { check_gray(); gil::at_c<0>(*this)=chan; }
-
106  template <typename Channel> bool equal (const Channel& chan, mpl::false_) const { check_gray(); return gil::at_c<0>(*this)==chan; }
-
107 public:
-
108  packed_pixel& operator= (int chan) { check_gray(); gil::at_c<0>(*this)=chan; return *this; }
-
109  bool operator==(int chan) const { check_gray(); return gil::at_c<0>(*this)==chan; }
-
110 };
-
111 
-
113 // ColorBasedConcept
-
115 
-
116 template <typename BitField, typename ChannelRefVec, typename Layout, int K>
-
117 struct kth_element_type<packed_pixel<BitField,ChannelRefVec,Layout>,K> : public mpl::at_c<ChannelRefVec,K> {};
-
118 
-
119 template <typename BitField, typename ChannelRefVec, typename Layout, int K>
-
120 struct kth_element_reference_type<packed_pixel<BitField,ChannelRefVec,Layout>,K> : public mpl::at_c<ChannelRefVec,K> {};
-
121 
-
122 template <typename BitField, typename ChannelRefVec, typename Layout, int K>
-
123 struct kth_element_const_reference_type<packed_pixel<BitField,ChannelRefVec,Layout>,K> {
-
124  typedef typename channel_traits<typename mpl::at_c<ChannelRefVec,K>::type>::const_reference type;
-
125 };
-
126 
-
127 template <int K, typename P, typename C, typename L> inline
-
128 typename kth_element_reference_type<packed_pixel<P,C,L>, K>::type
-
129 at_c(packed_pixel<P,C,L>& p) {
-
130  return typename kth_element_reference_type<packed_pixel<P,C,L>, K>::type(&p._bitfield);
-
131 }
-
132 
-
133 template <int K, typename P, typename C, typename L> inline
-
134 typename kth_element_const_reference_type<packed_pixel<P,C,L>, K>::type
-
135 at_c(const packed_pixel<P,C,L>& p) {
-
136  return typename kth_element_const_reference_type<packed_pixel<P,C,L>, K>::type(&p._bitfield);
-
137 }
-
138 
-
140 // PixelConcept
-
142 
-
143 // Metafunction predicate that flags packed_pixel as a model of PixelConcept. Required by PixelConcept
-
144 template <typename BitField, typename ChannelRefVec, typename Layout>
-
145 struct is_pixel<packed_pixel<BitField,ChannelRefVec,Layout> > : public mpl::true_{};
-
146 
-
148 // PixelBasedConcept
-
150 
-
151 template <typename P, typename C, typename Layout>
-
152 struct color_space_type<packed_pixel<P,C,Layout> > {
-
153  typedef typename Layout::color_space_t type;
-
154 };
-
155 
-
156 template <typename P, typename C, typename Layout>
-
157 struct channel_mapping_type<packed_pixel<P,C,Layout> > {
-
158  typedef typename Layout::channel_mapping_t type;
-
159 };
-
160 
-
161 template <typename P, typename C, typename Layout>
-
162 struct is_planar<packed_pixel<P,C,Layout> > : mpl::false_ {};
-
163 
-
164 
-
170 
-
175 
-
176 template <typename P, typename C, typename L>
-
177 struct iterator_is_mutable<packed_pixel<P,C,L>*> : public mpl::bool_<packed_pixel<P,C,L>::is_mutable> {};
+
53 struct packed_pixel
+
54 {
+
55  BitField _bitfield;
+
56 
+
57  using layout_t = Layout;
+
58  using value_type = packed_pixel<BitField, ChannelRefVec, Layout>;
+
59  using reference = value_type&;
+
60  using const_reference = value_type const&;
+
61 
+
62  BOOST_STATIC_CONSTANT(bool, is_mutable = channel_traits<typename mpl::front<ChannelRefVec>::type>::is_mutable);
+
63 
+
64  packed_pixel(){}
+
65  explicit packed_pixel(const BitField& bitfield) : _bitfield(bitfield) {}
+
66 
+
67  // Construct from another compatible pixel type
+
68  packed_pixel(const packed_pixel& p) : _bitfield(p._bitfield) {}
+
69  template <typename P> packed_pixel(const P& p, typename enable_if_c<is_pixel<P>::value>::type* d=nullptr) {
+
70  check_compatible<P>(); static_copy(p,*this);
+
71  boost::ignore_unused(d);
+
72  }
+
73  packed_pixel(int chan0, int chan1) : _bitfield(0) {
+
74  BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==2));
+
75  gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1;
+
76  }
+
77  packed_pixel(int chan0, int chan1, int chan2) : _bitfield(0) {
+
78  BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==3));
+
79  gil::at_c<0>(*this) = chan0;
+
80  gil::at_c<1>(*this) = chan1;
+
81  gil::at_c<2>(*this) = chan2;
+
82  }
+
83  packed_pixel(int chan0, int chan1, int chan2, int chan3) : _bitfield(0) {
+
84  BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==4));
+
85  gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1; gil::at_c<2>(*this)=chan2; gil::at_c<3>(*this)=chan3;
+
86  }
+
87  packed_pixel(int chan0, int chan1, int chan2, int chan3, int chan4) : _bitfield(0) {
+
88  BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==5));
+
89  gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1; gil::at_c<2>(*this)=chan2; gil::at_c<3>(*this)=chan3; gil::at_c<4>(*this)=chan4;
+
90  }
+
91 
+
92  packed_pixel& operator=(const packed_pixel& p) { _bitfield=p._bitfield; return *this; }
+
93 
+
94  template <typename P> packed_pixel& operator=(const P& p) { assign(p, mpl::bool_<is_pixel<P>::value>()); return *this; }
+
95  template <typename P> bool operator==(const P& p) const { return equal(p, mpl::bool_<is_pixel<P>::value>()); }
+
96 
+
97  template <typename P> bool operator!=(const P& p) const { return !(*this==p); }
+
98 
+
99 private:
+
100  template <typename Pixel> static void check_compatible() { gil_function_requires<PixelsCompatibleConcept<Pixel,packed_pixel> >(); }
+
101  template <typename Pixel> void assign(const Pixel& p, mpl::true_) { check_compatible<Pixel>(); static_copy(p,*this); }
+
102  template <typename Pixel> bool equal(const Pixel& p, mpl::true_) const { check_compatible<Pixel>(); return static_equal(*this,p); }
+
103 
+
104 // Support for assignment/equality comparison of a channel with a grayscale pixel
+
105  static void check_gray() { BOOST_STATIC_ASSERT((is_same<typename Layout::color_space_t, gray_t>::value)); }
+
106  template <typename Channel> void assign(const Channel& chan, mpl::false_) { check_gray(); gil::at_c<0>(*this)=chan; }
+
107  template <typename Channel> bool equal (const Channel& chan, mpl::false_) const { check_gray(); return gil::at_c<0>(*this)==chan; }
+
108 public:
+
109  packed_pixel& operator= (int chan) { check_gray(); gil::at_c<0>(*this)=chan; return *this; }
+
110  bool operator==(int chan) const { check_gray(); return gil::at_c<0>(*this)==chan; }
+
111 };
+
112 
+
114 // ColorBasedConcept
+
116 
+
117 template <typename BitField, typename ChannelRefVec, typename Layout, int K>
+
118 struct kth_element_type<packed_pixel<BitField,ChannelRefVec,Layout>,K> : public mpl::at_c<ChannelRefVec,K> {};
+
119 
+
120 template <typename BitField, typename ChannelRefVec, typename Layout, int K>
+
121 struct kth_element_reference_type<packed_pixel<BitField,ChannelRefVec,Layout>,K> : public mpl::at_c<ChannelRefVec,K> {};
+
122 
+
123 template <typename BitField, typename ChannelRefVec, typename Layout, int K>
+
124 struct kth_element_const_reference_type<packed_pixel<BitField,ChannelRefVec,Layout>,K>
+
125 {
+
126  using type = typename channel_traits<typename mpl::at_c<ChannelRefVec,K>::type>::const_reference;
+
127 };
+
128 
+
129 template <int K, typename P, typename C, typename L> inline
+
130 typename kth_element_reference_type<packed_pixel<P,C,L>, K>::type
+
131 at_c(packed_pixel<P,C,L>& p) {
+
132  return typename kth_element_reference_type<packed_pixel<P,C,L>, K>::type(&p._bitfield);
+
133 }
+
134 
+
135 template <int K, typename P, typename C, typename L> inline
+
136 typename kth_element_const_reference_type<packed_pixel<P,C,L>, K>::type
+
137 at_c(const packed_pixel<P,C,L>& p) {
+
138  return typename kth_element_const_reference_type<packed_pixel<P,C,L>, K>::type(&p._bitfield);
+
139 }
+
140 
+
142 // PixelConcept
+
144 
+
145 // Metafunction predicate that flags packed_pixel as a model of PixelConcept. Required by PixelConcept
+
146 template <typename BitField, typename ChannelRefVec, typename Layout>
+
147 struct is_pixel<packed_pixel<BitField,ChannelRefVec,Layout> > : public mpl::true_{};
+
148 
+
150 // PixelBasedConcept
+
152 
+
153 template <typename P, typename C, typename Layout>
+
154 struct color_space_type<packed_pixel<P,C,Layout> > {
+
155  using type = typename Layout::color_space_t;
+
156 };
+
157 
+
158 template <typename P, typename C, typename Layout>
+
159 struct channel_mapping_type<packed_pixel<P,C,Layout> > {
+
160  using type = typename Layout::channel_mapping_t;
+
161 };
+
162 
+
163 template <typename P, typename C, typename Layout>
+
164 struct is_planar<packed_pixel<P,C,Layout> > : mpl::false_ {};
+
165 
+
166 
+
172 
+
177 
178 template <typename P, typename C, typename L>
-
179 struct iterator_is_mutable<const packed_pixel<P,C,L>*> : public mpl::false_ {};
-
180 
-
181 
+
179 struct iterator_is_mutable<packed_pixel<P,C,L>*> : public mpl::bool_<packed_pixel<P,C,L>::is_mutable> {};
+
180 template <typename P, typename C, typename L>
+
181 struct iterator_is_mutable<const packed_pixel<P,C,L>*> : public mpl::false_ {};
182 
-
183 } } // namespace boost::gil
+
183 
184 
-
185 namespace boost {
-
186  template <typename P, typename C, typename L>
-
187  struct has_trivial_constructor<gil::packed_pixel<P,C,L> > : public has_trivial_constructor<P> {};
-
188 }
-
189 #endif
+
185 } } // namespace boost::gil
+
186 
+
187 namespace boost {
+
188  template <typename P, typename C, typename L>
+
189  struct has_trivial_constructor<gil::packed_pixel<P,C,L> > : public has_trivial_constructor<P> {};
+
190 }
+
191 #endif
add_reference< E >::type at_c(detail::homogeneous_color_base< E, L, N > &p)
Provides mutable access to the K-th element, in physical order.
Definition: color_base.hpp:381
@@ -206,7 +208,7 @@ diff --git a/develop/doc/html/reference/pixel_8hpp_source.html b/develop/doc/html/reference/pixel_8hpp_source.html index b795beca5..020cc2fd1 100644 --- a/develop/doc/html/reference/pixel_8hpp_source.html +++ b/develop/doc/html/reference/pixel_8hpp_source.html @@ -80,7 +80,7 @@
27 
28 // Forward-declare gray_t
29 struct gray_color_t;
-
30 typedef mpl::vector1<gray_color_t> gray_t;
+
30 using gray_t = mpl::vector1<gray_color_t>;
31 template <typename PixelBased> struct color_space_type;
32 template <typename PixelBased> struct channel_mapping_type;
33 template <typename PixelBased> struct channel_type;
@@ -106,12 +106,12 @@
92 template <typename ChannelValue, typename Layout> // = mpl::range_c<int,0,ColorSpace::size> >
93 struct pixel : public detail::homogeneous_color_base<ChannelValue,Layout,mpl::size<typename Layout::color_space_t>::value> {
94 private:
-
95  typedef ChannelValue channel_t;
-
96  typedef detail::homogeneous_color_base<ChannelValue,Layout,mpl::size<typename Layout::color_space_t>::value> parent_t;
+
95  using channel_t = ChannelValue;
+
96  using parent_t = detail::homogeneous_color_base<ChannelValue,Layout,mpl::size<typename Layout::color_space_t>::value>;
97 public:
-
98  typedef pixel value_type;
-
99  typedef value_type& reference;
-
100  typedef const value_type& const_reference;
+
98  using value_type = pixel<ChannelValue, Layout>;
+
99  using reference = value_type&;
+
100  using const_reference = value_type const&;
101  BOOST_STATIC_CONSTANT(bool, is_mutable = channel_traits<channel_t>::is_mutable);
102 
103  pixel(){}
@@ -160,22 +160,22 @@
148 
149 template <typename ChannelValue, typename Layout, int K>
150 struct kth_element_type<pixel<ChannelValue,Layout>, K> {
-
151  typedef ChannelValue type;
+
151  using type = ChannelValue;
152 };
153 
154 template <typename ChannelValue, typename Layout, int K>
155 struct kth_element_reference_type<pixel<ChannelValue,Layout>, K> {
-
156  typedef typename channel_traits<ChannelValue>::reference type;
+
156  using type = typename channel_traits<ChannelValue>::reference;
157 };
158 
159 template <typename ChannelValue, typename Layout, int K>
160 struct kth_element_reference_type<const pixel<ChannelValue,Layout>, K> {
-
161  typedef typename channel_traits<ChannelValue>::const_reference type;
+
161  using type = typename channel_traits<ChannelValue>::const_reference;
162 };
163 
164 template <typename ChannelValue, typename Layout, int K>
165 struct kth_element_const_reference_type<pixel<ChannelValue,Layout>, K> {
-
166  typedef typename channel_traits<ChannelValue>::const_reference type;
+
166  using type = typename channel_traits<ChannelValue>::const_reference;
167 };
168 
170 // PixelConcept
@@ -187,12 +187,12 @@
179 
180 template <typename ChannelValue, typename Layout>
181 struct color_space_type<pixel<ChannelValue,Layout> > {
-
182  typedef typename Layout::color_space_t type;
+
182  using type = typename Layout::color_space_t;
183 };
184 
185 template <typename ChannelValue, typename Layout>
186 struct channel_mapping_type<pixel<ChannelValue,Layout> > {
-
187  typedef typename Layout::channel_mapping_t type;
+
187  using type = typename Layout::channel_mapping_t;
188 };
189 
190 template <typename ChannelValue, typename Layout>
@@ -200,7 +200,7 @@
192 
193 template <typename ChannelValue, typename Layout>
194 struct channel_type<pixel<ChannelValue,Layout> > {
-
195  typedef ChannelValue type;
+
195  using type = ChannelValue;
196 };
197 
198 }} // namespace boost::gil
@@ -217,7 +217,7 @@ diff --git a/develop/doc/html/reference/pixel__iterator_8hpp_source.html b/develop/doc/html/reference/pixel__iterator_8hpp_source.html index 4564a2776..6917b0f8a 100644 --- a/develop/doc/html/reference/pixel__iterator_8hpp_source.html +++ b/develop/doc/html/reference/pixel__iterator_8hpp_source.html @@ -89,8 +89,8 @@
42 
43 // The default implementation when the iterator is a C pointer is to use the standard constness semantics
-
44 template <typename T> struct const_iterator_type< T*> { typedef const T* type; };
-
45 template <typename T> struct const_iterator_type<const T*> { typedef const T* type; };
+
44 template <typename T> struct const_iterator_type<T*> { using type = T const*; };
+
45 template <typename T> struct const_iterator_type<T const*> { using type = T const*; };
46 
49 template <typename It>
@@ -106,12 +106,12 @@
66 
68 template <typename Pixel>
69 struct dynamic_x_step_type<Pixel*> {
-
70  typedef memory_based_step_iterator<Pixel*> type;
+
70  using type = memory_based_step_iterator<Pixel *>;
71 };
72 
74 template <typename Pixel>
75 struct dynamic_x_step_type<const Pixel*> {
-
76  typedef memory_based_step_iterator<const Pixel*> type;
+
76  using type = memory_based_step_iterator<const Pixel *>;
77 };
78 
79 
@@ -176,7 +176,7 @@ diff --git a/develop/doc/html/reference/pixel__iterator__adaptor_8hpp_source.html b/develop/doc/html/reference/pixel__iterator__adaptor_8hpp_source.html index dd8fcd4fc..f797c48cc 100644 --- a/develop/doc/html/reference/pixel__iterator__adaptor_8hpp_source.html +++ b/develop/doc/html/reference/pixel__iterator__adaptor_8hpp_source.html @@ -82,15 +82,15 @@
34  use_default> {
35  DFn _deref_fn;
36 public:
-
37  typedef iterator_adaptor<dereference_iterator_adaptor<Iterator,DFn>,
+
37  using parent_t = iterator_adaptor<dereference_iterator_adaptor<Iterator,DFn>,
38  Iterator,
39  typename DFn::value_type,
40  typename std::iterator_traits<Iterator>::iterator_category,
41  typename DFn::reference,
-
42  use_default> parent_t;
-
43  typedef typename DFn::result_type reference;
-
44  typedef typename std::iterator_traits<Iterator>::difference_type difference_type;
-
45  typedef DFn dereference_fn;
+
42  use_default>;
+
43  using reference = typename DFn::result_type;
+
44  using difference_type = typename std::iterator_traits<Iterator>::difference_type;
+
45  using dereference_fn = DFn;
46 
48  template <typename Iterator1>
@@ -122,7 +122,7 @@
76 
77 template <typename I, typename DFn>
78 struct const_iterator_type<dereference_iterator_adaptor<I,DFn> > {
-
79  typedef dereference_iterator_adaptor<typename const_iterator_type<I>::type,typename DFn::const_t> type;
+
79  using type = dereference_iterator_adaptor<typename const_iterator_type<I>::type,typename DFn::const_t>;
80 };
81 
82 template <typename I, typename DFn>
@@ -134,12 +134,12 @@
88 
89 template <typename I, typename DFn>
90 struct iterator_adaptor_get_base<dereference_iterator_adaptor<I,DFn> > {
-
91  typedef I type;
+
91  using type = I;
92 };
93 
94 template <typename I, typename DFn, typename NewBaseIterator>
95 struct iterator_adaptor_rebind<dereference_iterator_adaptor<I,DFn>,NewBaseIterator> {
-
96  typedef dereference_iterator_adaptor<NewBaseIterator,DFn> type;
+
96  using type = dereference_iterator_adaptor<NewBaseIterator,DFn>;
97 };
98 
100 // PixelBasedConcept
@@ -201,14 +201,14 @@
161 
162 template <typename Iterator, typename DFn>
163 struct dynamic_x_step_type<dereference_iterator_adaptor<Iterator,DFn> > {
-
164  typedef dereference_iterator_adaptor<typename dynamic_x_step_type<Iterator>::type,DFn> type;
+
164  using type = dereference_iterator_adaptor<typename dynamic_x_step_type<Iterator>::type,DFn>;
165 };
166 
169 template <typename Iterator, typename Deref>
170 struct iterator_add_deref {
171  GIL_CLASS_REQUIRE(Deref, boost::gil, PixelDereferenceAdaptorConcept)
172 
-
173  typedef dereference_iterator_adaptor<Iterator, Deref> type;
+
173  using type = dereference_iterator_adaptor<Iterator, Deref>;
174 
175  static type make(const Iterator& it, const Deref& d) { return type(it,d); }
176 };
@@ -217,7 +217,7 @@
181 struct iterator_add_deref<dereference_iterator_adaptor<Iterator, PREV_DEREF>,Deref> {
182 // GIL_CLASS_REQUIRE(Deref, boost::gil, PixelDereferenceAdaptorConcept)
183 
- +
185 
186  static type make(const dereference_iterator_adaptor<Iterator, PREV_DEREF>& it, const Deref& d) {
187  return type(it.base(),deref_compose<Deref,PREV_DEREF>(d,it.deref_fn()));
@@ -230,14 +230,14 @@
Returns the type (and creates an instance) of an iterator that invokes the given dereference adaptor ...
Definition: locator.hpp:25
An adaptor over an existing iterator that provides for custom filter on dereferencing the object...
Definition: pixel_iterator_adaptor.hpp:29
reference operator[](difference_type d) const
Definition: pixel_iterator_adaptor.hpp:55
-
Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typed...
Definition: utilities.hpp:105
+
Composes two dereference function objects. Similar to std::unary_compose but needs to pull some alias...
Definition: utilities.hpp:105
diff --git a/develop/doc/html/reference/planar__pixel__iterator_8hpp_source.html b/develop/doc/html/reference/planar__pixel__iterator_8hpp_source.html index 9dba1f66b..882ab9033 100644 --- a/develop/doc/html/reference/planar__pixel__iterator_8hpp_source.html +++ b/develop/doc/html/reference/planar__pixel__iterator_8hpp_source.html @@ -83,16 +83,16 @@
44  const planar_pixel_reference<typename std::iterator_traits<ChannelPtr>::reference,ColorSpace> >,
45  public detail::homogeneous_color_base<ChannelPtr,layout<ColorSpace>,mpl::size<ColorSpace>::value > {
46 private:
-
47  typedef iterator_facade<planar_pixel_iterator<ChannelPtr,ColorSpace>,
-
48  pixel<typename std::iterator_traits<ChannelPtr>::value_type,layout<ColorSpace> >,
+
47  using parent_t = iterator_facade<planar_pixel_iterator<ChannelPtr,ColorSpace>,
+
48  pixel<typename std::iterator_traits<ChannelPtr>::value_type,layout<ColorSpace>>,
49  std::random_access_iterator_tag,
-
50  const planar_pixel_reference<typename std::iterator_traits<ChannelPtr>::reference,ColorSpace> > parent_t;
-
51  typedef detail::homogeneous_color_base<ChannelPtr,layout<ColorSpace>,mpl::size<ColorSpace>::value> color_base_parent_t;
-
52  typedef typename std::iterator_traits<ChannelPtr>::value_type channel_t;
+
50  const planar_pixel_reference<typename std::iterator_traits<ChannelPtr>::reference,ColorSpace>>;
+
51  using color_base_parent_t = detail::homogeneous_color_base<ChannelPtr,layout<ColorSpace>,mpl::size<ColorSpace>::value>;
+
52  using channel_t = typename std::iterator_traits<ChannelPtr>::value_type;
53 public:
-
54  typedef typename parent_t::value_type value_type;
-
55  typedef typename parent_t::reference reference;
-
56  typedef typename parent_t::difference_type difference_type;
+
54  using value_type = typename parent_t::value_type;
+
55  using reference = typename parent_t::reference;
+
56  using difference_type = typename parent_t::difference_type;
57 
58  planar_pixel_iterator() : color_base_parent_t(0) {}
59  planar_pixel_iterator(bool) {} // constructor that does not fill with zero (for performance)
@@ -150,9 +150,9 @@
116 template <typename IC, typename C>
117 struct const_iterator_type<planar_pixel_iterator<IC,C> > {
118 private:
-
119  typedef typename std::iterator_traits<IC>::value_type channel_t;
+
119  using channel_t = typename std::iterator_traits<IC>::value_type;
120 public:
-
121  typedef planar_pixel_iterator<typename channel_traits<channel_t>::const_pointer,C> type;
+
121  using type = planar_pixel_iterator<typename channel_traits<channel_t>::const_pointer,C>;
122 };
123 
124 // The default implementation when the iterator is a C pointer is to use the standard constness semantics
@@ -163,7 +163,7 @@
131 
132 template <typename IC, typename C, int K>
133 struct kth_element_type<planar_pixel_iterator<IC,C>, K> {
-
134  typedef IC type;
+
134  using type = IC;
135 };
136 
137 template <typename IC, typename C, int K>
@@ -176,7 +176,7 @@
146 
147 template <typename IC, typename C>
148 struct color_space_type<planar_pixel_iterator<IC,C> > {
-
149  typedef C type;
+
149  using type = C;
150 };
151 
152 template <typename IC, typename C>
@@ -187,7 +187,7 @@
157 
158 template <typename IC, typename C>
159 struct channel_type<planar_pixel_iterator<IC,C> > {
-
160  typedef typename std::iterator_traits<IC>::value_type type;
+
160  using type = typename std::iterator_traits<IC>::value_type;
161 };
162 
164 // MemoryBasedIteratorConcept
@@ -230,7 +230,7 @@
204 
205 template <typename IC, typename C>
206 struct dynamic_x_step_type<planar_pixel_iterator<IC,C> > {
-
207  typedef memory_based_step_iterator<planar_pixel_iterator<IC,C> > type;
+
207  using type = memory_based_step_iterator<planar_pixel_iterator<IC,C>>;
208 };
209 } } // namespace boost::gil
210 
@@ -244,7 +244,7 @@ diff --git a/develop/doc/html/reference/planar__pixel__reference_8hpp_source.html b/develop/doc/html/reference/planar__pixel__reference_8hpp_source.html index 37664d461..718ae74ce 100644 --- a/develop/doc/html/reference/planar__pixel__reference_8hpp_source.html +++ b/develop/doc/html/reference/planar__pixel__reference_8hpp_source.html @@ -76,141 +76,142 @@
30 
36 template <typename ChannelReference, typename ColorSpace> // ChannelReference is a channel reference (const or mutable)
37 struct planar_pixel_reference
-
38  : public detail::homogeneous_color_base<ChannelReference,layout<ColorSpace>,mpl::size<ColorSpace>::value> {
-
39  typedef detail::homogeneous_color_base<ChannelReference,layout<ColorSpace>,mpl::size<ColorSpace>::value> parent_t;
-
40 private:
-
41  // These three are only defined for homogeneous pixels
-
42  typedef typename channel_traits<ChannelReference>::value_type channel_t;
-
43  typedef typename channel_traits<ChannelReference>::const_reference channel_const_reference;
-
44 public:
-
45  BOOST_STATIC_CONSTANT(bool, is_mutable = channel_traits<ChannelReference>::is_mutable);
-
46  typedef pixel<channel_t,layout<ColorSpace> > value_type;
-
47  typedef planar_pixel_reference reference;
-
48  typedef planar_pixel_reference<channel_const_reference,ColorSpace> const_reference;
-
49 
-
50  planar_pixel_reference(ChannelReference v0, ChannelReference v1) : parent_t(v0,v1) {}
-
51  planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2) : parent_t(v0,v1,v2) {}
-
52  planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3) : parent_t(v0,v1,v2,v3) {}
-
53 planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3, ChannelReference v4) : parent_t(v0,v1,v2,v3,v4) {}
-
54  planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3, ChannelReference v4, ChannelReference v5) : parent_t(v0,v1,v2,v3,v4,v5) {}
-
55 
-
56  template <typename P> planar_pixel_reference(const P& p) : parent_t(p) { check_compatible<P>();}
-
57 
-
58  // PERFORMANCE_CHECK: Is this constructor necessary?
-
59  template <typename ChannelV, typename Mapping>
-
60  planar_pixel_reference(pixel<ChannelV,layout<ColorSpace,Mapping> >& p) : parent_t(p) { check_compatible<pixel<ChannelV,layout<ColorSpace,Mapping> > >();}
-
61 
-
62  // Construct at offset from a given location
-
63  template <typename ChannelPtr> planar_pixel_reference(const planar_pixel_iterator<ChannelPtr,ColorSpace>& p, std::ptrdiff_t diff) : parent_t(p,diff) {}
-
64 
-
65  const planar_pixel_reference& operator=(const planar_pixel_reference& p) const { static_copy(p,*this); return *this; }
-
66  template <typename P> const planar_pixel_reference& operator=(const P& p) const { check_compatible<P>(); static_copy(p,*this); return *this; }
-
67 
-
68 // This overload is necessary for a compiler implementing Core Issue 574
-
69 // to prevent generation of an implicit copy assignment operator (the reason
-
70 // for generating implicit copy assignment operator is that according to
-
71 // Core Issue 574, a cv-qualified assignment operator is not considered
-
72 // "copy assignment operator").
-
73 // EDG implemented Core Issue 574 starting with EDG Version 3.8. I'm not
-
74 // sure why they did it for a template member function as well.
-
75 #if BOOST_WORKAROUND(__HP_aCC, >= 61700) || BOOST_WORKAROUND(__INTEL_COMPILER, >= 1000)
-
76  const planar_pixel_reference& operator=(const planar_pixel_reference& p) { static_copy(p,*this); return *this; }
-
77  template <typename P> const planar_pixel_reference& operator=(const P& p) { check_compatible<P>(); static_copy(p,*this); return *this; }
-
78 #endif
-
79 
-
80  template <typename P> bool operator==(const P& p) const { check_compatible<P>(); return static_equal(*this,p); }
-
81  template <typename P> bool operator!=(const P& p) const { return !(*this==p); }
-
82 
-
83  ChannelReference operator[](std::size_t i) const { return this->at_c_dynamic(i); }
-
84 
-
85  const planar_pixel_reference* operator->() const { return this; }
-
86 private:
-
87  template <typename Pixel> static void check_compatible() { gil_function_requires<PixelsCompatibleConcept<Pixel,planar_pixel_reference> >(); }
-
88 };
-
89 
-
91 // ColorBasedConcept
-
93 
-
94 template <typename ChannelReference, typename ColorSpace, int K>
-
95 struct kth_element_type<planar_pixel_reference<ChannelReference,ColorSpace>, K> {
-
96  typedef ChannelReference type;
-
97 };
-
98 
-
99 template <typename ChannelReference, typename ColorSpace, int K>
-
100 struct kth_element_reference_type<planar_pixel_reference<ChannelReference,ColorSpace>, K> {
-
101  typedef ChannelReference type;
-
102 };
-
103 
-
104 template <typename ChannelReference, typename ColorSpace, int K>
-
105 struct kth_element_const_reference_type<planar_pixel_reference<ChannelReference,ColorSpace>, K>
-
106  : public add_reference<typename add_const<ChannelReference>::type>
-
107 {
-
108 // typedef typename channel_traits<ChannelReference>::const_reference type;
-
109 };
-
110 
-
112 // PixelConcept
-
114 
-
117 template <typename ChannelReference, typename ColorSpace>
-
118 struct is_pixel< planar_pixel_reference<ChannelReference,ColorSpace> > : public mpl::true_{};
-
119 
-
121 // HomogeneousPixelBasedConcept
-
123 
-
126 template <typename ChannelReference, typename ColorSpace>
-
127 struct color_space_type<planar_pixel_reference<ChannelReference,ColorSpace> > {
-
128  typedef ColorSpace type;
-
129 };
-
130 
-
133 template <typename ChannelReference, typename ColorSpace>
-
134 struct channel_mapping_type<planar_pixel_reference<ChannelReference,ColorSpace> > {
-
135  typedef typename layout<ColorSpace>::channel_mapping_t type;
-
136 };
-
137 
-
140 template <typename ChannelReference, typename ColorSpace>
-
141 struct is_planar<planar_pixel_reference<ChannelReference,ColorSpace> > : mpl::true_ {};
-
142 
-
145 template <typename ChannelReference, typename ColorSpace>
-
146 struct channel_type<planar_pixel_reference<ChannelReference,ColorSpace> > {
-
147  typedef typename channel_traits<ChannelReference>::value_type type;
-
148 };
-
149 
-
150 }} // namespace boost::gil
-
151 
-
152 namespace std {
-
153 // We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
-
154 // swap with 'left bias':
-
155 // - swap between proxy and anything
-
156 // - swap between value type and proxy
-
157 // - swap between proxy and proxy
-
158 // Having three overloads allows us to swap between different (but compatible) models of PixelConcept
-
159 
-
162 template <typename CR, typename CS, typename R> inline
-
163 void swap(const boost::gil::planar_pixel_reference<CR,CS> x, R& y) {
-
164  boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
-
165 }
-
166 
-
169 template <typename CR, typename CS> inline
-
170 void swap(typename boost::gil::planar_pixel_reference<CR,CS>::value_type& x, const boost::gil::planar_pixel_reference<CR,CS> y) {
-
171  boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
-
172 }
-
173 
-
176 template <typename CR, typename CS> inline
-
177 void swap(const boost::gil::planar_pixel_reference<CR,CS> x, const boost::gil::planar_pixel_reference<CR,CS> y) {
-
178  boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
-
179 }
-
180 
-
181 } // namespace std
-
182 
-
183 #endif
+
38  : public detail::homogeneous_color_base<ChannelReference,layout<ColorSpace>,mpl::size<ColorSpace>::value>
+
39 {
+
40  using parent_t = detail::homogeneous_color_base<ChannelReference,layout<ColorSpace>,mpl::size<ColorSpace>::value>;
+
41 private:
+
42  // These three are only defined for homogeneous pixels
+
43  using channel_t = typename channel_traits<ChannelReference>::value_type;
+
44  using channel_const_reference = typename channel_traits<ChannelReference>::const_reference;
+
45 public:
+
46  BOOST_STATIC_CONSTANT(bool, is_mutable = channel_traits<ChannelReference>::is_mutable);
+
47  using value_type = pixel<channel_t,layout<ColorSpace>>;
+
48  using reference = planar_pixel_reference<ChannelReference, ColorSpace>;
+
49  using const_reference = planar_pixel_reference<channel_const_reference,ColorSpace>;
+
50 
+
51  planar_pixel_reference(ChannelReference v0, ChannelReference v1) : parent_t(v0,v1) {}
+
52  planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2) : parent_t(v0,v1,v2) {}
+
53  planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3) : parent_t(v0,v1,v2,v3) {}
+
54 planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3, ChannelReference v4) : parent_t(v0,v1,v2,v3,v4) {}
+
55  planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3, ChannelReference v4, ChannelReference v5) : parent_t(v0,v1,v2,v3,v4,v5) {}
+
56 
+
57  template <typename P> planar_pixel_reference(const P& p) : parent_t(p) { check_compatible<P>();}
+
58 
+
59  // PERFORMANCE_CHECK: Is this constructor necessary?
+
60  template <typename ChannelV, typename Mapping>
+
61  planar_pixel_reference(pixel<ChannelV,layout<ColorSpace,Mapping> >& p) : parent_t(p) { check_compatible<pixel<ChannelV,layout<ColorSpace,Mapping> > >();}
+
62 
+
63  // Construct at offset from a given location
+
64  template <typename ChannelPtr> planar_pixel_reference(const planar_pixel_iterator<ChannelPtr,ColorSpace>& p, std::ptrdiff_t diff) : parent_t(p,diff) {}
+
65 
+
66  const planar_pixel_reference& operator=(const planar_pixel_reference& p) const { static_copy(p,*this); return *this; }
+
67  template <typename P> const planar_pixel_reference& operator=(const P& p) const { check_compatible<P>(); static_copy(p,*this); return *this; }
+
68 
+
69 // This overload is necessary for a compiler implementing Core Issue 574
+
70 // to prevent generation of an implicit copy assignment operator (the reason
+
71 // for generating implicit copy assignment operator is that according to
+
72 // Core Issue 574, a cv-qualified assignment operator is not considered
+
73 // "copy assignment operator").
+
74 // EDG implemented Core Issue 574 starting with EDG Version 3.8. I'm not
+
75 // sure why they did it for a template member function as well.
+
76 #if BOOST_WORKAROUND(__HP_aCC, >= 61700) || BOOST_WORKAROUND(__INTEL_COMPILER, >= 1000)
+
77  const planar_pixel_reference& operator=(const planar_pixel_reference& p) { static_copy(p,*this); return *this; }
+
78  template <typename P> const planar_pixel_reference& operator=(const P& p) { check_compatible<P>(); static_copy(p,*this); return *this; }
+
79 #endif
+
80 
+
81  template <typename P> bool operator==(const P& p) const { check_compatible<P>(); return static_equal(*this,p); }
+
82  template <typename P> bool operator!=(const P& p) const { return !(*this==p); }
+
83 
+
84  ChannelReference operator[](std::size_t i) const { return this->at_c_dynamic(i); }
+
85 
+
86  const planar_pixel_reference* operator->() const { return this; }
+
87 private:
+
88  template <typename Pixel> static void check_compatible() { gil_function_requires<PixelsCompatibleConcept<Pixel,planar_pixel_reference> >(); }
+
89 };
+
90 
+
92 // ColorBasedConcept
+
94 
+
95 template <typename ChannelReference, typename ColorSpace, int K>
+
96 struct kth_element_type<planar_pixel_reference<ChannelReference,ColorSpace>, K> {
+
97  using type = ChannelReference;
+
98 };
+
99 
+
100 template <typename ChannelReference, typename ColorSpace, int K>
+
101 struct kth_element_reference_type<planar_pixel_reference<ChannelReference,ColorSpace>, K> {
+
102  using type = ChannelReference;
+
103 };
+
104 
+
105 template <typename ChannelReference, typename ColorSpace, int K>
+
106 struct kth_element_const_reference_type<planar_pixel_reference<ChannelReference,ColorSpace>, K>
+
107  : public add_reference<typename add_const<ChannelReference>::type>
+
108 {
+
109 // using type = typename channel_traits<ChannelReference>::const_reference;
+
110 };
+
111 
+
113 // PixelConcept
+
115 
+
118 template <typename ChannelReference, typename ColorSpace>
+
119 struct is_pixel< planar_pixel_reference<ChannelReference,ColorSpace> > : public mpl::true_{};
+
120 
+
122 // HomogeneousPixelBasedConcept
+
124 
+
127 template <typename ChannelReference, typename ColorSpace>
+
128 struct color_space_type<planar_pixel_reference<ChannelReference,ColorSpace> > {
+
129  using type = ColorSpace;
+
130 };
+
131 
+
134 template <typename ChannelReference, typename ColorSpace>
+
135 struct channel_mapping_type<planar_pixel_reference<ChannelReference,ColorSpace> > {
+
136  using type = typename layout<ColorSpace>::channel_mapping_t;
+
137 };
+
138 
+
141 template <typename ChannelReference, typename ColorSpace>
+
142 struct is_planar<planar_pixel_reference<ChannelReference,ColorSpace> > : mpl::true_ {};
+
143 
+
146 template <typename ChannelReference, typename ColorSpace>
+
147 struct channel_type<planar_pixel_reference<ChannelReference,ColorSpace> > {
+
148  using type = typename channel_traits<ChannelReference>::value_type;
+
149 };
+
150 
+
151 }} // namespace boost::gil
+
152 
+
153 namespace std {
+
154 // We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
+
155 // swap with 'left bias':
+
156 // - swap between proxy and anything
+
157 // - swap between value type and proxy
+
158 // - swap between proxy and proxy
+
159 // Having three overloads allows us to swap between different (but compatible) models of PixelConcept
+
160 
+
163 template <typename CR, typename CS, typename R> inline
+
164 void swap(const boost::gil::planar_pixel_reference<CR,CS> x, R& y) {
+
165  boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
+
166 }
+
167 
+
170 template <typename CR, typename CS> inline
+
171 void swap(typename boost::gil::planar_pixel_reference<CR,CS>::value_type& x, const boost::gil::planar_pixel_reference<CR,CS> y) {
+
172  boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
+
173 }
+
174 
+
177 template <typename CR, typename CS> inline
+
178 void swap(const boost::gil::planar_pixel_reference<CR,CS> x, const boost::gil::planar_pixel_reference<CR,CS> y) {
+
179  boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
+
180 }
+
181 
+
182 } // namespace std
+
183 
+
184 #endif
boost::gil::planar_pixel_reference
A reference proxy to a planar pixel. Models: HomogeneousColorBaseConcept, HomogeneousPixelConcept.
Definition: metafunctions.hpp:32
boost::gil::pixel
Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept, PixelValueConcept, HomogeneousPixelBasedConcept.
Definition: metafunctions.hpp:30
boost::gil::channel_type
Definition: color_convert.hpp:30
-
std::swap
void swap(const boost::gil::planar_pixel_reference< CR, CS > x, const boost::gil::planar_pixel_reference< CR, CS > y)
swap for planar_pixel_reference
Definition: planar_pixel_reference.hpp:177
+
std::swap
void swap(const boost::gil::planar_pixel_reference< CR, CS > x, const boost::gil::planar_pixel_reference< CR, CS > y)
swap for planar_pixel_reference
Definition: planar_pixel_reference.hpp:178
diff --git a/develop/doc/html/reference/png_8hpp_source.html b/develop/doc/html/reference/png_8hpp_source.html index 6ad9892d2..dca722a0b 100644 --- a/develop/doc/html/reference/png_8hpp_source.html +++ b/develop/doc/html/reference/png_8hpp_source.html @@ -71,7 +71,7 @@ diff --git a/develop/doc/html/reference/pnm_8hpp_source.html b/develop/doc/html/reference/pnm_8hpp_source.html index 298ac1bae..c211403cc 100644 --- a/develop/doc/html/reference/pnm_8hpp_source.html +++ b/develop/doc/html/reference/pnm_8hpp_source.html @@ -71,7 +71,7 @@ diff --git a/develop/doc/html/reference/point_8hpp_source.html b/develop/doc/html/reference/point_8hpp_source.html index 67335219f..267ae1536 100644 --- a/develop/doc/html/reference/point_8hpp_source.html +++ b/develop/doc/html/reference/point_8hpp_source.html @@ -296,7 +296,7 @@ diff --git a/develop/doc/html/reference/position__iterator_8hpp_source.html b/develop/doc/html/reference/position__iterator_8hpp_source.html index a1f5bbb5c..11cce9f4a 100644 --- a/develop/doc/html/reference/position__iterator_8hpp_source.html +++ b/develop/doc/html/reference/position__iterator_8hpp_source.html @@ -76,14 +76,14 @@
29  std::random_access_iterator_tag,
30  typename Deref::reference,
31  typename Deref::argument_type::template axis<Dim>::coord_t> {
-
32  typedef iterator_facade<position_iterator<Deref,Dim>,
+
32  using parent_t = iterator_facade<position_iterator<Deref,Dim>,
33  typename Deref::value_type,
34  std::random_access_iterator_tag,
35  typename Deref::reference,
-
36  typename Deref::argument_type::template axis<Dim>::coord_t> parent_t;
-
37  typedef typename parent_t::difference_type difference_type;
-
38  typedef typename parent_t::reference reference;
-
39  typedef typename Deref::argument_type point_t;
+
36  typename Deref::argument_type::template axis<Dim>::coord_t>;
+
37  using difference_type = typename parent_t::difference_type;
+
38  using reference = typename parent_t::reference;
+
39  using point_t = typename Deref::argument_type;
40 
41  position_iterator() {}
42  position_iterator(const point_t& p, const point_t& step, const Deref& d) : _p(p), _step(step), _d(d) {}
@@ -116,7 +116,7 @@
71 
72 template <typename Deref,int Dim>
73 struct const_iterator_type<position_iterator<Deref,Dim> > {
-
74  typedef position_iterator<typename Deref::const_t,Dim> type;
+
74  using type = position_iterator<typename Deref::const_t,Dim>;
75 };
76 
77 template <typename Deref,int Dim>
@@ -141,7 +141,7 @@
100 
101 template <typename Deref,int Dim>
102 struct dynamic_x_step_type<position_iterator<Deref,Dim> > {
-
103  typedef position_iterator<Deref,Dim> type;
+
103  using type = position_iterator<Deref,Dim>;
104 };
105 
106 } } // namespace boost::gil
@@ -157,7 +157,7 @@ diff --git a/develop/doc/html/reference/premultiply_8hpp_source.html b/develop/doc/html/reference/premultiply_8hpp_source.html index 219141205..096af43c8 100644 --- a/develop/doc/html/reference/premultiply_8hpp_source.html +++ b/develop/doc/html/reference/premultiply_8hpp_source.html @@ -110,11 +110,11 @@
57  template <typename SrcP, typename DstP>
58  void operator()(const SrcP& src, DstP& dst) const
59  {
-
60  typedef typename color_space_type<SrcP>::type src_colour_space_t;
-
61  typedef typename color_space_type<DstP>::type dst_colour_space_t;
-
62  typedef typename mpl::remove <src_colour_space_t, alpha_t>::type src_colour_channels;
+
60  using src_colour_space_t = typename color_space_type<SrcP>::type;
+
61  using dst_colour_space_t = typename color_space_type<DstP>::type;
+
62  using src_colour_channels = typename mpl::remove <src_colour_space_t, alpha_t>::type;
63 
-
64  typedef mpl::bool_<mpl::contains<dst_colour_space_t, alpha_t>::value> has_alpha_t;
+
64  using has_alpha_t = mpl::bool_<mpl::contains<dst_colour_space_t, alpha_t>::value>;
65  mpl::for_each<src_colour_channels>(channel_premultiply<SrcP, DstP>(src, dst));
66  detail::assign_alpha_if(has_alpha_t(), src, dst);
67  }
@@ -125,12 +125,12 @@
72 class premultiply_deref_fn
73 {
74 public:
-
75  typedef premultiply_deref_fn const_t;
-
76  typedef DstP value_type;
-
77  typedef value_type reference; // read-only dereferencing
-
78  typedef const value_type& const_reference;
-
79  typedef SrcConstRefP argument_type;
-
80  typedef reference result_type;
+
75  using const_t = premultiply_deref_fn<SrcConstRefP, DstP>;
+
76  using value_type = DstP;
+
77  using reference = value_type; // read-only dereferencing
+
78  using const_reference = const value_type &;
+
79  using argument_type = SrcConstRefP;
+
80  using result_type = reference;
81  BOOST_STATIC_CONSTANT(bool, is_mutable=false);
82 
83  result_type operator()(argument_type srcP) const
@@ -145,11 +145,11 @@
92 struct premultiplied_view_type
93 {
94 private:
-
95  typedef typename SrcView::const_t::reference src_pix_ref; // const reference to pixel in SrcView
-
96  typedef premultiply_deref_fn<src_pix_ref, DstP> deref_t; // the dereference adaptor that performs color conversion
-
97  typedef typename SrcView::template add_deref<deref_t> add_ref_t;
+
95  using src_pix_ref = typename SrcView::const_t::reference; // const reference to pixel in SrcView
+
96  using deref_t = premultiply_deref_fn<src_pix_ref, DstP>; // the dereference adaptor that performs color conversion
+
97  using add_ref_t = typename SrcView::template add_deref<deref_t>;
98 public:
-
99  typedef typename add_ref_t::type type; // the color converted view type
+
99  using type = typename add_ref_t::type; // the color converted view type
100  static type make(const SrcView& sv) { return add_ref_t::make(sv, deref_t()); }
101 };
102 
@@ -163,14 +163,14 @@
110 
111 #endif
boost::gil::channel_multiply
channel_traits< Channel >::value_type channel_multiply(Channel a, Channel b)
A function multiplying two channels. result = a * b / max_value.
Definition: channel_algorithm.hpp:488
-
boost::gil::get_color
color_element_reference_type< ColorBase, Color >::type get_color(ColorBase &cb, Color=Color())
Mutable accessor to the element associated with a given color name.
Definition: color_base_algorithm.hpp:169
+
boost::gil::get_color
color_element_reference_type< ColorBase, Color >::type get_color(ColorBase &cb, Color=Color())
Mutable accessor to the element associated with a given color name.
Definition: color_base_algorithm.hpp:170
diff --git a/develop/doc/html/reference/promote__integral_8hpp_source.html b/develop/doc/html/reference/promote__integral_8hpp_source.html index 5f664e1cb..b3cf1c277 100644 --- a/develop/doc/html/reference/promote__integral_8hpp_source.html +++ b/develop/doc/html/reference/promote__integral_8hpp_source.html @@ -106,9 +106,9 @@
53 >
54 struct promote_to_larger
55 {
-
56  typedef typename boost::mpl::deref<Iterator>::type current_type;
+
56  using current_type = typename boost::mpl::deref<Iterator>::type;
57 
-
58  typedef typename std::conditional
+
58  using type = typename std::conditional
59  <
60  (bit_size<current_type>::type::value >= MinSize),
61  current_type,
@@ -119,7 +119,7 @@
66  EndIterator,
67  MinSize
68  >::type
-
69  >::type type;
+
69  >::type;
70 };
71 
72 // The following specialization is required to finish the loop over
@@ -129,7 +129,7 @@
76 {
77  // if promotion fails, keep the number T
78  // (and cross fingers that overflow will not occur)
-
79  typedef T type;
+
79  using type = T;
80 };
81 
82 }} // namespace detail::promote_integral
@@ -146,7 +146,7 @@
125 private:
126  static bool const is_unsigned = std::is_unsigned<T>::type::value;
127 
-
128  typedef detail::promote_integral::bit_size<T> bit_size_type;
+
128  using bit_size_type = detail::promote_integral::bit_size<T>;
129 
130  // Define the minimum size (in bits) needed for the promoted type
131  // If T is the input type and P the promoted type, then the
@@ -155,7 +155,7 @@
134  // * if T is unsigned and P is unsigned: 2 * b
135  // * if T is signed and P is signed: 2 * b - 1
136  // * if T is unsigned and P is signed: 2 * b + 1
-
137  typedef typename std::conditional
+
137  using min_bit_size_type = typename std::conditional
138  <
139  (PromoteUnsignedToUnsigned && is_unsigned),
140  std::integral_constant<std::size_t, (2 * bit_size_type::value)>,
@@ -165,46 +165,46 @@
144  std::integral_constant<std::size_t, (2 * bit_size_type::value + 1)>,
145  std::integral_constant<std::size_t, (2 * bit_size_type::value - 1)>
146  >::type
-
147  >::type min_bit_size_type;
+
147  >::type;
148 
149  // Define the list of signed integral types we are going to use
150  // for promotion
-
151  typedef boost::mpl::list
+
151  using signed_integral_types = boost::mpl::list
152  <
153  short, int, long
154 #if defined(BOOST_HAS_LONG_LONG)
155  , boost::long_long_type
156 #endif
-
157  > signed_integral_types;
+
157  >;
158 
159  // Define the list of unsigned integral types we are going to use
160  // for promotion
-
161  typedef boost::mpl::list
+
161  using unsigned_integral_types = boost::mpl::list
162  <
163  unsigned short, unsigned int, unsigned long, std::size_t
164 #if defined(BOOST_HAS_LONG_LONG)
165  , boost::ulong_long_type
166 #endif
-
167  > unsigned_integral_types;
+
167  >;
168 
169  // Define the list of integral types that will be used for
170  // promotion (depending in whether we was to promote unsigned to
171  // unsigned or not)
-
172  typedef typename std::conditional
+
172  using integral_types = typename std::conditional
173  <
174  (is_unsigned && PromoteUnsignedToUnsigned),
175  unsigned_integral_types,
176  signed_integral_types
-
177  >::type integral_types;
+
177  >::type;
178 
179 public:
-
180  typedef typename detail::promote_integral::promote_to_larger
+
180  using type = typename detail::promote_integral::promote_to_larger
181  <
182  T,
183  typename boost::mpl::begin<integral_types>::type,
184  typename boost::mpl::end<integral_types>::type,
185  min_bit_size_type::value
-
186  >::type type;
+
186  >::type;
187 };
188 
189 
@@ -215,7 +215,7 @@
194  >
195 {
196 public:
-
197  typedef T type;
+
197  using type = T;
198 };
199 
200 }} // namespace boost::gil
@@ -228,7 +228,7 @@ diff --git a/develop/doc/html/reference/raw_8hpp_source.html b/develop/doc/html/reference/raw_8hpp_source.html index b3b9b1994..68e874835 100644 --- a/develop/doc/html/reference/raw_8hpp_source.html +++ b/develop/doc/html/reference/raw_8hpp_source.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/reduce_8hpp_source.html b/develop/doc/html/reference/reduce_8hpp_source.html index a8b9c3900..d1a6f3104 100644 --- a/develop/doc/html/reference/reduce_8hpp_source.html +++ b/develop/doc/html/reference/reduce_8hpp_source.html @@ -673,7 +673,7 @@ diff --git a/develop/doc/html/reference/rgb_8hpp_source.html b/develop/doc/html/reference/rgb_8hpp_source.html index c35240952..79f4f379c 100644 --- a/develop/doc/html/reference/rgb_8hpp_source.html +++ b/develop/doc/html/reference/rgb_8hpp_source.html @@ -78,26 +78,27 @@
29 
31 struct blue_t {};
33 
-
35 typedef mpl::vector3<red_t,green_t,blue_t> rgb_t;
+
35 using rgb_t = mpl::vector3<red_t,green_t,blue_t>;
36 
-
38 typedef layout<rgb_t> rgb_layout_t;
-
40 typedef layout<rgb_t, mpl::vector3_c<int,2,1,0> > bgr_layout_t;
+
38 using rgb_layout_t = layout<rgb_t>;
+
40 using bgr_layout_t = layout<rgb_t, mpl::vector3_c<int,2,1,0>>;
41 
44 template <typename IC>
45 inline
46 typename type_from_x_iterator<planar_pixel_iterator<IC,rgb_t> >::view_t
47 planar_rgb_view(std::size_t width, std::size_t height,
48  IC r, IC g, IC b,
-
49  std::ptrdiff_t rowsize_in_bytes) {
-
50  typedef typename type_from_x_iterator<planar_pixel_iterator<IC,rgb_t> >::view_t RView;
-
51  return RView(width, height,
-
52  typename RView::locator(planar_pixel_iterator<IC,rgb_t>(r,g,b),
-
53  rowsize_in_bytes));
-
54 }
-
55 
-
56 }} // namespace boost::gil
-
57 
-
58 #endif
+
49  std::ptrdiff_t rowsize_in_bytes)
+
50 {
+
51  using view_t = typename type_from_x_iterator<planar_pixel_iterator<IC,rgb_t>>::view_t;
+
52  return view_t(width, height,
+
53  typename view_t::locator(planar_pixel_iterator<IC,rgb_t>(r,g,b),
+
54  rowsize_in_bytes));
+
55 }
+
56 
+
57 }} // namespace boost::gil
+
58 
+
59 #endif
boost::gil::planar_pixel_iterator
An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept, HomogeneousPixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept.
Definition: algorithm.hpp:34
boost::gil::green_t
Green.
Definition: rgb.hpp:28
boost::gil::type_from_x_iterator
Given a pixel iterator defining access to pixels along a row, returns the types of the corresponding ...
Definition: metafunctions.hpp:238
@@ -111,7 +112,7 @@ diff --git a/develop/doc/html/reference/rgba_8hpp_source.html b/develop/doc/html/reference/rgba_8hpp_source.html index 76c7cf4b6..562cbeabe 100644 --- a/develop/doc/html/reference/rgba_8hpp_source.html +++ b/develop/doc/html/reference/rgba_8hpp_source.html @@ -73,12 +73,12 @@
20 
23 struct alpha_t {};
24 
-
26 typedef mpl::vector4<red_t,green_t,blue_t,alpha_t> rgba_t;
+
26 using rgba_t = mpl::vector4<red_t,green_t,blue_t,alpha_t>;
27 
-
29 typedef layout<rgba_t> rgba_layout_t;
-
31 typedef layout<rgba_t, mpl::vector4_c<int,2,1,0,3> > bgra_layout_t;
-
33 typedef layout<rgba_t, mpl::vector4_c<int,1,2,3,0> > argb_layout_t;
-
35 typedef layout<rgba_t, mpl::vector4_c<int,3,2,1,0> > abgr_layout_t;
+
29 using rgba_layout_t = layout<rgba_t>;
+
31 using bgra_layout_t = layout<rgba_t, mpl::vector4_c<int,2,1,0,3>>;
+
33 using argb_layout_t = layout<rgba_t, mpl::vector4_c<int,1,2,3,0>>;
+
35 using abgr_layout_t = layout<rgba_t, mpl::vector4_c<int,3,2,1,0>>;
36 
39 template <typename IC>
40 inline
@@ -87,9 +87,9 @@
43  IC r, IC g, IC b, IC a,
44  std::ptrdiff_t rowsize_in_bytes)
45 {
-
46  typedef typename type_from_x_iterator<planar_pixel_iterator<IC,rgba_t> >::view_t RView;
+
46  using view_t = typename type_from_x_iterator<planar_pixel_iterator<IC,rgba_t> >::view_t;
47  return RView(width, height,
-
48  typename RView::locator(planar_pixel_iterator<IC,rgba_t>(r,g,b,a),
+
48  typename view_t::locator(planar_pixel_iterator<IC,rgba_t>(r,g,b,a),
49  rowsize_in_bytes));
50 }
51 
@@ -107,7 +107,7 @@ diff --git a/develop/doc/html/reference/step__iterator_8hpp_source.html b/develop/doc/html/reference/step__iterator_8hpp_source.html index a74297700..8d1894f02 100644 --- a/develop/doc/html/reference/step__iterator_8hpp_source.html +++ b/develop/doc/html/reference/step__iterator_8hpp_source.html @@ -80,230 +80,232 @@
36  typename Iterator, // Models Iterator
37  typename SFn> // A policy object that can compute the distance between two iterators of type Iterator
38  // and can advance an iterator of type Iterator a given number of Iterator's units
-
39 class step_iterator_adaptor : public iterator_adaptor<Derived, Iterator, use_default, use_default, use_default, typename SFn::difference_type> {
-
40 public:
-
41  typedef iterator_adaptor<Derived, Iterator, use_default, use_default, use_default, typename SFn::difference_type> parent_t;
-
42  typedef typename std::iterator_traits<Iterator>::difference_type base_difference_type;
-
43  typedef typename SFn::difference_type difference_type;
-
44  typedef typename std::iterator_traits<Iterator>::reference reference;
-
45 
-
46  step_iterator_adaptor() {}
-
47  step_iterator_adaptor(const Iterator& it, SFn step_fn=SFn()) : parent_t(it), _step_fn(step_fn) {}
-
48 
-
49  difference_type step() const { return _step_fn.step(); }
-
50 
-
51 protected:
-
52  SFn _step_fn;
-
53 private:
-
54  friend class boost::iterator_core_access;
-
55 
-
56  void increment() { _step_fn.advance(this->base_reference(),1); }
-
57  void decrement() { _step_fn.advance(this->base_reference(),-1); }
-
58  void advance(base_difference_type d) { _step_fn.advance(this->base_reference(),d); }
-
59  difference_type distance_to(const step_iterator_adaptor& it) const { return _step_fn.difference(this->base_reference(),it.base_reference()); }
-
60 };
-
61 
-
62 // although iterator_adaptor defines these, the default implementation computes distance and compares for zero.
-
63 // it is often faster to just apply the relation operator to the base
-
64 template <typename D,typename Iterator,typename SFn> inline
-
65 bool operator>(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
-
66  return p1.step()>0 ? p1.base()> p2.base() : p1.base()< p2.base();
-
67 }
-
68 
-
69 template <typename D,typename Iterator,typename SFn> inline
-
70 bool operator<(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
-
71  return p1.step()>0 ? p1.base()< p2.base() : p1.base()> p2.base();
-
72 }
-
73 
-
74 template <typename D,typename Iterator,typename SFn> inline
-
75 bool operator>=(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
-
76  return p1.step()>0 ? p1.base()>=p2.base() : p1.base()<=p2.base();
-
77 }
-
78 
-
79 template <typename D,typename Iterator,typename SFn> inline
-
80 bool operator<=(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
-
81  return p1.step()>0 ? p1.base()<=p2.base() : p1.base()>=p2.base();
-
82 }
-
83 
-
84 template <typename D,typename Iterator,typename SFn> inline
-
85 bool operator==(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
-
86  return p1.base()==p2.base();
-
87 }
-
88 
-
89 template <typename D,typename Iterator,typename SFn> inline
-
90 bool operator!=(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
-
91  return p1.base()!=p2.base();
-
92 }
-
93 
-
94 } // namespace detail
-
95 
-
99 
-
115 
-
118 template <typename Iterator>
-
119 struct memunit_step_fn {
-
120  typedef std::ptrdiff_t difference_type;
-
121 
-
122  memunit_step_fn(difference_type step=memunit_step(Iterator())) : _step(step) {}
-
123 
-
124  difference_type difference(const Iterator& it1, const Iterator& it2) const { return memunit_distance(it1,it2)/_step; }
-
125  void advance(Iterator& it, difference_type d) const { memunit_advance(it,d*_step); }
-
126  difference_type step() const { return _step; }
-
127 
-
128  void set_step(std::ptrdiff_t step) { _step=step; }
-
129 private:
-
130  GIL_CLASS_REQUIRE(Iterator, boost::gil, MemoryBasedIteratorConcept)
-
131  difference_type _step;
-
132 };
-
133 
-
134 template <typename Iterator>
-
135 class memory_based_step_iterator : public detail::step_iterator_adaptor<memory_based_step_iterator<Iterator>,
-
136  Iterator,
-
137  memunit_step_fn<Iterator> > {
-
138  GIL_CLASS_REQUIRE(Iterator, boost::gil, MemoryBasedIteratorConcept)
-
139 public:
-
140  typedef detail::step_iterator_adaptor<memory_based_step_iterator<Iterator>,
-
141  Iterator,
-
142  memunit_step_fn<Iterator> > parent_t;
-
143  typedef typename parent_t::reference reference;
-
144  typedef typename parent_t::difference_type difference_type;
-
145  typedef Iterator x_iterator;
-
146 
-
147  memory_based_step_iterator() : parent_t(Iterator()) {}
-
148  memory_based_step_iterator(Iterator it, std::ptrdiff_t memunit_step) : parent_t(it, memunit_step_fn<Iterator>(memunit_step)) {}
-
149  template <typename I2>
-
150  memory_based_step_iterator(const memory_based_step_iterator<I2>& it)
-
151  : parent_t(it.base(), memunit_step_fn<Iterator>(it.step())) {}
-
152 
-
155  reference operator[](difference_type d) const { return *(*this+d); }
-
156 
-
157  void set_step(std::ptrdiff_t memunit_step) { this->_step_fn.set_step(memunit_step); }
+
39 class step_iterator_adaptor : public iterator_adaptor<Derived, Iterator, use_default, use_default, use_default, typename SFn::difference_type>
+
40 {
+
41 public:
+
42  using parent_t = iterator_adaptor<Derived, Iterator, use_default, use_default, use_default, typename SFn::difference_type>;
+
43  using base_difference_type = typename std::iterator_traits<Iterator>::difference_type;
+
44  using difference_type = typename SFn::difference_type;
+
45  using reference = typename std::iterator_traits<Iterator>::reference;
+
46 
+
47  step_iterator_adaptor() {}
+
48  step_iterator_adaptor(const Iterator& it, SFn step_fn=SFn()) : parent_t(it), _step_fn(step_fn) {}
+
49 
+
50  difference_type step() const { return _step_fn.step(); }
+
51 
+
52 protected:
+
53  SFn _step_fn;
+
54 private:
+
55  friend class boost::iterator_core_access;
+
56 
+
57  void increment() { _step_fn.advance(this->base_reference(),1); }
+
58  void decrement() { _step_fn.advance(this->base_reference(),-1); }
+
59  void advance(base_difference_type d) { _step_fn.advance(this->base_reference(),d); }
+
60  difference_type distance_to(const step_iterator_adaptor& it) const { return _step_fn.difference(this->base_reference(),it.base_reference()); }
+
61 };
+
62 
+
63 // although iterator_adaptor defines these, the default implementation computes distance and compares for zero.
+
64 // it is often faster to just apply the relation operator to the base
+
65 template <typename D,typename Iterator,typename SFn> inline
+
66 bool operator>(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
+
67  return p1.step()>0 ? p1.base()> p2.base() : p1.base()< p2.base();
+
68 }
+
69 
+
70 template <typename D,typename Iterator,typename SFn> inline
+
71 bool operator<(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
+
72  return p1.step()>0 ? p1.base()< p2.base() : p1.base()> p2.base();
+
73 }
+
74 
+
75 template <typename D,typename Iterator,typename SFn> inline
+
76 bool operator>=(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
+
77  return p1.step()>0 ? p1.base()>=p2.base() : p1.base()<=p2.base();
+
78 }
+
79 
+
80 template <typename D,typename Iterator,typename SFn> inline
+
81 bool operator<=(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
+
82  return p1.step()>0 ? p1.base()<=p2.base() : p1.base()>=p2.base();
+
83 }
+
84 
+
85 template <typename D,typename Iterator,typename SFn> inline
+
86 bool operator==(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
+
87  return p1.base()==p2.base();
+
88 }
+
89 
+
90 template <typename D,typename Iterator,typename SFn> inline
+
91 bool operator!=(const step_iterator_adaptor<D,Iterator,SFn>& p1, const step_iterator_adaptor<D,Iterator,SFn>& p2) {
+
92  return p1.base()!=p2.base();
+
93 }
+
94 
+
95 } // namespace detail
+
96 
+
100 
+
116 
+
119 template <typename Iterator>
+
120 struct memunit_step_fn {
+
121  using difference_type = std::ptrdiff_t;
+
122 
+
123  memunit_step_fn(difference_type step=memunit_step(Iterator())) : _step(step) {}
+
124 
+
125  difference_type difference(const Iterator& it1, const Iterator& it2) const { return memunit_distance(it1,it2)/_step; }
+
126  void advance(Iterator& it, difference_type d) const { memunit_advance(it,d*_step); }
+
127  difference_type step() const { return _step; }
+
128 
+
129  void set_step(std::ptrdiff_t step) { _step=step; }
+
130 private:
+
131  GIL_CLASS_REQUIRE(Iterator, boost::gil, MemoryBasedIteratorConcept)
+
132  difference_type _step;
+
133 };
+
134 
+
135 template <typename Iterator>
+
136 class memory_based_step_iterator : public detail::step_iterator_adaptor<memory_based_step_iterator<Iterator>,
+
137  Iterator,
+
138  memunit_step_fn<Iterator>>
+
139 {
+
140  GIL_CLASS_REQUIRE(Iterator, boost::gil, MemoryBasedIteratorConcept)
+
141 public:
+
142  using parent_t = detail::step_iterator_adaptor<memory_based_step_iterator<Iterator>,
+
143  Iterator,
+
144  memunit_step_fn<Iterator>>;
+
145  using reference = typename parent_t::reference;
+
146  using difference_type = typename parent_t::difference_type;
+
147  using x_iterator = Iterator;
+
148 
+
149  memory_based_step_iterator() : parent_t(Iterator()) {}
+
150  memory_based_step_iterator(Iterator it, std::ptrdiff_t memunit_step) : parent_t(it, memunit_step_fn<Iterator>(memunit_step)) {}
+
151  template <typename I2>
+
152  memory_based_step_iterator(const memory_based_step_iterator<I2>& it)
+
153  : parent_t(it.base(), memunit_step_fn<Iterator>(it.step())) {}
+
154 
+
157  reference operator[](difference_type d) const { return *(*this+d); }
158 
-
159  x_iterator& base() { return parent_t::base_reference(); }
-
160  x_iterator const& base() const { return parent_t::base_reference(); }
-
161 };
-
162 
-
163 template <typename Iterator>
-
164 struct const_iterator_type<memory_based_step_iterator<Iterator> > {
-
165  typedef memory_based_step_iterator<typename const_iterator_type<Iterator>::type> type;
-
166 };
-
167 
-
168 template <typename Iterator>
-
169 struct iterator_is_mutable<memory_based_step_iterator<Iterator> > : public iterator_is_mutable<Iterator> {};
-
170 
-
171 
-
173 // IteratorAdaptorConcept
-
175 
-
176 template <typename Iterator>
-
177 struct is_iterator_adaptor<memory_based_step_iterator<Iterator> > : public mpl::true_{};
-
178 
-
179 template <typename Iterator>
-
180 struct iterator_adaptor_get_base<memory_based_step_iterator<Iterator> > {
-
181  typedef Iterator type;
-
182 };
-
183 
-
184 template <typename Iterator, typename NewBaseIterator>
-
185 struct iterator_adaptor_rebind<memory_based_step_iterator<Iterator>,NewBaseIterator> {
-
186  typedef memory_based_step_iterator<NewBaseIterator> type;
-
187 };
-
188 
-
190 // PixelBasedConcept
-
192 
-
193 template <typename Iterator>
-
194 struct color_space_type<memory_based_step_iterator<Iterator> > : public color_space_type<Iterator> {};
-
195 
-
196 template <typename Iterator>
-
197 struct channel_mapping_type<memory_based_step_iterator<Iterator> > : public channel_mapping_type<Iterator> {};
-
198 
-
199 template <typename Iterator>
-
200 struct is_planar<memory_based_step_iterator<Iterator> > : public is_planar<Iterator> {};
-
201 
-
202 template <typename Iterator>
-
203 struct channel_type<memory_based_step_iterator<Iterator> > : public channel_type<Iterator> {};
-
204 
-
206 // MemoryBasedIteratorConcept
-
208 template <typename Iterator>
-
209 struct byte_to_memunit<memory_based_step_iterator<Iterator> > : public byte_to_memunit<Iterator> {};
-
210 
-
211 template <typename Iterator>
-
212 inline std::ptrdiff_t memunit_step(const memory_based_step_iterator<Iterator>& p) { return p.step(); }
-
213 
-
214 template <typename Iterator>
-
215 inline std::ptrdiff_t memunit_distance(const memory_based_step_iterator<Iterator>& p1,
-
216  const memory_based_step_iterator<Iterator>& p2) {
-
217  return memunit_distance(p1.base(),p2.base());
-
218 }
-
219 
-
220 template <typename Iterator>
-
221 inline void memunit_advance(memory_based_step_iterator<Iterator>& p,
-
222  std::ptrdiff_t diff) {
-
223  memunit_advance(p.base(), diff);
-
224 }
-
225 
-
226 template <typename Iterator>
-
227 inline memory_based_step_iterator<Iterator>
-
228 memunit_advanced(const memory_based_step_iterator<Iterator>& p,
-
229  std::ptrdiff_t diff) {
-
230  return memory_based_step_iterator<Iterator>(memunit_advanced(p.base(), diff),p.step());
-
231 }
-
232 
-
233 template <typename Iterator>
-
234 inline typename std::iterator_traits<Iterator>::reference
-
235 memunit_advanced_ref(const memory_based_step_iterator<Iterator>& p,
-
236  std::ptrdiff_t diff) {
-
237  return memunit_advanced_ref(p.base(), diff);
-
238 }
-
239 
-
241 // HasDynamicXStepTypeConcept
-
243 
-
244 template <typename Iterator>
-
245 struct dynamic_x_step_type<memory_based_step_iterator<Iterator> > {
-
246  typedef memory_based_step_iterator<Iterator> type;
-
247 };
-
248 
-
249 // For step iterators, pass the function object to the base
-
250 template <typename Iterator, typename Deref>
-
251 struct iterator_add_deref<memory_based_step_iterator<Iterator>,Deref> {
-
252  GIL_CLASS_REQUIRE(Deref, boost::gil, PixelDereferenceAdaptorConcept)
-
253 
-
254  typedef memory_based_step_iterator<typename iterator_add_deref<Iterator, Deref>::type> type;
+
159  void set_step(std::ptrdiff_t memunit_step) { this->_step_fn.set_step(memunit_step); }
+
160 
+
161  x_iterator& base() { return parent_t::base_reference(); }
+
162  x_iterator const& base() const { return parent_t::base_reference(); }
+
163 };
+
164 
+
165 template <typename Iterator>
+
166 struct const_iterator_type<memory_based_step_iterator<Iterator> > {
+
167  using type = memory_based_step_iterator<typename const_iterator_type<Iterator>::type>;
+
168 };
+
169 
+
170 template <typename Iterator>
+
171 struct iterator_is_mutable<memory_based_step_iterator<Iterator> > : public iterator_is_mutable<Iterator> {};
+
172 
+
173 
+
175 // IteratorAdaptorConcept
+
177 
+
178 template <typename Iterator>
+
179 struct is_iterator_adaptor<memory_based_step_iterator<Iterator> > : public mpl::true_{};
+
180 
+
181 template <typename Iterator>
+
182 struct iterator_adaptor_get_base<memory_based_step_iterator<Iterator> > {
+
183  using type = Iterator;
+
184 };
+
185 
+
186 template <typename Iterator, typename NewBaseIterator>
+
187 struct iterator_adaptor_rebind<memory_based_step_iterator<Iterator>,NewBaseIterator> {
+
188  using type = memory_based_step_iterator<NewBaseIterator>;
+
189 };
+
190 
+
192 // PixelBasedConcept
+
194 
+
195 template <typename Iterator>
+
196 struct color_space_type<memory_based_step_iterator<Iterator> > : public color_space_type<Iterator> {};
+
197 
+
198 template <typename Iterator>
+
199 struct channel_mapping_type<memory_based_step_iterator<Iterator> > : public channel_mapping_type<Iterator> {};
+
200 
+
201 template <typename Iterator>
+
202 struct is_planar<memory_based_step_iterator<Iterator> > : public is_planar<Iterator> {};
+
203 
+
204 template <typename Iterator>
+
205 struct channel_type<memory_based_step_iterator<Iterator> > : public channel_type<Iterator> {};
+
206 
+
208 // MemoryBasedIteratorConcept
+
210 template <typename Iterator>
+
211 struct byte_to_memunit<memory_based_step_iterator<Iterator> > : public byte_to_memunit<Iterator> {};
+
212 
+
213 template <typename Iterator>
+
214 inline std::ptrdiff_t memunit_step(const memory_based_step_iterator<Iterator>& p) { return p.step(); }
+
215 
+
216 template <typename Iterator>
+
217 inline std::ptrdiff_t memunit_distance(const memory_based_step_iterator<Iterator>& p1,
+
218  const memory_based_step_iterator<Iterator>& p2) {
+
219  return memunit_distance(p1.base(),p2.base());
+
220 }
+
221 
+
222 template <typename Iterator>
+
223 inline void memunit_advance(memory_based_step_iterator<Iterator>& p,
+
224  std::ptrdiff_t diff) {
+
225  memunit_advance(p.base(), diff);
+
226 }
+
227 
+
228 template <typename Iterator>
+
229 inline memory_based_step_iterator<Iterator>
+
230 memunit_advanced(const memory_based_step_iterator<Iterator>& p,
+
231  std::ptrdiff_t diff) {
+
232  return memory_based_step_iterator<Iterator>(memunit_advanced(p.base(), diff),p.step());
+
233 }
+
234 
+
235 template <typename Iterator>
+
236 inline typename std::iterator_traits<Iterator>::reference
+
237 memunit_advanced_ref(const memory_based_step_iterator<Iterator>& p,
+
238  std::ptrdiff_t diff) {
+
239  return memunit_advanced_ref(p.base(), diff);
+
240 }
+
241 
+
243 // HasDynamicXStepTypeConcept
+
245 
+
246 template <typename Iterator>
+
247 struct dynamic_x_step_type<memory_based_step_iterator<Iterator> > {
+
248  using type = memory_based_step_iterator<Iterator>;
+
249 };
+
250 
+
251 // For step iterators, pass the function object to the base
+
252 template <typename Iterator, typename Deref>
+
253 struct iterator_add_deref<memory_based_step_iterator<Iterator>,Deref> {
+
254  GIL_CLASS_REQUIRE(Deref, boost::gil, PixelDereferenceAdaptorConcept)
255 
-
256  static type make(const memory_based_step_iterator<Iterator>& it, const Deref& d) { return type(iterator_add_deref<Iterator, Deref>::make(it.base(),d),it.step()); }
-
257 };
-
258 
-
262 
-
263 template <typename I> typename dynamic_x_step_type<I>::type make_step_iterator(const I& it, std::ptrdiff_t step);
+
256  using type = memory_based_step_iterator<typename iterator_add_deref<Iterator, Deref>::type>;
+
257 
+
258  static type make(const memory_based_step_iterator<Iterator>& it, const Deref& d) { return type(iterator_add_deref<Iterator, Deref>::make(it.base(),d),it.step()); }
+
259 };
+
260 
264 
-
265 namespace detail {
+
265 template <typename I> typename dynamic_x_step_type<I>::type make_step_iterator(const I& it, std::ptrdiff_t step);
266 
-
267 // if the iterator is a plain base iterator (non-adaptor), wraps it in memory_based_step_iterator
-
268 template <typename I>
-
269 typename dynamic_x_step_type<I>::type make_step_iterator_impl(const I& it, std::ptrdiff_t step, mpl::false_) {
-
270  return memory_based_step_iterator<I>(it, step);
-
271 }
-
272 
-
273 // If the iterator is compound, put the step in its base
-
274 template <typename I>
-
275 typename dynamic_x_step_type<I>::type make_step_iterator_impl(const I& it, std::ptrdiff_t step, mpl::true_) {
-
276  return make_step_iterator(it.base(), step);
-
277 }
-
278 
-
279 // If the iterator is memory_based_step_iterator, change the step
-
280 template <typename BaseIt>
-
281 memory_based_step_iterator<BaseIt> make_step_iterator_impl(const memory_based_step_iterator<BaseIt>& it, std::ptrdiff_t step, mpl::true_) {
-
282  return memory_based_step_iterator<BaseIt>(it.base(), step);
-
283 }
-
284 }
-
285 
-
299 template <typename I> // Models MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept
-
300 typename dynamic_x_step_type<I>::type make_step_iterator(const I& it, std::ptrdiff_t step) {
-
301  return detail::make_step_iterator_impl(it, step, typename is_iterator_adaptor<I>::type());
-
302 }
-
303 
-
304 }} // namespace boost::gil
+
267 namespace detail {
+
268 
+
269 // if the iterator is a plain base iterator (non-adaptor), wraps it in memory_based_step_iterator
+
270 template <typename I>
+
271 typename dynamic_x_step_type<I>::type make_step_iterator_impl(const I& it, std::ptrdiff_t step, mpl::false_) {
+
272  return memory_based_step_iterator<I>(it, step);
+
273 }
+
274 
+
275 // If the iterator is compound, put the step in its base
+
276 template <typename I>
+
277 typename dynamic_x_step_type<I>::type make_step_iterator_impl(const I& it, std::ptrdiff_t step, mpl::true_) {
+
278  return make_step_iterator(it.base(), step);
+
279 }
+
280 
+
281 // If the iterator is memory_based_step_iterator, change the step
+
282 template <typename BaseIt>
+
283 memory_based_step_iterator<BaseIt> make_step_iterator_impl(const memory_based_step_iterator<BaseIt>& it, std::ptrdiff_t step, mpl::true_) {
+
284  return memory_based_step_iterator<BaseIt>(it.base(), step);
+
285 }
+
286 }
+
287 
+
301 template <typename I> // Models MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept
+
302 typename dynamic_x_step_type<I>::type make_step_iterator(const I& it, std::ptrdiff_t step) {
+
303  return detail::make_step_iterator_impl(it, step, typename is_iterator_adaptor<I>::type());
+
304 }
305 
-
306 #endif
-
boost::gil::memory_based_step_iterator::operator[]
reference operator[](difference_type d) const
Definition: step_iterator.hpp:155
-
boost::gil::memunit_step_fn
function object that returns the memory unit distance between two iterators and advances a given iter...
Definition: step_iterator.hpp:119
+
306 }} // namespace boost::gil
+
307 
+
308 #endif
+
boost::gil::memory_based_step_iterator::operator[]
reference operator[](difference_type d) const
Definition: step_iterator.hpp:157
+
boost::gil::memunit_step_fn
function object that returns the memory unit distance between two iterators and advances a given iter...
Definition: step_iterator.hpp:120
boost::gil::detail::step_iterator_adaptor
An adaptor over an existing iterator that changes the step unit.
Definition: step_iterator.hpp:39
boost::gil::memory_based_step_iterator
MEMORY-BASED STEP ITERATOR.
Definition: algorithm.hpp:36
@@ -312,7 +314,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1alpha__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1alpha__t.html index 47acefac7..5caae81a5 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1alpha__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1alpha__t.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1binary__operation__obj-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1binary__operation__obj-members.html index 4affff74a..e6618d65d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1binary__operation__obj-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1binary__operation__obj-members.html @@ -67,7 +67,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1binary__operation__obj.html b/develop/doc/html/reference/structboost_1_1gil_1_1binary__operation__obj.html index 915837f94..b7d3bc01c 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1binary__operation__obj.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1binary__operation__obj.html @@ -66,9 +66,9 @@ - - + +

Public Types

-typedef Result result_type
 
+using result_type = Result
 
@@ -99,7 +99,7 @@ struct boost::gil::binary_operation_obj< Derived, Result > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image1__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image1__type-members.html index 6a0631f9a..d8969e7a9 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image1__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image1__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image1__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image1__type.html index b4c0ad058..ae969994a 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image1__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image1__type.html @@ -74,11 +74,9 @@ Inheritance diagram for bit_aligned_image1_type< Size1, Layout, Alloc >: - - + +

Public Member Functions

Additional Inherited Members

- Public Types inherited from bit_aligned_image_type< mpl::vector1_c< unsigned, Size1 >, Layout, Alloc >
-typedef image
-< bit_alignedref_t, false,
-Alloc > 
type
 
+using type = image< bit_alignedref_t, false, Alloc >
 

Detailed Description

template<unsigned Size1, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -94,7 +92,7 @@ struct boost::gil::bit_aligned_image1_type< Size1, Layout, Alloc >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image2__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image2__type-members.html index 250a7462c..523aeb08f 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image2__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image2__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image2__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image2__type.html index 7a4b0dcbc..4ccd7baa1 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image2__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image2__type.html @@ -74,11 +74,9 @@ Inheritance diagram for bit_aligned_image2_type< Size1, Size2, Layout, Alloc

Additional Inherited Members

- Public Types inherited from bit_aligned_image_type< mpl::vector2_c< unsigned, Size1, Size2 >, Layout, Alloc > - -typedef image
-< bit_alignedref_t, false,
-Alloc > type -  + +using type = image< bit_alignedref_t, false, Alloc > + 

Detailed Description

template<unsigned Size1, unsigned Size2, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -94,7 +92,7 @@ struct boost::gil::bit_aligned_image2_type< Size1, Size2, Layout, Alloc >< diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image3__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image3__type-members.html index 18a011e72..c49fd457c 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image3__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image3__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image3__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image3__type.html index 95178fb92..cdd7d1dca 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image3__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image3__type.html @@ -74,11 +74,9 @@ Inheritance diagram for bit_aligned_image3_type< Size1, Size2, Size3, Layout,

Additional Inherited Members

- Public Types inherited from bit_aligned_image_type< mpl::vector3_c< unsigned, Size1, Size2, Size3 >, Layout, Alloc > - -typedef image
-< bit_alignedref_t, false,
-Alloc > type -  + +using type = image< bit_alignedref_t, false, Alloc > + 

Detailed Description

template<unsigned Size1, unsigned Size2, unsigned Size3, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -94,7 +92,7 @@ struct boost::gil::bit_aligned_image3_type< Size1, Size2, Size3, Layout, Allo diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image4__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image4__type-members.html index 472a8080d..777d8aabd 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image4__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image4__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image4__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image4__type.html index 77a1d6f37..4a6b571ce 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image4__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image4__type.html @@ -74,11 +74,9 @@ Inheritance diagram for bit_aligned_image4_type< Size1, Size2, Size3, Size4,

Additional Inherited Members

- Public Types inherited from bit_aligned_image_type< mpl::vector4_c< unsigned, Size1, Size2, Size3, Size4 >, Layout, Alloc > - -typedef image
-< bit_alignedref_t, false,
-Alloc > type -  + +using type = image< bit_alignedref_t, false, Alloc > + 

Detailed Description

template<unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -94,7 +92,7 @@ struct boost::gil::bit_aligned_image4_type< Size1, Size2, Size3, Size4, Layou diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image5__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image5__type-members.html index 89752c0aa..80f3ab67b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image5__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image5__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image5__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image5__type.html index c4cdac761..2b6361305 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image5__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image5__type.html @@ -74,11 +74,9 @@ Inheritance diagram for bit_aligned_image5_type< Size1, Size2, Size3, Size4,

Additional Inherited Members

- Public Types inherited from bit_aligned_image_type< mpl::vector5_c< unsigned, Size1, Size2, Size3, Size4, Size5 >, Layout, Alloc > - -typedef image
-< bit_alignedref_t, false,
-Alloc > type -  + +using type = image< bit_alignedref_t, false, Alloc > + 

Detailed Description

template<unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, unsigned Size5, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -94,7 +92,7 @@ struct boost::gil::bit_aligned_image5_type< Size1, Size2, Size3, Size4, Size5 diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image__type-members.html index 35704db86..3738bae13 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image__type.html index 163d68d38..e57ebfacd 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__image__type.html @@ -65,11 +65,9 @@ - - + +

Public Types

-typedef image
-< bit_alignedref_t, false,
-Alloc > 
type
 
+using type = image< bit_alignedref_t, false, Alloc >
 

Detailed Description

template<typename ChannelBitSizeVector, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -86,7 +84,7 @@ struct boost::gil::bit_aligned_image_type< ChannelBitSizeVector, Layout, Allo diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__iterator-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__iterator-members.html index f09054021..31bc1116c 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__iterator-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__iterator-members.html @@ -77,7 +77,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__iterator.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__iterator.html index 89357aa97..e0b9deb8b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__iterator.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__iterator.html @@ -69,12 +69,12 @@ - - - - + + + +

Public Types

-typedef parent_t::difference_type difference_type
 
-typedef parent_t::reference reference
 
+using difference_type = typename parent_t::difference_type
 
+using reference = typename parent_t::reference
 
@@ -157,7 +157,7 @@ struct boost::gil::bit_aligned_pixel_iterator< NonAlignedPixelReference >< diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__reference-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__reference-members.html index eae5f1a90..ce7ded755 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__reference-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__reference-members.html @@ -86,7 +86,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__reference.html b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__reference.html index 424f324e7..55506914e 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__reference.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1bit__aligned__pixel__reference.html @@ -67,36 +67,27 @@

Public Member Functions

- - - - - - - - - - - - - - + + + + + + + + + + + + + +

Public Types

-typedef boost::gil::bit_range
-< bit_size, IsMutable > 
bit_range_t
 
-typedef BitField bitfield_t
 
-typedef mpl::if_c< IsMutable,
-unsigned char *, const
-unsigned char * >::type 
data_ptr_t
 
-typedef Layout layout_t
 
-typedef packed_pixel_type
-< bitfield_t, ChannelBitSizes,
-Layout >::type 
value_type
 
-typedef const
-bit_aligned_pixel_reference 
reference
 
-typedef const
-bit_aligned_pixel_reference
-< BitField, ChannelBitSizes,
-Layout, false > 
const_reference
 
+using bit_range_t = boost::gil::bit_range< bit_size, IsMutable >
 
+using bitfield_t = BitField
 
+using data_ptr_t = typename mpl::if_c< IsMutable, unsigned char *, const unsigned char * >::type
 
+using layout_t = Layout
 
+using value_type = typename packed_pixel_type< bitfield_t, ChannelBitSizes, Layout >::type
 
+using reference = const bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >
 
+using const_reference = bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, false > const
 
@@ -169,7 +160,7 @@ struct boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, La diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1black__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1black__t.html index 25949f64a..a47ff8c69 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1black__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1black__t.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1blue__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1blue__t.html index 2f584aa64..88f7169fe 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1blue__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1blue__t.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1byte__to__memunit.html b/develop/doc/html/reference/structboost_1_1gil_1_1byte__to__memunit.html index eafe66013..167dcab85 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1byte__to__memunit.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1byte__to__memunit.html @@ -73,7 +73,7 @@ Necessary to handle image row alignment and channel plane alignment.

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter-members.html index f5cb39f97..fc67f61eb 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter.html index f4a7878a9..d02de6355 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter.html @@ -66,12 +66,12 @@

Public Member Functions

- - - - + + + +

Public Types

-typedef SrcChannelV argument_type
 
-typedef DstChannelV result_type
 
+using argument_type = SrcChannelV
 
+using result_type = DstChannelV
 
@@ -93,7 +93,7 @@ struct boost::gil::channel_converter< SrcChannelV, DstChannelV > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4-members.html index 6c5df78d2..640777d68 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4.html index a725f68c9..da2532c73 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4.html @@ -74,12 +74,12 @@ Inheritance diagram for channel_converter_unsigned< T, T >: - - - - + + + + @@ -99,7 +99,7 @@ struct boost::gil::channel_converter_unsigned< T, T > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01_dst_channel_v_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01_dst_channel_v_01_4-members.html index 6fd14858d..d6103b932 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01_dst_channel_v_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01_dst_channel_v_01_4-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01_dst_channel_v_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01_dst_channel_v_01_4.html index f6429a19e..00d8dca30 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01_dst_channel_v_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01_dst_channel_v_01_4.html @@ -66,12 +66,12 @@

Public Member Functions

Additional Inherited Members

- Public Types inherited from identity< T >
-typedef T argument_type
 
-typedef T result_type
 
+using argument_type = T
 
+using result_type = T
 
- Public Member Functions inherited from identity< T >
const T & operator() (const T &val) const
- - - - + + + +

Public Types

-typedef float32_t argument_type
 
-typedef DstChannelV result_type
 
+using argument_type = float32_t
 
+using result_type = DstChannelV
 
@@ -93,7 +93,7 @@ struct boost::gil::channel_converter_unsigned< float32_t, DstChannelV > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01uint32__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01uint32__t_01_4-members.html index 6406c6cf6..3c5bfb19e 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01uint32__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01uint32__t_01_4-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01uint32__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01uint32__t_01_4.html index 874e7b8db..d9929dc73 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01uint32__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01float32__t_00_01uint32__t_01_4.html @@ -66,12 +66,12 @@

Public Member Functions

- - - - + + + +

Public Types

-typedef float32_t argument_type
 
-typedef uint32_t result_type
 
+using argument_type = float32_t
 
+using result_type = uint32_t
 
@@ -93,7 +93,7 @@ struct boost::gil::channel_converter_unsigned< float32_t, uint32_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01uint32__t_00_01float32__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01uint32__t_00_01float32__t_01_4-members.html index 167164754..e9b3a5418 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01uint32__t_00_01float32__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01uint32__t_00_01float32__t_01_4-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01uint32__t_00_01float32__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01uint32__t_00_01float32__t_01_4.html index 857db89b9..52a0d28db 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01uint32__t_00_01float32__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__converter__unsigned_3_01uint32__t_00_01float32__t_01_4.html @@ -66,12 +66,12 @@

Public Member Functions

- - - - + + + +

Public Types

-typedef uint32_t argument_type
 
-typedef float32_t result_type
 
+using argument_type = uint32_t
 
+using result_type = float32_t
 
@@ -93,7 +93,7 @@ struct boost::gil::channel_converter_unsigned< uint32_t, float32_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__mapping__type_3_01planar__pixel__reference_3_01_channel_reference60971d1be7c73d78ff725e654349b4f8.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__mapping__type_3_01planar__pixel__reference_3_01_channel_reference60971d1be7c73d78ff725e654349b4f8.html index cdfb1e5a6..5c9d18891 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__mapping__type_3_01planar__pixel__reference_3_01_channel_reference60971d1be7c73d78ff725e654349b4f8.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__mapping__type_3_01planar__pixel__reference_3_01_channel_reference60971d1be7c73d78ff725e654349b4f8.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__mapping__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__mapping__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html index 4732b865d..8ee50d9b6 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__mapping__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__mapping__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html @@ -65,10 +65,9 @@

Public Member Functions

- - + +

Public Types

-typedef layout< ColorSpace >
-::channel_mapping_t 
type
 
+using type = typename layout< ColorSpace >::channel_mapping_t
 

Detailed Description

template<typename ChannelReference, typename ColorSpace>
@@ -84,7 +83,7 @@ struct boost::gil::channel_mapping_type< planar_pixel_reference< ChannelRe diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier-members.html index b3c581ba7..ba63ef6a7 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier-members.html @@ -67,7 +67,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier.html index 4d4688a06..8a622ef9a 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier.html @@ -66,15 +66,15 @@ - - - - - - + + + + + +

Public Types

-typedef ChannelValue first_argument_type
 
-typedef ChannelValue second_argument_type
 
-typedef ChannelValue result_type
 
+using first_argument_type = ChannelValue
 
+using second_argument_type = ChannelValue
 
+using result_type = ChannelValue
 
@@ -96,7 +96,7 @@ struct boost::gil::channel_multiplier< ChannelValue > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned-members.html index 4f79a9c45..b450cb902 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned-members.html @@ -67,7 +67,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned.html index 20ce434ef..efa4d3d01 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned.html @@ -66,15 +66,15 @@

Public Member Functions

- - - - - - + + + + + +

Public Types

-typedef ChannelValue first_argument_type
 
-typedef ChannelValue second_argument_type
 
-typedef ChannelValue result_type
 
+using first_argument_type = ChannelValue
 
+using second_argument_type = ChannelValue
 
+using result_type = ChannelValue
 
@@ -96,7 +96,7 @@ struct boost::gil::channel_multiplier_unsigned< ChannelValue > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01float32__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01float32__t_01_4-members.html index e643e4105..5486fa5f2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01float32__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01float32__t_01_4-members.html @@ -67,7 +67,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01float32__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01float32__t_01_4.html index f549e8ef9..df62f57a4 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01float32__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01float32__t_01_4.html @@ -66,15 +66,15 @@

Public Member Functions

- - - - - - + + + + + +

Public Types

-typedef float32_t first_argument_type
 
-typedef float32_t second_argument_type
 
-typedef float32_t result_type
 
+using first_argument_type = float32_t
 
+using second_argument_type = float32_t
 
+using result_type = float32_t
 
@@ -96,7 +96,7 @@ struct boost::gil::channel_multiplier_unsigned< float32_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint16__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint16__t_01_4-members.html index ef021942b..592f4310a 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint16__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint16__t_01_4-members.html @@ -67,7 +67,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint16__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint16__t_01_4.html index 6c6aae53a..bd0259bd2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint16__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint16__t_01_4.html @@ -66,15 +66,15 @@

Public Member Functions

- - - - - - + + + + + +

Public Types

-typedef uint16_t first_argument_type
 
-typedef uint16_t second_argument_type
 
-typedef uint16_t result_type
 
+using first_argument_type = uint16_t
 
+using second_argument_type = uint16_t
 
+using result_type = uint16_t
 
@@ -96,7 +96,7 @@ struct boost::gil::channel_multiplier_unsigned< uint16_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint8__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint8__t_01_4-members.html index abbee9de0..88067bb67 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint8__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint8__t_01_4-members.html @@ -67,7 +67,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint8__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint8__t_01_4.html index 410e2beca..92cce4e81 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint8__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__multiplier__unsigned_3_01uint8__t_01_4.html @@ -66,15 +66,15 @@

Public Member Functions

- - - - - - + + + + + +

Public Types

-typedef uint8_t first_argument_type
 
-typedef uint8_t second_argument_type
 
-typedef uint8_t result_type
 
+using first_argument_type = uint8_t
 
+using second_argument_type = uint8_t
 
+using result_type = uint8_t
 
@@ -96,7 +96,7 @@ struct boost::gil::channel_multiplier_unsigned< uint8_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__type.html index 38aca2742..b4112febb 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__type.html @@ -70,7 +70,7 @@ struct boost::gil::channel_type< P > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4-members.html index 8af59dfac..26f994d94 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1channel__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1channel__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html index 28de21680..d95927f71 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1channel__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1channel__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html @@ -65,11 +65,9 @@

Public Member Functions

- - + +

Public Types

-typedef channel_traits
-< ChannelReference >
-::value_type 
type
 
+using type = typename channel_traits< ChannelReference >::value_type
 

Detailed Description

template<typename ChannelReference, typename ColorSpace>
@@ -85,7 +83,7 @@ struct boost::gil::channel_type< planar_pixel_reference< ChannelReference, diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type-members.html index d8c3fa817..30d5bd9c2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type.html index a4f03175e..778a03904 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type.html @@ -77,7 +77,7 @@ struct boost::gil::color_converted_view_type< SrcView, DstP, CC >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_00_01_c_c_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_00_01_c_c_01_4-members.html index 1d98fa46d..d263a0237 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_00_01_c_c_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_00_01_c_c_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_00_01_c_c_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_00_01_c_c_01_4.html index 8b753f605..5343a2463 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_00_01_c_c_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_00_01_c_c_01_4.html @@ -86,7 +86,7 @@ struct boost::gil::color_converted_view_type< any_image_view< ViewTypes &g diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_01_4-members.html index 836004f7a..1ec9c4dca 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_01_4.html index 8dc88d1b5..f810b91fd 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__converted__view__type_3_01any__image__view_3_01_view_types_01_4_00_01_dst_p_01_4.html @@ -88,7 +88,7 @@ struct boost::gil::color_converted_view_type< any_image_view< ViewTypes &g diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__const__reference__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__const__reference__type-members.html index 5b2983797..cb643ceaa 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__const__reference__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__const__reference__type-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__const__reference__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__const__reference__type.html index fbbe31fbc..2deb1ca8a 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__const__reference__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__const__reference__type.html @@ -74,12 +74,9 @@ Inheritance diagram for color_element_const_reference_type< ColorBase, Color

Additional Inherited Members

- Public Types inherited from kth_semantic_element_const_reference_type< ColorBase, color_index_type< ColorBase, Color >::value > - -typedef
-kth_element_const_reference_type
-< ColorBase, semantic_index >
-::type type -  + +using type = typename kth_element_const_reference_type< ColorBase, semantic_index >::type +  - Public Member Functions inherited from kth_semantic_element_const_reference_type< ColorBase, color_index_type< ColorBase, Color >::value >  BOOST_STATIC_CONSTANT (int, semantic_index=(mpl::at_c< typename ColorBase::layout_t::channel_mapping_t, K >::type::value)) @@ -103,7 +100,7 @@ struct boost::gil::color_element_const_reference_type< ColorBase, Color >< diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__reference__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__reference__type-members.html index 3f4b01a1b..a5232bd41 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__reference__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__reference__type-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__reference__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__reference__type.html index c46a1d0ab..d3fd47a83 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__reference__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__reference__type.html @@ -74,12 +74,9 @@ Inheritance diagram for color_element_reference_type< ColorBase, Color >:<

Additional Inherited Members

- Public Types inherited from kth_semantic_element_reference_type< ColorBase, color_index_type< ColorBase, Color >::value > - -typedef
-kth_element_reference_type
-< ColorBase, semantic_index >
-::type type -  + +using type = typename kth_element_reference_type< ColorBase, semantic_index >::type +  - Public Member Functions inherited from kth_semantic_element_reference_type< ColorBase, color_index_type< ColorBase, Color >::value >  BOOST_STATIC_CONSTANT (int, semantic_index=(mpl::at_c< typename ColorBase::layout_t::channel_mapping_t, K >::type::value)) @@ -103,7 +100,7 @@ struct boost::gil::color_element_reference_type< ColorBase, Color > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__type-members.html index a84ad0784..d4c345a8b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__type-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__type.html index 975fc196f..9202b931b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__element__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__element__type.html @@ -74,11 +74,9 @@ Inheritance diagram for color_element_type< ColorBase, Color >:

Additional Inherited Members

- Public Types inherited from kth_semantic_element_type< ColorBase, color_index_type< ColorBase, Color >::value > - -typedef kth_element_type
-< ColorBase, semantic_index >
-::type type -  + +using type = typename kth_element_type< ColorBase, semantic_index >::type +  - Public Member Functions inherited from kth_semantic_element_type< ColorBase, color_index_type< ColorBase, Color >::value >  BOOST_STATIC_CONSTANT (int, semantic_index=(mpl::at_c< typename ColorBase::layout_t::channel_mapping_t, K >::type::value)) @@ -98,7 +96,7 @@ struct boost::gil::color_element_type< ColorBase, Color > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__space__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__space__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html index 3e4460dfd..6435ef715 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__space__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__space__type_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html @@ -65,9 +65,9 @@ - - + +

Public Types

-typedef ColorSpace type
 
+using type = ColorSpace
 

Detailed Description

template<typename ChannelReference, typename ColorSpace>
@@ -83,7 +83,7 @@ struct boost::gil::color_space_type< planar_pixel_reference< ChannelRefere diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1color__space__type_3_01planar__pixel__reference_3_01_channel_reference_00_4fb1a46a79bb525d815c77d4e7feb3e2.html b/develop/doc/html/reference/structboost_1_1gil_1_1color__space__type_3_01planar__pixel__reference_3_01_channel_reference_00_4fb1a46a79bb525d815c77d4e7feb3e2.html index 6e1502153..daffddfd5 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1color__space__type_3_01planar__pixel__reference_3_01_channel_reference_00_4fb1a46a79bb525d815c77d4e7feb3e2.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1color__space__type_3_01planar__pixel__reference_3_01_channel_reference_00_4fb1a46a79bb525d815c77d4e7feb3e2.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1const__iterator__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1const__iterator__type.html index 4f304a667..a4a395769 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1const__iterator__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1const__iterator__type.html @@ -73,7 +73,7 @@ struct boost::gil::const_iterator_type< It >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1contains__color.html b/develop/doc/html/reference/structboost_1_1gil_1_1contains__color.html index f24c6b97f..cb171c125 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1contains__color.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1contains__color.html @@ -75,7 +75,7 @@ struct boost::gil::contains_color< ColorBase, Color > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1cyan__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1cyan__t.html index 2d0c26922..63058c580 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1cyan__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1cyan__t.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__channel__converter-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__channel__converter-members.html index e00a5ee6b..25e10a358 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__channel__converter-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__channel__converter-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__channel__converter.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__channel__converter.html index fa06089e6..e442ac3ea 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__channel__converter.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__channel__converter.html @@ -81,7 +81,7 @@ template<typename Ch1 , typename Ch2 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter-members.html index 58c55b660..2b27c18f9 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter.html index 8ab3b8d42..c84f20a5e 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter.html @@ -81,7 +81,7 @@ template<typename SrcP , typename DstP > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl.html index a6550302a..c825e35ec 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl.html @@ -74,7 +74,7 @@ struct boost::gil::default_color_converter_impl< C1, C2 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c1_00_01rgba__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c1_00_01rgba__t_01_4-members.html index 278a27759..14e63971b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c1_00_01rgba__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c1_00_01rgba__t_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c1_00_01rgba__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c1_00_01rgba__t_01_4.html index 26bc9aa8c..dbb86b5c1 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c1_00_01rgba__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c1_00_01rgba__t_01_4.html @@ -84,7 +84,7 @@ struct boost::gil::default_color_converter_impl< C1, rgba_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c_00_01_c_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c_00_01_c_01_4-members.html index 89f4d449e..536266333 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c_00_01_c_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c_00_01_c_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c_00_01_c_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c_00_01_c_01_4.html index 7a1a25193..280d20c97 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c_00_01_c_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01_c_00_01_c_01_4.html @@ -84,7 +84,7 @@ struct boost::gil::default_color_converter_impl< C, C > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01gray__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01gray__t_01_4-members.html index 743c09eb3..a60dfdcae 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01gray__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01gray__t_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01gray__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01gray__t_01_4.html index 3b7e61b75..53ef7a1af 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01gray__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01gray__t_01_4.html @@ -85,7 +85,7 @@ struct boost::gil::default_color_converter_impl< cmyk_t, gray_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01rgb__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01rgb__t_01_4-members.html index 8c5a6d199..828fc95ff 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01rgb__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01rgb__t_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01rgb__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01rgb__t_01_4.html index d87a841d3..0625bf8b1 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01rgb__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01cmyk__t_00_01rgb__t_01_4.html @@ -85,7 +85,7 @@ struct boost::gil::default_color_converter_impl< cmyk_t, rgb_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01cmyk__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01cmyk__t_01_4-members.html index e66bbacb7..969e69cca 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01cmyk__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01cmyk__t_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01cmyk__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01cmyk__t_01_4.html index 6fc65925b..42d095859 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01cmyk__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01cmyk__t_01_4.html @@ -84,7 +84,7 @@ struct boost::gil::default_color_converter_impl< gray_t, cmyk_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01rgb__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01rgb__t_01_4-members.html index b3a9a310d..3c3d3ac3b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01rgb__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01rgb__t_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01rgb__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01rgb__t_01_4.html index b466c05a5..97fa053f2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01rgb__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01gray__t_00_01rgb__t_01_4.html @@ -84,7 +84,7 @@ struct boost::gil::default_color_converter_impl< gray_t, rgb_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01cmyk__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01cmyk__t_01_4-members.html index f34046073..164b6f525 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01cmyk__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01cmyk__t_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01cmyk__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01cmyk__t_01_4.html index c869c6831..790dcd7c9 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01cmyk__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01cmyk__t_01_4.html @@ -85,7 +85,7 @@ struct boost::gil::default_color_converter_impl< rgb_t, cmyk_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01gray__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01gray__t_01_4-members.html index 4caef9844..04bc6ac59 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01gray__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01gray__t_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01gray__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01gray__t_01_4.html index 44d89ff0b..7397cdd80 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01gray__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgb__t_00_01gray__t_01_4.html @@ -84,7 +84,7 @@ struct boost::gil::default_color_converter_impl< rgb_t, gray_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01_c2_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01_c2_01_4-members.html index 010e5cbdc..91833d548 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01_c2_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01_c2_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01_c2_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01_c2_01_4.html index 387945def..7a1965f98 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01_c2_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01_c2_01_4.html @@ -85,7 +85,7 @@ struct boost::gil::default_color_converter_impl< rgba_t, C2 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01rgba__t_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01rgba__t_01_4-members.html index 0563da6b1..cf1a7755d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01rgba__t_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01rgba__t_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01rgba__t_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01rgba__t_01_4.html index b4ce38df4..a9eafcd12 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01rgba__t_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1default__color__converter__impl_3_01rgba__t_00_01rgba__t_01_4.html @@ -84,7 +84,7 @@ struct boost::gil::default_color_converter_impl< rgba_t, rgba_t > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1deref__base-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1deref__base-members.html index 708c6d8bb..f7073f118 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1deref__base-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1deref__base-members.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1deref__base.html b/develop/doc/html/reference/structboost_1_1gil_1_1deref__base.html index 324ac0af4..891d90ccc 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1deref__base.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1deref__base.html @@ -66,24 +66,24 @@ - - - - - - - - - - - - + + + + + + + + + + + +

Public Types

-typedef ArgType argument_type
 
-typedef ResultType result_type
 
-typedef ConstT const_t
 
-typedef Value value_type
 
-typedef Reference reference
 
-typedef ConstReference const_reference
 
+using argument_type = ArgType
 
+using result_type = ResultType
 
+using const_t = ConstT
 
+using value_type = Value
 
+using reference = Reference
 
+using const_reference = ConstReference
 
@@ -105,7 +105,7 @@ struct boost::gil::deref_base< ConstT, Value, Reference, ConstReference, ArgT diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl-members.html index 3317b30b7..973e7fa99 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl.html index 9091384e6..d38ff0a85 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl.html @@ -66,12 +66,12 @@

Public Member Functions

- - - - + + + +

Public Types

-typedef SrcChannelV argument_type
 
-typedef DstChannelV result_type
 
+using argument_type = SrcChannelV
 
+using result_type = DstChannelV
 
@@ -93,7 +93,7 @@ struct boost::gil::detail::channel_converter_unsigned_impl< SrcChannelV, DstC diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n-members.html index 3abbb3f24..9095eb53b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n.html index de8863e23..1549431f9 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n.html @@ -80,7 +80,7 @@ struct boost::gil::detail::copier_n< I, O > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01_i_00_01iterator__from__2d_3_01_o_l_01_4_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01_i_00_01iterator__from__2d_3_01_o_l_01_4_01_4-members.html index c49d5cd7e..9cc625c8b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01_i_00_01iterator__from__2d_3_01_o_l_01_4_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01_i_00_01iterator__from__2d_3_01_o_l_01_4_01_4-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01_i_00_01iterator__from__2d_3_01_o_l_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01_i_00_01iterator__from__2d_3_01_o_l_01_4_01_4.html index b296da719..6979815e2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01_i_00_01iterator__from__2d_3_01_o_l_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01_i_00_01iterator__from__2d_3_01_o_l_01_4_01_4.html @@ -66,10 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef std::iterator_traits
-< I >::difference_type 
diff_t
 
+using diff_t = typename std::iterator_traits< I >::difference_type
 
@@ -91,7 +90,7 @@ struct boost::gil::detail::copier_n< I, iterator_from_2d< OL > > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01_o_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01_o_01_4-members.html index 69d715662..537fa1047 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01_o_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01_o_01_4-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01_o_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01_o_01_4.html index aa54b40ec..c7f1d6fe1 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01_o_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01_o_01_4.html @@ -66,11 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef std::iterator_traits
-< iterator_from_2d< IL >
- >::difference_type 
diff_t
 
+using diff_t = typename std::iterator_traits< iterator_from_2d< IL > >::difference_type
 
@@ -92,7 +90,7 @@ struct boost::gil::detail::copier_n< iterator_from_2d< IL >, O > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01iterator__fr9b29768443232234f95320b3f7e74729.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01iterator__fr9b29768443232234f95320b3f7e74729.html index a0519cfb1..95c42ad33 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01iterator__fr9b29768443232234f95320b3f7e74729.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01iterator__fr9b29768443232234f95320b3f7e74729.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01iterator__from__2d_3_01_o_l_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01iterator__from__2d_3_01_o_l_01_4_01_4.html index 5d251e613..794e8bdd3 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01iterator__from__2d_3_01_o_l_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1copier__n_3_01iterator__from__2d_3_01_i_l_01_4_00_01iterator__from__2d_3_01_o_l_01_4_01_4.html @@ -66,10 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef iterator_from_2d< IL >
-::difference_type 
diff_t
 
+using diff_t = typename iterator_from_2d< IL >::difference_type
 
@@ -91,7 +90,7 @@ struct boost::gil::detail::copier_n< iterator_from_2d< IL >, iterator_f diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1dec-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1dec-members.html index db1fcad56..09c48fd33 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1dec-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1dec-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1dec.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1dec.html index 5e1c4abc5..3a5e13629 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1dec.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1dec.html @@ -66,12 +66,12 @@

Public Member Functions

- - - - + + + +

Public Types

-typedef T argument_type
 
-typedef T result_type
 
+using argument_type = T
 
+using result_type = T
 
@@ -93,7 +93,7 @@ struct boost::gil::detail::dec< T > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01_i1_00_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01_i1_00_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_01_4-members.html index 57da962c8..72dca69a2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01_i1_00_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01_i1_00_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01_i1_00_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01_i1_00_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_01_4.html index 1b7217bd0..372ddeae9 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01_i1_00_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01_i1_00_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_01_4.html @@ -83,7 +83,7 @@ struct boost::gil::detail::equal_n_fn< I1, boost::gil::iterator_from_2d< L diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc1_01629d3bb430b0f68b56ea86189659092c.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc1_01629d3bb430b0f68b56ea86189659092c.html index 5dc5b7f80..c03ba52a8 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc1_01629d3bb430b0f68b56ea86189659092c.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc1_01629d3bb430b0f68b56ea86189659092c.html @@ -83,7 +83,7 @@ struct boost::gil::detail::equal_n_fn< boost::gil::iterator_from_2d< Loc1 diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc1_0173caba61dca2b882aec2f645342d0509.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc1_0173caba61dca2b882aec2f645342d0509.html index 926ff1270..a64a66276 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc1_0173caba61dca2b882aec2f645342d0509.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc1_0173caba61dca2b882aec2f645342d0509.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_00_01_i2_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_00_01_i2_01_4-members.html index b264b5557..2a0275224 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_00_01_i2_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_00_01_i2_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_00_01_i2_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_00_01_i2_01_4.html index 401eabf70..de5592d00 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_00_01_i2_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01boost_1_1gil_1_1iterator__from__2d_3_01_loc_01_4_00_01_i2_01_4.html @@ -83,7 +83,7 @@ struct boost::gil::detail::equal_n_fn< boost::gil::iterator_from_2d< Loc & diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01const_01pixel_3_01_t_00_01_cs_01_4_01_5_00_01cof2dcbb9935c1f0c43d9a16609dbdbb2f.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01const_01pixel_3_01_t_00_01_cs_01_4_01_5_00_01cof2dcbb9935c1f0c43d9a16609dbdbb2f.html index 57168b3e0..bcdfd100e 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01const_01pixel_3_01_t_00_01_cs_01_4_01_5_00_01cof2dcbb9935c1f0c43d9a16609dbdbb2f.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01const_01pixel_3_01_t_00_01_cs_01_4_01_5_00_01cof2dcbb9935c1f0c43d9a16609dbdbb2f.html @@ -82,7 +82,7 @@ struct boost::gil::detail::equal_n_fn< const pixel< T, Cs > *, const pi diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01const_01pixel_3_01_t_00_01_cs_01_4_01_5_00_01cof677edf535b9930129958a7a23f04e18.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01const_01pixel_3_01_t_00_01_cs_01_4_01_5_00_01cof677edf535b9930129958a7a23f04e18.html index db4fd9eed..80ec43631 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01const_01pixel_3_01_t_00_01_cs_01_4_01_5_00_01cof677edf535b9930129958a7a23f04e18.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01const_01pixel_3_01_t_00_01_cs_01_4_01_5_00_01cof677edf535b9930129958a7a23f04e18.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01planar__pixel__iterator_3_01_i_c_00_01_cs_01_4_24c83e783e21d37b62022997a2dbc869.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01planar__pixel__iterator_3_01_i_c_00_01_cs_01_4_24c83e783e21d37b62022997a2dbc869.html index a4ab798aa..47511a9f7 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01planar__pixel__iterator_3_01_i_c_00_01_cs_01_4_24c83e783e21d37b62022997a2dbc869.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01planar__pixel__iterator_3_01_i_c_00_01_cs_01_4_24c83e783e21d37b62022997a2dbc869.html @@ -80,7 +80,7 @@ struct boost::gil::detail::equal_n_fn< planar_pixel_iterator< IC, Cs >, diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01planar__pixel__iterator_3_01_i_c_00_01_cs_01_4_5f4582bc2983f880fe38ecee99cfc579.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01planar__pixel__iterator_3_01_i_c_00_01_cs_01_4_5f4582bc2983f880fe38ecee99cfc579.html index a7196613f..ab71b5627 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01planar__pixel__iterator_3_01_i_c_00_01_cs_01_4_5f4582bc2983f880fe38ecee99cfc579.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1equal__n__fn_3_01planar__pixel__iterator_3_01_i_c_00_01_cs_01_4_5f4582bc2983f880fe38ecee99cfc579.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_011_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_011_01_4-members.html index d59bfefc7..1d1f01844 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_011_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_011_01_4-members.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_011_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_011_01_4.html index b5c8114c0..1edf5d39b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_011_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_011_01_4.html @@ -66,9 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef Layout layout_t
 
+using layout_t = Layout
 
@@ -107,7 +107,7 @@ struct boost::gil::detail::homogeneous_color_base< Element, Layout, 1 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_012_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_012_01_4-members.html index 47471029b..92e8dcba9 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_012_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_012_01_4-members.html @@ -77,7 +77,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_012_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_012_01_4.html index 0bda4c1b7..0f2af821d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_012_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_012_01_4.html @@ -66,9 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef Layout layout_t
 
+using layout_t = Layout
 
@@ -136,7 +136,7 @@ struct boost::gil::detail::homogeneous_color_base< Element, Layout, 2 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_013_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_013_01_4-members.html index 7fa3cca96..751017b43 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_013_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_013_01_4-members.html @@ -79,7 +79,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_013_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_013_01_4.html index 9de69b033..09a592ce1 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_013_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_013_01_4.html @@ -66,9 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef Layout layout_t
 
+using layout_t = Layout
 
@@ -146,7 +146,7 @@ struct boost::gil::detail::homogeneous_color_base< Element, Layout, 3 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_014_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_014_01_4-members.html index ff12d0bb5..68d265a0b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_014_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_014_01_4-members.html @@ -81,7 +81,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_014_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_014_01_4.html index 41efc4802..3d0f8c7e3 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_014_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_014_01_4.html @@ -66,9 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef Layout layout_t
 
+using layout_t = Layout
 
@@ -156,7 +156,7 @@ struct boost::gil::detail::homogeneous_color_base< Element, Layout, 4 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_015_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_015_01_4-members.html index b78a0d52d..650869eb2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_015_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_015_01_4-members.html @@ -83,7 +83,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_015_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_015_01_4.html index 03b715c91..57ef085cb 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_015_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1homogeneous__color__base_3_01_element_00_01_layout_00_015_01_4.html @@ -66,9 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef Layout layout_t
 
+using layout_t = Layout
 
@@ -166,7 +166,7 @@ struct boost::gil::detail::homogeneous_color_base< Element, Layout, 5 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1identity-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1identity-members.html index abe0d0b16..307d93a61 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1identity-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1identity-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1identity.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1identity.html index 7ce97b3dd..3a6d1174e 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1identity.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1identity.html @@ -75,12 +75,12 @@ Inheritance diagram for identity< T >:

Public Member Functions

- - - - + + + +

Public Types

-typedef T argument_type
 
-typedef T result_type
 
+using argument_type = T
 
+using result_type = T
 
@@ -102,7 +102,7 @@ struct boost::gil::detail::identity< T > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1inc-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1inc-members.html index 5b5604eec..f437f7039 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1inc-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1inc-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1inc.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1inc.html index 6e86779bd..1f9531511 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1inc.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1inc.html @@ -66,12 +66,12 @@

Public Member Functions

- - - - + + + +

Public Types

-typedef T argument_type
 
-typedef T result_type
 
+using argument_type = T
 
+using result_type = T
 
@@ -93,7 +93,7 @@ struct boost::gil::detail::inc< T > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1kth__channel__deref__fn-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1kth__channel__deref__fn-members.html index 0705434e2..3a8bb8fe1 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1kth__channel__deref__fn-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1kth__channel__deref__fn-members.html @@ -73,7 +73,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1kth__channel__deref__fn.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1kth__channel__deref__fn.html index 1fd2d3798..ff0f27fe5 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1kth__channel__deref__fn.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1kth__channel__deref__fn.html @@ -66,30 +66,24 @@

Public Member Functions

- - - - - - - - - - - - + + + + + + + + + + + +

Public Types

-typedef kth_channel_deref_fn
-< K, const_ref_t > 
const_t
 
-typedef pixel_value_type
-< channel_t, gray_layout_t >
-::type 
value_type
 
-typedef pixel_reference_type
-< channel_t, gray_layout_t,
-false, false >::type 
const_reference
 
-typedef SrcP argument_type
 
-typedef mpl::if_c< is_mutable,
-ref_t, value_type >::type 
reference
 
-typedef reference result_type
 
+using const_t = kth_channel_deref_fn< K, const_ref_t >
 
+using value_type = typename pixel_value_type< channel_t, gray_layout_t >::type
 
+using const_reference = typename pixel_reference_type< channel_t, gray_layout_t, false, false >::type
 
+using argument_type = SrcP
 
+using reference = typename mpl::if_c< is_mutable, ref_t, value_type >::type
 
+using result_type = reference
 
@@ -119,7 +113,7 @@ struct boost::gil::detail::kth_channel_deref_fn< K, SrcP > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1nth__channel__deref__fn-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1nth__channel__deref__fn-members.html index e6642f493..b13278bc3 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1nth__channel__deref__fn-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1nth__channel__deref__fn-members.html @@ -74,7 +74,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1nth__channel__deref__fn.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1nth__channel__deref__fn.html index dc932d45c..ef888d256 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1nth__channel__deref__fn.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1nth__channel__deref__fn.html @@ -67,30 +67,24 @@

Public Member Functions

- - - - - - - - - - - - + + + + + + + + + + + +

Public Types

-typedef nth_channel_deref_fn
-< const_ref_t > 
const_t
 
-typedef pixel_value_type
-< channel_t, gray_layout_t >
-::type 
value_type
 
-typedef pixel_reference_type
-< channel_t, gray_layout_t,
-false, false >::type 
const_reference
 
-typedef SrcP argument_type
 
-typedef mpl::if_c< is_mutable,
-ref_t, value_type >::type 
reference
 
-typedef reference result_type
 
+using const_t = nth_channel_deref_fn< const_ref_t >
 
+using value_type = typename pixel_value_type< channel_t, gray_layout_t >::type
 
+using const_reference = typename pixel_reference_type< channel_t, gray_layout_t, false, false >::type
 
+using argument_type = SrcP
 
+using reference = typename mpl::if_c< is_mutable, ref_t, value_type >::type
 
+using result_type = reference
 
@@ -129,7 +123,7 @@ struct boost::gil::detail::nth_channel_deref_fn< SrcP > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1plus__asymmetric-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1plus__asymmetric-members.html index 6b3458e22..4c8b9e5db 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1plus__asymmetric-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1plus__asymmetric-members.html @@ -67,7 +67,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1plus__asymmetric.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1plus__asymmetric.html index 253c48860..a143a670d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1plus__asymmetric.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1plus__asymmetric.html @@ -66,15 +66,15 @@

Public Member Functions

- - - - - - + + + + + +

Public Types

-typedef T1 first_argument_type
 
-typedef T2 second_argument_type
 
-typedef T1 result_type
 
+using first_argument_type = T1
 
+using second_argument_type = T2
 
+using result_type = T1
 
@@ -96,7 +96,7 @@ struct boost::gil::detail::plus_asymmetric< T1, T2 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1rgb__to__luminance__fn-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1rgb__to__luminance__fn-members.html index 799984b01..bdf385c2e 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1rgb__to__luminance__fn-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1rgb__to__luminance__fn-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1rgb__to__luminance__fn.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1rgb__to__luminance__fn.html index bbbfe98bc..a649cfd64 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1rgb__to__luminance__fn.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1rgb__to__luminance__fn.html @@ -83,7 +83,7 @@ struct boost::gil::detail::rgb_to_luminance_fn< RedChannel, GreenChannel, Blu diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1std__fill__t-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1std__fill__t-members.html index e6ffa4565..2347811f1 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1std__fill__t-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1std__fill__t-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1std__fill__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1std__fill__t.html index 50d497bf7..1ce869daa 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1std__fill__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1std__fill__t.html @@ -81,7 +81,7 @@ template<typename It , typename P > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1type__to__index.html b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1type__to__index.html index bf04a62e1..c6a3231a5 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1type__to__index.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1detail_1_1type__to__index.html @@ -75,7 +75,7 @@ struct boost::gil::detail::type_to_index< Types, T > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__color__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__color__t.html index 98ab8e827..8e2182fdf 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__color__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__color__t.html @@ -73,7 +73,7 @@ struct boost::gil::devicen_color_t< N > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__layout__t-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__layout__t-members.html index 56a611d60..954316c13 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__layout__t-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__layout__t-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__layout__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__layout__t.html index 32e2c7e18..2033aeafa 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__layout__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__layout__t.html @@ -74,14 +74,12 @@ Inheritance diagram for devicen_layout_t< N >: - - - - + + + +

Public Member Functions

Additional Inherited Members

- Public Types inherited from layout< devicen_t< N > >
-typedef devicen_t< N > color_space_t
 
-typedef mpl::range_c< int,
-0, mpl::size< devicen_t< N >
- >::value > 
channel_mapping_t
 
+using color_space_t = devicen_t< N >
 
+using channel_mapping_t = mpl::range_c< int, 0, mpl::size< devicen_t< N > >::value >
 

Detailed Description

template<int N>
@@ -97,7 +95,7 @@ struct boost::gil::devicen_layout_t< N >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_011_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_011_01_4.html index a05b39066..9d40b1e55 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_011_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_011_01_4.html @@ -75,7 +75,7 @@ struct boost::gil::devicen_t< 1 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_012_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_012_01_4.html index e3d44864b..e2dd049da 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_012_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_012_01_4.html @@ -75,7 +75,7 @@ struct boost::gil::devicen_t< 2 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_013_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_013_01_4.html index 3f9893e47..1c3b9a349 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_013_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_013_01_4.html @@ -75,7 +75,7 @@ struct boost::gil::devicen_t< 3 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_014_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_014_01_4.html index 709aebfae..7608fe404 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_014_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_014_01_4.html @@ -75,7 +75,7 @@ struct boost::gil::devicen_t< 4 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_015_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_015_01_4.html index 6128033f0..7f4a10bc2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_015_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1devicen__t_3_015_01_4.html @@ -75,7 +75,7 @@ struct boost::gil::devicen_t< 5 > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1dynamic__xy__step__transposed__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1dynamic__xy__step__transposed__type.html index 9a05be85f..27fc63adf 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1dynamic__xy__step__transposed__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1dynamic__xy__step__transposed__type.html @@ -82,7 +82,7 @@ struct boost::gil::dynamic_xy_step_transposed_type< View > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1dynamic__xy__step__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1dynamic__xy__step__type.html index bde5889d1..1f1e6b6d2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1dynamic__xy__step__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1dynamic__xy__step__type.html @@ -75,7 +75,7 @@ struct boost::gil::dynamic_xy_step_type< View > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1element__const__reference__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1element__const__reference__type.html index bd4812272..1447ff9c5 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1element__const__reference__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1element__const__reference__type.html @@ -75,7 +75,7 @@ struct boost::gil::element_const_reference_type< ColorBase > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1element__reference__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1element__reference__type.html index 1efae4a84..81e510f6b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1element__reference__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1element__reference__type.html @@ -75,7 +75,7 @@ struct boost::gil::element_reference_type< ColorBase > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1element__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1element__type.html index b97d78a9b..7d4ad3355 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1element__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1element__type.html @@ -75,7 +75,7 @@ struct boost::gil::element_type< ColorBase > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1gray__color__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1gray__color__t.html index a78ce0371..f4667a2c5 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1gray__color__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1gray__color__t.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1green__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1green__t.html index fd1a81ff5..900444ac2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1green__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1green__t.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1image__is__basic.html b/develop/doc/html/reference/structboost_1_1gil_1_1image__is__basic.html index 6e727f43d..c3c831b4b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1image__is__basic.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1image__is__basic.html @@ -75,7 +75,7 @@ struct boost::gil::image_is_basic< Img > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1image__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1image__type-members.html index bcde6c400..7a7bf2704 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1image__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1image__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1image__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1image__type.html index 18080f66e..bd6e8233b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1image__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1image__type.html @@ -65,10 +65,9 @@ - - + +

Public Types

-typedef image< pixel< T, L >
-, IsPlanar, Alloc > 
type
 
+using type = image< pixel< T, L >, IsPlanar, Alloc >
 

Detailed Description

template<typename T, typename L, bool IsPlanar = false, typename Alloc = std::allocator<unsigned char>>
@@ -84,7 +83,7 @@ struct boost::gil::image_type< T, L, IsPlanar, Alloc >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1is__iterator__adaptor.html b/develop/doc/html/reference/structboost_1_1gil_1_1is__iterator__adaptor.html index ac5c7d114..dc3e1de17 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1is__iterator__adaptor.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1is__iterator__adaptor.html @@ -75,7 +75,7 @@ struct boost::gil::is_iterator_adaptor< It > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1is__pixel_3_01bit__aligned__pixel__reference_3_01_b_00_01_c_00_01_l_00_01_m_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1is__pixel_3_01bit__aligned__pixel__reference_3_01_b_00_01_c_00_01_l_00_01_m_01_4_01_4.html index 4526f746a..87804f30f 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1is__pixel_3_01bit__aligned__pixel__reference_3_01_b_00_01_c_00_01_l_00_01_m_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1is__pixel_3_01bit__aligned__pixel__reference_3_01_b_00_01_c_00_01_l_00_01_m_01_4_01_4.html @@ -75,7 +75,7 @@ struct boost::gil::is_pixel< bit_aligned_pixel_reference< B, C, L, M > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1is__pixel_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1is__pixel_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html index 3d59943cf..0e64acc98 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1is__pixel_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1is__pixel_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html @@ -75,7 +75,7 @@ struct boost::gil::is_pixel< planar_pixel_reference< ChannelReference, Col diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1is__planar_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1is__planar_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html index 24c9935bd..40ee519ee 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1is__planar_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1is__planar_3_01planar__pixel__reference_3_01_channel_reference_00_01_color_space_01_4_01_4.html @@ -75,7 +75,7 @@ struct boost::gil::is_planar< planar_pixel_reference< ChannelReference, Co diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__adaptor__get__base.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__adaptor__get__base.html index 0469494e5..b39a801cd 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__adaptor__get__base.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__adaptor__get__base.html @@ -73,7 +73,7 @@ struct boost::gil::iterator_adaptor_get_base< It > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__adaptor__rebind.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__adaptor__rebind.html index 617704de9..f3dba45b0 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__adaptor__rebind.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__adaptor__rebind.html @@ -73,7 +73,7 @@ struct boost::gil::iterator_adaptor_rebind< It, NewBaseIt > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref-members.html index 08821a4f0..f40b746d5 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref.html index fbffa4a3b..904edb8fb 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref.html @@ -66,11 +66,9 @@ - - + +

Public Types

-typedef
-dereference_iterator_adaptor
-< Iterator, Deref > 
type
 
+using type = dereference_iterator_adaptor< Iterator, Deref >
 
@@ -93,7 +91,7 @@ struct boost::gil::iterator_add_deref< Iterator, D > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref_3_01dereference__iterator__adaptor_3_01_iterator_00_0927b7f3fa453e9b4decea8a0c8e52f27.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref_3_01dereference__iterator__adaptor_3_01_iterator_00_0927b7f3fa453e9b4decea8a0c8e52f27.html index bdf51cb8c..42bf99136 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref_3_01dereference__iterator__adaptor_3_01_iterator_00_0927b7f3fa453e9b4decea8a0c8e52f27.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref_3_01dereference__iterator__adaptor_3_01_iterator_00_0927b7f3fa453e9b4decea8a0c8e52f27.html @@ -66,12 +66,9 @@

Static Public Member Functions

- - + +

Public Types

-typedef
-dereference_iterator_adaptor
-< Iterator, deref_compose
-< Deref, PREV_DEREF > > 
type
 
+using type = dereference_iterator_adaptor< Iterator, deref_compose< Deref, PREV_DEREF >>
 
@@ -93,7 +90,7 @@ struct boost::gil::iterator_add_deref< dereference_iterator_adaptor< Itera diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref_3_01dereference__iterator__adaptor_3_01_iterator_00_099dd338dfbc32474aacfee6846d34880.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref_3_01dereference__iterator__adaptor_3_01_iterator_00_099dd338dfbc32474aacfee6846d34880.html index d27b1c438..d822ddf75 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref_3_01dereference__iterator__adaptor_3_01_iterator_00_099dd338dfbc32474aacfee6846d34880.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__add__deref_3_01dereference__iterator__adaptor_3_01_iterator_00_099dd338dfbc32474aacfee6846d34880.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__basic.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__basic.html index b9d3e67f4..bb2c5502a 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__basic.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__basic.html @@ -77,7 +77,7 @@ struct boost::gil::iterator_is_basic< Iterator > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__mutable.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__mutable.html index 1376e9d9d..d7c48bbef 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__mutable.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__mutable.html @@ -73,7 +73,7 @@ struct boost::gil::iterator_is_mutable< It > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__step.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__step.html index d51c3fb87..a337d760b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__step.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__is__step.html @@ -75,7 +75,7 @@ struct boost::gil::iterator_is_step< I > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__type.html index 3a05cfd94..55d4cd341 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__type.html @@ -73,7 +73,7 @@ struct boost::gil::iterator_type< T, L, IsPlanar, IsStep, IsMutable > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__type__from__pixel.html b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__type__from__pixel.html index 620c6eaa9..f1ec5257c 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1iterator__type__from__pixel.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1iterator__type__from__pixel.html @@ -73,7 +73,7 @@ struct boost::gil::iterator_type_from_pixel< Pixel, IsPlanar, IsStep, IsMutab diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1kth__channel__view__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1kth__channel__view__type-members.html index 271621043..447a543a2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1kth__channel__view__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1kth__channel__view__type-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1kth__channel__view__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1kth__channel__view__type.html index 28f3e6ab0..d6bb8f970 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1kth__channel__view__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1kth__channel__view__type.html @@ -66,9 +66,9 @@

Static Public Member Functions

- - + +

Public Types

-typedef VB::type type
 
+using type = typename VB::type
 
@@ -91,7 +91,7 @@ struct boost::gil::kth_channel_view_type< K, View > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__const__reference__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__const__reference__type-members.html index d2ae79e90..536d07114 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__const__reference__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__const__reference__type-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__const__reference__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__const__reference__type.html index 2342cec6b..67d83a9a2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__const__reference__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__const__reference__type.html @@ -67,12 +67,9 @@

Static Public Member Functions

- - + +

Public Types

-typedef
-kth_element_const_reference_type
-< ColorBase, semantic_index >
-::type 
type
 
+using type = typename kth_element_const_reference_type< ColorBase, semantic_index >::type
 
@@ -100,7 +97,7 @@ struct boost::gil::kth_semantic_element_const_reference_type< ColorBase, K &g diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__reference__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__reference__type-members.html index f60541bd9..185d9edad 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__reference__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__reference__type-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__reference__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__reference__type.html index 97fd32ae8..e7e97c44f 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__reference__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__reference__type.html @@ -67,12 +67,9 @@

Public Member Functions

- - + +

Public Types

-typedef
-kth_element_reference_type
-< ColorBase, semantic_index >
-::type 
type
 
+using type = typename kth_element_reference_type< ColorBase, semantic_index >::type
 
@@ -100,7 +97,7 @@ struct boost::gil::kth_semantic_element_reference_type< ColorBase, K > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__type-members.html index 09451a6a8..ba3ffc4dc 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__type-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__type.html index 4e5d00a7a..95d940b69 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1kth__semantic__element__type.html @@ -66,11 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef kth_element_type
-< ColorBase, semantic_index >
-::type 
type
 
+using type = typename kth_element_type< ColorBase, semantic_index >::type
 
@@ -92,7 +90,7 @@ struct boost::gil::kth_semantic_element_type< ColorBase, K > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1layout-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1layout-members.html index fef044f31..510d39207 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1layout-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1layout-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1layout.html b/develop/doc/html/reference/structboost_1_1gil_1_1layout.html index 97fa58425..4e82caa03 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1layout.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1layout.html @@ -65,12 +65,12 @@

Public Member Functions

- - - - + + + +

Public Types

-typedef ColorSpace color_space_t
 
-typedef ChannelMapping channel_mapping_t
 
+using color_space_t = ColorSpace
 
+using channel_mapping_t = ChannelMapping
 

Detailed Description

template<typename ColorSpace, typename ChannelMapping = mpl::range_c<int,0,mpl::size<ColorSpace>::value>>
@@ -86,7 +86,7 @@ struct boost::gil::layout< ColorSpace, ChannelMapping >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__basic.html b/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__basic.html index dd7181279..b5c0eb8cb 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__basic.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__basic.html @@ -77,7 +77,7 @@ struct boost::gil::locator_is_basic< Loc > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__mutable.html b/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__mutable.html index feef05ac0..7a7922ac6 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__mutable.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__mutable.html @@ -82,7 +82,7 @@ struct boost::gil::locator_is_mutable< L > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__step__in__x.html b/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__step__in__x.html index ed3d99d05..c34db5e37 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__step__in__x.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__step__in__x.html @@ -82,7 +82,7 @@ struct boost::gil::locator_is_step_in_x< L > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__step__in__y.html b/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__step__in__y.html index 8876f3227..500990ce2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__step__in__y.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1locator__is__step__in__y.html @@ -82,7 +82,7 @@ struct boost::gil::locator_is_step_in_y< L > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1locator__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1locator__type-members.html index 7353d12fd..7535f1547 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1locator__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1locator__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1locator__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1locator__type.html index 231fa8b06..0b85b2e50 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1locator__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1locator__type.html @@ -65,12 +65,9 @@ - - + +

Public Types

-typedef type_from_x_iterator
-< typename iterator_type< T, L,
-IsPlanar, IsStepX, IsMutable >
-::type >::xy_locator_type 
type
 
+using type = typename type_from_x_iterator< typename iterator_type< T, L, IsPlanar, IsStepX, IsMutable >::type >::xy_locator_type
 

Detailed Description

template<typename T, typename L, bool IsPlanar = false, bool IsStepX = false, bool IsMutable = true>
@@ -86,7 +83,7 @@ struct boost::gil::locator_type< T, L, IsPlanar, IsStepX, IsMutable >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1magenta__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1magenta__t.html index 64ec1481b..93bec3e2e 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1magenta__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1magenta__t.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1memunit__step__fn-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1memunit__step__fn-members.html index e19721237..b38fb770d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1memunit__step__fn-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1memunit__step__fn-members.html @@ -69,7 +69,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1memunit__step__fn.html b/develop/doc/html/reference/structboost_1_1gil_1_1memunit__step__fn.html index c2719d16e..b032cc678 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1memunit__step__fn.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1memunit__step__fn.html @@ -66,9 +66,9 @@ - - + +

Public Types

-typedef std::ptrdiff_t difference_type
 
+using difference_type = std::ptrdiff_t
 
@@ -102,7 +102,7 @@ struct boost::gil::memunit_step_fn< Iterator > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type-members.html index 183eab769..86d333d79 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type-members.html @@ -65,7 +65,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type.html index c241c1270..abb41126f 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type.html @@ -66,9 +66,9 @@

Public Member Functions

- - + +

Public Types

-typedef VB::type type
 
+using type = typename VB::type
 
@@ -91,7 +91,7 @@ struct boost::gil::nth_channel_view_type< View > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type_3_01any__image__view_3_01_view_types_01_4_01_4-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type_3_01any__image__view_3_01_view_types_01_4_01_4-members.html index 47bcbbba1..4375a697b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type_3_01any__image__view_3_01_view_types_01_4_01_4-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type_3_01any__image__view_3_01_view_types_01_4_01_4-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type_3_01any__image__view_3_01_view_types_01_4_01_4.html b/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type_3_01any__image__view_3_01_view_types_01_4_01_4.html index fadd78df7..0f75a2edd 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type_3_01any__image__view_3_01_view_types_01_4_01_4.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1nth__channel__view__type_3_01any__image__view_3_01_view_types_01_4_01_4.html @@ -86,7 +86,7 @@ struct boost::gil::nth_channel_view_type< any_image_view< ViewTypes > & diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1num__channels.html b/develop/doc/html/reference/structboost_1_1gil_1_1num__channels.html index 7df642c1b..ddf5f3f6b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1num__channels.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1num__channels.html @@ -75,7 +75,7 @@ struct boost::gil::num_channels< T > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image1__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image1__type-members.html index 97faaf8b6..3f4514807 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image1__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image1__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image1__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image1__type.html index 0cb9a47f4..3b45ce381 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image1__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image1__type.html @@ -74,13 +74,9 @@ Inheritance diagram for packed_image1_type< BitField, Size1, Layout, Alloc &g - - + +

Static Public Member Functions

Additional Inherited Members

- Public Types inherited from packed_image_type< BitField, mpl::vector1_c< unsigned, Size1 >, Layout, Alloc >
-typedef image< typename
-packed_pixel_type< BitField,
-mpl::vector1_c< unsigned,
-Size1 >, Layout >::type, false,
-Alloc > 
type
 
+using type = image< typename packed_pixel_type< BitField, mpl::vector1_c< unsigned, Size1 >, Layout >::type, false, Alloc >
 

Detailed Description

template<typename BitField, unsigned Size1, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -96,7 +92,7 @@ struct boost::gil::packed_image1_type< BitField, Size1, Layout, Alloc > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image2__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image2__type-members.html index 5564889ee..65b9254d3 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image2__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image2__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image2__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image2__type.html index 3d8d53dc3..b54715395 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image2__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image2__type.html @@ -74,13 +74,9 @@ Inheritance diagram for packed_image2_type< BitField, Size1, Size2, Layout, A

Additional Inherited Members

- Public Types inherited from packed_image_type< BitField, mpl::vector2_c< unsigned, Size1, Size2 >, Layout, Alloc > - -typedef image< typename
-packed_pixel_type< BitField,
-mpl::vector2_c< unsigned,
-Size1, Size2 >, Layout >::type,
-false, Alloc > type -  + +using type = image< typename packed_pixel_type< BitField, mpl::vector2_c< unsigned, Size1, Size2 >, Layout >::type, false, Alloc > + 

Detailed Description

template<typename BitField, unsigned Size1, unsigned Size2, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -96,7 +92,7 @@ struct boost::gil::packed_image2_type< BitField, Size1, Size2, Layout, Alloc diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image3__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image3__type-members.html index 0d631cd32..edc62cd6d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image3__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image3__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image3__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image3__type.html index cfb026f97..1741092c8 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image3__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image3__type.html @@ -74,13 +74,9 @@ Inheritance diagram for packed_image3_type< BitField, Size1, Size2, Size3, La

Additional Inherited Members

- Public Types inherited from packed_image_type< BitField, mpl::vector3_c< unsigned, Size1, Size2, Size3 >, Layout, Alloc > - -typedef image< typename
-packed_pixel_type< BitField,
-mpl::vector3_c< unsigned,
-Size1, Size2, Size3 >, Layout >
-::type, false, Alloc > type -  + +using type = image< typename packed_pixel_type< BitField, mpl::vector3_c< unsigned, Size1, Size2, Size3 >, Layout >::type, false, Alloc > + 

Detailed Description

template<typename BitField, unsigned Size1, unsigned Size2, unsigned Size3, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -96,7 +92,7 @@ struct boost::gil::packed_image3_type< BitField, Size1, Size2, Size3, Layout, diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image4__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image4__type-members.html index b5d008493..c503e2528 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image4__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image4__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image4__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image4__type.html index 31bd6395d..4acb383c5 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image4__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image4__type.html @@ -74,13 +74,9 @@ Inheritance diagram for packed_image4_type< BitField, Size1, Size2, Size3, Si

Additional Inherited Members

- Public Types inherited from packed_image_type< BitField, mpl::vector4_c< unsigned, Size1, Size2, Size3, Size4 >, Layout, Alloc > - -typedef image< typename
-packed_pixel_type< BitField,
-mpl::vector4_c< unsigned,
-Size1, Size2, Size3, Size4 >
-, Layout >::type, false, Alloc > type -  + +using type = image< typename packed_pixel_type< BitField, mpl::vector4_c< unsigned, Size1, Size2, Size3, Size4 >, Layout >::type, false, Alloc > + 

Detailed Description

template<typename BitField, unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -96,7 +92,7 @@ struct boost::gil::packed_image4_type< BitField, Size1, Size2, Size3, Size4, diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image5__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image5__type-members.html index 0a1349c8c..c25b6c5d3 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image5__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image5__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image5__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image5__type.html index e107f7a5c..1a2d3f6ce 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image5__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image5__type.html @@ -74,14 +74,9 @@ Inheritance diagram for packed_image5_type< BitField, Size1, Size2, Size3, Si

Additional Inherited Members

- Public Types inherited from packed_image_type< BitField, mpl::vector5_c< unsigned, Size1, Size2, Size3, Size4, Size5 >, Layout, Alloc > - -typedef image< typename
-packed_pixel_type< BitField,
-mpl::vector5_c< unsigned,
-Size1, Size2, Size3, Size4,
-Size5 >, Layout >::type, false,
-Alloc > type -  + +using type = image< typename packed_pixel_type< BitField, mpl::vector5_c< unsigned, Size1, Size2, Size3, Size4, Size5 >, Layout >::type, false, Alloc > + 

Detailed Description

template<typename BitField, unsigned Size1, unsigned Size2, unsigned Size3, unsigned Size4, unsigned Size5, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -97,7 +92,7 @@ struct boost::gil::packed_image5_type< BitField, Size1, Size2, Size3, Size4, diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image__type-members.html index bd2f446a7..8d439b249 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image__type.html index 4c45a80fb..2c10821a7 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__image__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__image__type.html @@ -65,12 +65,9 @@ - - + +

Public Types

-typedef image< typename
-packed_pixel_type< BitField,
-ChannelBitSizeVector, Layout >
-::type, false, Alloc > 
type
 
+using type = image< typename packed_pixel_type< BitField, ChannelBitSizeVector, Layout >::type, false, Alloc >
 

Detailed Description

template<typename BitField, typename ChannelBitSizeVector, typename Layout, typename Alloc = std::allocator<unsigned char>>
@@ -86,7 +83,7 @@ struct boost::gil::packed_image_type< BitField, ChannelBitSizeVector, Layout, diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel-members.html index 9bcc18411..3350ce4ae 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel-members.html @@ -83,7 +83,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel.html index ef5278879..2e2fc4a24 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel.html @@ -67,18 +67,18 @@ - - - - - - - - + + + + + + + +

Public Types

-typedef Layout layout_t
 
-typedef packed_pixel value_type
 
-typedef value_typereference
 
-typedef const value_typeconst_reference
 
+using layout_t = Layout
 
+using value_type = packed_pixel< BitField, ChannelRefVec, Layout >
 
+using reference = value_type &
 
+using const_reference = value_type const &
 
@@ -150,7 +150,7 @@ struct boost::gil::packed_pixel< BitField, ChannelRefVec, Layout > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel__type-members.html index ca008fe66..784e7fd6d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel__type.html index d029a8956..79d0f4796 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1packed__pixel__type.html @@ -65,14 +65,9 @@

Public Member Functions

- - + +

Public Types

-typedef packed_pixel< BitField,
-typename
-detail::packed_channel_references_vector_type
-< BitField,
-ChannelBitSizeVector >::type,
-Layout > 
type
 
+using type = packed_pixel< BitField, typename detail::packed_channel_references_vector_type< BitField, ChannelBitSizeVector >::type, Layout >
 

Detailed Description

template<typename BitField, typename ChannelBitSizeVector, typename Layout>
@@ -90,7 +85,7 @@ struct boost::gil::packed_pixel_type< BitField, ChannelBitSizeVector, Layout diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1pixel-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1pixel-members.html index e128bcd24..aa5b498fc 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1pixel-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1pixel-members.html @@ -84,7 +84,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1pixel.html b/develop/doc/html/reference/structboost_1_1gil_1_1pixel.html index c91a38fda..a169af083 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1pixel.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1pixel.html @@ -68,15 +68,15 @@ - - - - - - + + + + + +

Public Types

-typedef pixel value_type
 
-typedef value_typereference
 
-typedef const value_typeconst_reference
 
+using value_type = pixel< ChannelValue, Layout >
 
+using reference = value_type &
 
+using const_reference = value_type const &
 
@@ -129,7 +129,7 @@ channel_traits< channel_t >
+::const_reference  @@ -156,7 +156,7 @@ struct boost::gil::pixel< T, L > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__is__reference.html b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__is__reference.html index 90a11442d..718f51e21 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__is__reference.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__is__reference.html @@ -75,7 +75,7 @@ struct boost::gil::pixel_is_reference< Pixel > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__basic.html b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__basic.html index 67d593a66..e2f674e9b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__basic.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__basic.html @@ -75,7 +75,7 @@ struct boost::gil::pixel_reference_is_basic< PixelRef > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__mutable.html b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__mutable.html index 195b3bf4f..01ab606be 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__mutable.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__mutable.html @@ -76,7 +76,7 @@ struct boost::gil::pixel_reference_is_mutable< R > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__proxy.html b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__proxy.html index 216115fd2..872c5f0bb 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__proxy.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__is__proxy.html @@ -75,7 +75,7 @@ struct boost::gil::pixel_reference_is_proxy< PixelReference > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__type.html index 2774f6b18..b01d5dbd6 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__reference__type.html @@ -73,7 +73,7 @@ struct boost::gil::pixel_reference_type< T, L, IsPlanar, IsMutable > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__value__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__value__type-members.html index 0eee0cc98..636a8e291 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__value__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__value__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__value__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__value__type.html index c604b0cd0..48fe9f27b 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1pixel__value__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1pixel__value__type.html @@ -65,9 +65,9 @@

Public Member Functions

 
channel_traits< channel_t >
-::const_reference 
operator[] (std::size_t i) const
operator[] (std::size_t i) const
 
pixeloperator= (channel_t chan)
- - + +

Public Types

-typedef pixel< Channel, Layout > type
 
+using type = pixel< Channel, Layout >
 

Detailed Description

template<typename Channel, typename Layout>
@@ -83,7 +83,7 @@ struct boost::gil::pixel_value_type< Channel, Layout >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__iterator-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__iterator-members.html index 176828501..609019e23 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__iterator-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__iterator-members.html @@ -80,7 +80,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__iterator.html b/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__iterator.html index c18866314..42a23ade6 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__iterator.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__iterator.html @@ -69,15 +69,15 @@ - - - - - - + + + + + +

Public Types

-typedef parent_t::value_type value_type
 
-typedef parent_t::reference reference
 
-typedef parent_t::difference_type difference_type
 
+using value_type = typename parent_t::value_type
 
+using reference = typename parent_t::reference
 
+using difference_type = typename parent_t::difference_type
 
@@ -193,7 +193,7 @@ struct boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__reference-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__reference-members.html index 31b9b703d..c42a2d4ae 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__reference-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__reference-members.html @@ -82,7 +82,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__reference.html b/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__reference.html index 5a240182a..d53de6405 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__reference.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1planar__pixel__reference.html @@ -68,25 +68,18 @@

Public Member Functions

- - - - - - - - + + + + + + + +

Public Types

-typedef
-detail::homogeneous_color_base
-< ChannelReference, layout
-< ColorSpace >, mpl::size
-< ColorSpace >::value > 
parent_t
 
-typedef pixel< channel_t,
-layout< ColorSpace > > 
value_type
 
-typedef planar_pixel_reference reference
 
-typedef planar_pixel_reference
-< channel_const_reference,
-ColorSpace > 
const_reference
 
+using parent_t = detail::homogeneous_color_base< ChannelReference, layout< ColorSpace >, mpl::size< ColorSpace >::value >
 
+using value_type = pixel< channel_t, layout< ColorSpace >>
 
+using reference = planar_pixel_reference< ChannelReference, ColorSpace >
 
+using const_reference = planar_pixel_reference< channel_const_reference, ColorSpace >
 
@@ -158,7 +151,7 @@ struct boost::gil::planar_pixel_reference< T, C > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1position__iterator-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1position__iterator-members.html index 4a705b780..87c3255a8 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1position__iterator-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1position__iterator-members.html @@ -79,7 +79,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1position__iterator.html b/develop/doc/html/reference/structboost_1_1gil_1_1position__iterator.html index ad2ddaff9..0a7750319 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1position__iterator.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1position__iterator.html @@ -69,26 +69,18 @@

Public Member Functions

- - - - - - - - + + + + + + + +

Public Types

-typedef iterator_facade
-< position_iterator< Deref,
-Dim >, typename
-Deref::value_type,
-std::random_access_iterator_tag,
-typename Deref::reference,
-typename
-Deref::argument_type::template
-axis< Dim >::coord_t > 
parent_t
 
-typedef parent_t::difference_type difference_type
 
-typedef parent_t::reference reference
 
-typedef Deref::argument_type point_t
 
+using parent_t = iterator_facade< position_iterator< Deref, Dim >, typename Deref::value_type, std::random_access_iterator_tag, typename Deref::reference, typename Deref::argument_type::template axis< Dim >::coord_t >
 
+using difference_type = typename parent_t::difference_type
 
+using reference = typename parent_t::reference
 
+using point_t = typename Deref::argument_type
 
@@ -170,7 +162,7 @@ struct boost::gil::position_iterator< Deref, Dim > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1red__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1red__t.html index 890f48e12..f76eea412 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1red__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1red__t.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1size.html b/develop/doc/html/reference/structboost_1_1gil_1_1size.html index 6cd983e13..e3abae03d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1size.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1size.html @@ -75,7 +75,7 @@ struct boost::gil::size< ColorBase > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1type__from__x__iterator-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1type__from__x__iterator-members.html index 255e5e60f..7a5260666 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1type__from__x__iterator-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1type__from__x__iterator-members.html @@ -66,7 +66,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1type__from__x__iterator.html b/develop/doc/html/reference/structboost_1_1gil_1_1type__from__x__iterator.html index bc66f107c..3f8637407 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1type__from__x__iterator.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1type__from__x__iterator.html @@ -65,19 +65,15 @@

Public Member Functions

- - - - - - + + + + + +

Public Types

-typedef
-memory_based_step_iterator
-< XIterator > 
step_iterator_t
 
-typedef
-memory_based_2d_locator
-< step_iterator_t
xy_locator_t
 
-typedef image_view< xy_locator_tview_t
 
+using step_iterator_t = memory_based_step_iterator< XIterator >
 
+using xy_locator_t = memory_based_2d_locator< step_iterator_t >
 
+using view_t = image_view< xy_locator_t >
 

Detailed Description

template<typename XIterator>
@@ -93,7 +89,7 @@ struct boost::gil::type_from_x_iterator< XIterator >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1view__is__basic.html b/develop/doc/html/reference/structboost_1_1gil_1_1view__is__basic.html index c97b04261..3bcbcb60d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1view__is__basic.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1view__is__basic.html @@ -75,7 +75,7 @@ struct boost::gil::view_is_basic< View > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1view__is__mutable.html b/develop/doc/html/reference/structboost_1_1gil_1_1view__is__mutable.html index b8bfbceb0..6689c02f2 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1view__is__mutable.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1view__is__mutable.html @@ -82,7 +82,7 @@ struct boost::gil::view_is_mutable< V > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1view__is__step__in__x.html b/develop/doc/html/reference/structboost_1_1gil_1_1view__is__step__in__x.html index 0d5053b09..8bbc31d0c 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1view__is__step__in__x.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1view__is__step__in__x.html @@ -83,7 +83,7 @@ struct boost::gil::view_is_step_in_x< V > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1view__is__step__in__y.html b/develop/doc/html/reference/structboost_1_1gil_1_1view__is__step__in__y.html index 80d81000a..c1304cdbd 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1view__is__step__in__y.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1view__is__step__in__y.html @@ -83,7 +83,7 @@ struct boost::gil::view_is_step_in_y< V > diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1view__type-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1view__type-members.html index 06d38f3fb..ab72db12a 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1view__type-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1view__type-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1view__type.html b/develop/doc/html/reference/structboost_1_1gil_1_1view__type.html index c5299c94b..d14bc8704 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1view__type.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1view__type.html @@ -65,12 +65,9 @@ - - + +

Public Types

-typedef type_from_x_iterator
-< typename iterator_type< T, L,
-IsPlanar, IsStepX, IsMutable >
-::type >::view_t 
type
 
+using type = typename type_from_x_iterator< typename iterator_type< T, L, IsPlanar, IsStepX, IsMutable >::type >::view_t
 

Detailed Description

template<typename T, typename L, bool IsPlanar = false, bool IsStepX = false, bool IsMutable = true>
@@ -86,7 +83,7 @@ struct boost::gil::view_type< T, L, IsPlanar, IsStepX, IsMutable >

diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1view__type__from__pixel-members.html b/develop/doc/html/reference/structboost_1_1gil_1_1view__type__from__pixel-members.html index 3c8119e0d..980a81ddc 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1view__type__from__pixel-members.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1view__type__from__pixel-members.html @@ -64,7 +64,7 @@ diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1view__type__from__pixel.html b/develop/doc/html/reference/structboost_1_1gil_1_1view__type__from__pixel.html index 2fc64d256..942fc4138 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1view__type__from__pixel.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1view__type__from__pixel.html @@ -65,13 +65,9 @@ - - + +

Public Types

-typedef type_from_x_iterator
-< typename
-iterator_type_from_pixel
-< Pixel, IsPlanar, IsStepX,
-IsMutable >::type >::view_t 
type
 
+using type = typename type_from_x_iterator< typename iterator_type_from_pixel< Pixel, IsPlanar, IsStepX, IsMutable >::type >::view_t
 

Detailed Description

template<typename Pixel, bool IsPlanar = false, bool IsStepX = false, bool IsMutable = true>
@@ -87,7 +83,7 @@ struct boost::gil::view_type_from_pixel< Pixel, IsPlanar, IsStepX, IsMutable diff --git a/develop/doc/html/reference/structboost_1_1gil_1_1yellow__t.html b/develop/doc/html/reference/structboost_1_1gil_1_1yellow__t.html index 32ede7979..1fbdea67d 100644 --- a/develop/doc/html/reference/structboost_1_1gil_1_1yellow__t.html +++ b/develop/doc/html/reference/structboost_1_1gil_1_1yellow__t.html @@ -70,7 +70,7 @@ diff --git a/develop/doc/html/reference/targa_8hpp_source.html b/develop/doc/html/reference/targa_8hpp_source.html index 99d5128b4..dcc7d448e 100644 --- a/develop/doc/html/reference/targa_8hpp_source.html +++ b/develop/doc/html/reference/targa_8hpp_source.html @@ -71,7 +71,7 @@ diff --git a/develop/doc/html/reference/tiff_8hpp_source.html b/develop/doc/html/reference/tiff_8hpp_source.html index 0ae53662d..fa3ffefe0 100644 --- a/develop/doc/html/reference/tiff_8hpp_source.html +++ b/develop/doc/html/reference/tiff_8hpp_source.html @@ -71,7 +71,7 @@ diff --git a/develop/doc/html/reference/typedefs_8hpp_source.html b/develop/doc/html/reference/typedefs_8hpp_source.html index 6f47a3ea1..78f91e18a 100644 --- a/develop/doc/html/reference/typedefs_8hpp_source.html +++ b/develop/doc/html/reference/typedefs_8hpp_source.html @@ -272,7 +272,7 @@ diff --git a/develop/doc/html/reference/utilities_8hpp_source.html b/develop/doc/html/reference/utilities_8hpp_source.html index 7a9e96a65..b93b36b20 100644 --- a/develop/doc/html/reference/utilities_8hpp_source.html +++ b/develop/doc/html/reference/utilities_8hpp_source.html @@ -131,12 +131,12 @@
89 >
90 struct deref_base
91 {
-
92  typedef ArgType argument_type;
-
93  typedef ResultType result_type;
-
94  typedef ConstT const_t;
-
95  typedef Value value_type;
-
96  typedef Reference reference;
-
97  typedef ConstReference const_reference;
+
92  using argument_type = ArgType;
+
93  using result_type = ResultType;
+
94  using const_t = ConstT;
+
95  using value_type = Value;
+
96  using reference = Reference;
+
97  using const_reference = ConstReference;
98  BOOST_STATIC_CONSTANT(bool, is_mutable = IsMutable);
99 };
100 
@@ -156,8 +156,8 @@
117  D1 _fn1;
118  D2 _fn2;
119 
-
120  typedef typename D2::argument_type argument_type;
-
121  typedef typename D1::result_type result_type;
+
120  using argument_type = typename D2::argument_type;
+
121  using result_type = typename D1::result_type;
122 
123  deref_compose() = default;
124  deref_compose(const D1& x, const D2& y) : _fn1(x), _fn2(y) {}
@@ -227,16 +227,16 @@
192 template <typename T>
193 struct identity
194 {
-
195  typedef T argument_type;
-
196  typedef T result_type;
+
195  using argument_type = T;
+
196  using result_type = T;
197  const T& operator()(const T& val) const { return val; }
198 };
199 
201 template <typename T1, typename T2>
-
203  typedef T1 first_argument_type;
-
204  typedef T2 second_argument_type;
-
205  typedef T1 result_type;
+
203  using first_argument_type = T1;
+
204  using second_argument_type = T2;
+
205  using result_type = T1;
206  T1 operator()(T1 f1, T2 f2) const
207  {
208  return f1+f2;
@@ -246,16 +246,16 @@
213 template <typename T>
214 struct inc
215 {
-
216  typedef T argument_type;
-
217  typedef T result_type;
+
216  using argument_type = T;
+
217  using result_type = T;
218  T operator()(T x) const { return ++x; }
219 };
220 
222 template <typename T>
223 struct dec
224 {
-
225  typedef T argument_type;
-
226  typedef T result_type;
+
225  using argument_type = T;
+
226  using result_type = T;
227  T operator()(T x) const { return --x; }
228 };
229 
@@ -274,8 +274,8 @@
245 template <typename ColorSpace, typename ChannelMapping = mpl::range_c<int,0,mpl::size<ColorSpace>::value>>
246 struct layout
247 {
-
248  typedef ColorSpace color_space_t;
-
249  typedef ChannelMapping channel_mapping_t;
+
248  using color_space_t = ColorSpace;
+
249  using channel_mapping_t = ChannelMapping;
250 };
251 
253 template <typename Value, typename T1, typename T2> // where value_type<T1> == value_type<T2> == Value
@@ -306,7 +306,7 @@
identity taken from SGI STL.
Definition: utilities.hpp:193
operator++ wrapped in a function object
Definition: utilities.hpp:214
Represents a color space and ordering of channels in memory.
Definition: utilities.hpp:246
-
Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typed...
Definition: utilities.hpp:105
+
Composes two dereference function objects. Similar to std::unary_compose but needs to pull some alias...
Definition: utilities.hpp:105
Returns the index corresponding to the first occurrance of a given given type in. ...
Definition: utilities.hpp:233

@@ -314,7 +314,7 @@ diff --git a/develop/doc/html/reference/variant_8hpp_source.html b/develop/doc/html/reference/variant_8hpp_source.html index 7da35a2b8..0af9cb194 100644 --- a/develop/doc/html/reference/variant_8hpp_source.html +++ b/develop/doc/html/reference/variant_8hpp_source.html @@ -219,7 +219,7 @@
200 } } // namespace boost::gil
201 
202 #endif
-
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:480
+
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:481
BOOST_FORCEINLINE UnaryOp::result_type apply_operation(variant< Types > &arg, UnaryOp op)
Invokes a generic mutable operation (represented as a unary function object) on a variant...
Definition: apply_operation.hpp:31
Represents a concrete instance of a run-time specified type from a set of typesA concept is typically...
Definition: variant.hpp:80
Returns the index corresponding to the first occurrance of a given given type in. ...
Definition: utilities.hpp:233
@@ -229,7 +229,7 @@ diff --git a/develop/doc/html/reference/version_8hpp_source.html b/develop/doc/html/reference/version_8hpp_source.html index 4e66cb8a7..de6785621 100644 --- a/develop/doc/html/reference/version_8hpp_source.html +++ b/develop/doc/html/reference/version_8hpp_source.html @@ -75,7 +75,7 @@ diff --git a/develop/doc/html/reference/virtual__locator_8hpp_source.html b/develop/doc/html/reference/virtual__locator_8hpp_source.html index c72b55af3..086195604 100644 --- a/develop/doc/html/reference/virtual__locator_8hpp_source.html +++ b/develop/doc/html/reference/virtual__locator_8hpp_source.html @@ -68,105 +68,110 @@
15 namespace boost { namespace gil {
16 
20 template <typename Deref, bool IsTransposed> // A function object that given a point returns a reference. Models PixelDereferenceAdaptorConcept
-
21 class virtual_2d_locator : public pixel_2d_locator_base<virtual_2d_locator<Deref,IsTransposed>, position_iterator<Deref,IsTransposed>, position_iterator<Deref,1-IsTransposed> > {
- -
23 public:
- - -
26 
-
27  typedef Deref deref_fn_t;
-
28  typedef typename parent_t::point_t point_t;
-
29 
-
30  typedef typename parent_t::coord_t coord_t;
-
31  typedef typename parent_t::x_coord_t x_coord_t;
-
32  typedef typename parent_t::y_coord_t y_coord_t;
-
33  typedef typename parent_t::x_iterator x_iterator;
-
34  typedef typename parent_t::y_iterator y_iterator;
-
35 
-
36  template <typename NewDeref> struct add_deref {
-
37  typedef virtual_2d_locator<deref_compose<NewDeref,Deref>,IsTransposed > type;
-
38  static type make(const virtual_2d_locator<Deref,IsTransposed>& loc, const NewDeref& nderef) {
-
39  return type(loc.pos(), loc.step(), deref_compose<NewDeref,Deref>(nderef,loc.deref_fn()));
-
40  }
-
41  };
-
42 
-
43  virtual_2d_locator(const point_t& p=point_t(0,0), const point_t& step=point_t(1,1), const deref_fn_t& d=deref_fn_t()) : _p(p,step,d) {}
-
44  template <typename D, bool TR> virtual_2d_locator(const virtual_2d_locator<D,TR>& loc, coord_t y_step)
-
45  : _p(loc.pos(), point_t(loc.step().x,loc.step().y*y_step), loc.deref_fn()) {}
-
46  template <typename D, bool TR> virtual_2d_locator(const virtual_2d_locator<D,TR>& loc, coord_t x_step, coord_t y_step, bool transpose=false)
-
47  : _p(loc.pos(), transpose ?
-
48  point_t(loc.step().x*y_step,loc.step().y*x_step) :
-
49  point_t(loc.step().x*x_step,loc.step().y*y_step), loc.deref_fn()) { assert(transpose==(IsTransposed!=TR));}
-
50 
-
51  template <typename D, bool TR> virtual_2d_locator(const virtual_2d_locator<D,TR>& pl) : _p(pl._p) {}
-
52  virtual_2d_locator(const virtual_2d_locator& pl) : _p(pl._p) {}
-
53 
-
54  bool operator==(const this_t& p) const { return _p==p._p; }
+
21 class virtual_2d_locator : public pixel_2d_locator_base<virtual_2d_locator<Deref,IsTransposed>, position_iterator<Deref,IsTransposed>, position_iterator<Deref,1-IsTransposed>>
+
22 {
+ +
24 public:
+ + +
27 
+
28  using deref_fn_t = Deref;
+
29  using point_t = typename parent_t::point_t;
+
30 
+
31  using coord_t = typename parent_t::coord_t;
+
32  using x_coord_t = typename parent_t::x_coord_t;
+
33  using y_coord_t = typename parent_t::y_coord_t;
+
34  using x_iterator = typename parent_t::x_iterator;
+
35  using y_iterator = typename parent_t::y_iterator;
+
36 
+
37  template <typename NewDeref> struct add_deref
+
38  {
+
39  using type = virtual_2d_locator<deref_compose<NewDeref,Deref>,IsTransposed>;
+
40  static type make(const virtual_2d_locator<Deref,IsTransposed>& loc, const NewDeref& nderef) {
+
41  return type(loc.pos(), loc.step(), deref_compose<NewDeref,Deref>(nderef,loc.deref_fn()));
+
42  }
+
43  };
+
44 
+
45  virtual_2d_locator(const point_t& p=point_t(0,0), const point_t& step=point_t(1,1), const deref_fn_t& d=deref_fn_t()) : _p(p,step,d) {}
+
46  template <typename D, bool TR> virtual_2d_locator(const virtual_2d_locator<D,TR>& loc, coord_t y_step)
+
47  : _p(loc.pos(), point_t(loc.step().x,loc.step().y*y_step), loc.deref_fn()) {}
+
48  template <typename D, bool TR> virtual_2d_locator(const virtual_2d_locator<D,TR>& loc, coord_t x_step, coord_t y_step, bool transpose=false)
+
49  : _p(loc.pos(), transpose ?
+
50  point_t(loc.step().x*y_step,loc.step().y*x_step) :
+
51  point_t(loc.step().x*x_step,loc.step().y*y_step), loc.deref_fn()) { assert(transpose==(IsTransposed!=TR));}
+
52 
+
53  template <typename D, bool TR> virtual_2d_locator(const virtual_2d_locator<D,TR>& pl) : _p(pl._p) {}
+
54  virtual_2d_locator(const virtual_2d_locator& pl) : _p(pl._p) {}
55 
-
56  x_iterator& x() { return *gil_reinterpret_cast<x_iterator*>(this); }
-
57  y_iterator& y() { return _p; }
-
58  x_iterator const& x() const { return *gil_reinterpret_cast_c<x_iterator const*>(this); }
-
59  y_iterator const& y() const { return _p; }
-
60 
-
61  // Returns the y distance between two x_iterators given the difference of their x positions
-
62  y_coord_t y_distance_to(const this_t& it2, x_coord_t) const { return (it2.pos()[1-IsTransposed] - pos()[1-IsTransposed])/step()[1-IsTransposed]; }
-
63  bool is_1d_traversable(x_coord_t) const { return false; } // is there no gap at the end of each row? I.e. can we use x_iterator to visit every pixel instead of nested loops?
-
64 
-
65  // Methods specific for virtual 2D locator
-
66  const point_t& pos() const { return _p.pos(); }
-
67  const point_t& step() const { return _p.step(); }
-
68  const deref_fn_t& deref_fn() const { return _p.deref_fn(); }
-
69 private:
-
70  template <typename D, bool TR> friend class virtual_2d_locator;
-
71  y_iterator _p; // contains the current position, the step and the dereference object
-
72 };
-
73 
-
75 // PixelBasedConcept
-
77 
-
78 template <typename D, bool TR>
-
79 struct channel_type<virtual_2d_locator<D,TR> > : public channel_type<typename virtual_2d_locator<D,TR>::parent_t> {
-
80 };
-
81 
-
82 template <typename D, bool TR>
-
83 struct color_space_type<virtual_2d_locator<D,TR> > : public color_space_type<typename virtual_2d_locator<D,TR>::parent_t> {
-
84 };
-
85 
-
86 template <typename D, bool TR>
-
87 struct channel_mapping_type<virtual_2d_locator<D,TR> > : public channel_mapping_type<typename virtual_2d_locator<D,TR>::parent_t> {
-
88 };
-
89 
-
90 template <typename D, bool TR>
-
91 struct is_planar<virtual_2d_locator<D,TR> > : public is_planar<typename virtual_2d_locator<D,TR>::parent_t> {
-
92 };
-
93 
-
95 // HasDynamicXStepTypeConcept
-
97 
-
98 template <typename D, bool TR>
-
99 struct dynamic_x_step_type<virtual_2d_locator<D,TR> > {
-
100  typedef virtual_2d_locator<D,TR> type;
-
101 };
-
102 
-
104 // HasDynamicYStepTypeConcept
-
106 
-
107 template <typename D, bool TR>
-
108 struct dynamic_y_step_type<virtual_2d_locator<D,TR> > {
-
109  typedef virtual_2d_locator<D,TR> type;
-
110 };
-
111 
-
113 // HasTransposedTypeConcept
-
115 
-
116 template <typename D, bool IsTransposed>
-
117 struct transposed_type<virtual_2d_locator<D,IsTransposed> > {
-
118  typedef virtual_2d_locator<D,1-IsTransposed> type;
-
119 };
-
120 
-
121 }} // namespace boost::gil
-
122 
-
123 #endif
-
base class for models of PixelLocatorConceptPixel locator is similar to a pixel iterator, but allows for 2D navigation of pixels within an image view. It has a 2D difference_type and supports random access operations like:
Definition: locator.hpp:105
+
56  bool operator==(const this_t& p) const { return _p==p._p; }
+
57 
+
58  x_iterator& x() { return *gil_reinterpret_cast<x_iterator*>(this); }
+
59  y_iterator& y() { return _p; }
+
60  x_iterator const& x() const { return *gil_reinterpret_cast_c<x_iterator const*>(this); }
+
61  y_iterator const& y() const { return _p; }
+
62 
+
63  // Returns the y distance between two x_iterators given the difference of their x positions
+
64  y_coord_t y_distance_to(const this_t& it2, x_coord_t) const { return (it2.pos()[1-IsTransposed] - pos()[1-IsTransposed])/step()[1-IsTransposed]; }
+
65  bool is_1d_traversable(x_coord_t) const { return false; } // is there no gap at the end of each row? I.e. can we use x_iterator to visit every pixel instead of nested loops?
+
66 
+
67  // Methods specific for virtual 2D locator
+
68  const point_t& pos() const { return _p.pos(); }
+
69  const point_t& step() const { return _p.step(); }
+
70  const deref_fn_t& deref_fn() const { return _p.deref_fn(); }
+
71 private:
+
72  template <typename D, bool TR> friend class virtual_2d_locator;
+
73  y_iterator _p; // contains the current position, the step and the dereference object
+
74 };
+
75 
+
77 // PixelBasedConcept
+
79 
+
80 template <typename D, bool TR>
+
81 struct channel_type<virtual_2d_locator<D,TR> > : public channel_type<typename virtual_2d_locator<D,TR>::parent_t> {
+
82 };
+
83 
+
84 template <typename D, bool TR>
+
85 struct color_space_type<virtual_2d_locator<D,TR> > : public color_space_type<typename virtual_2d_locator<D,TR>::parent_t> {
+
86 };
+
87 
+
88 template <typename D, bool TR>
+
89 struct channel_mapping_type<virtual_2d_locator<D,TR> > : public channel_mapping_type<typename virtual_2d_locator<D,TR>::parent_t> {
+
90 };
+
91 
+
92 template <typename D, bool TR>
+
93 struct is_planar<virtual_2d_locator<D,TR> > : public is_planar<typename virtual_2d_locator<D,TR>::parent_t> {
+
94 };
+
95 
+
97 // HasDynamicXStepTypeConcept
+
99 
+
100 template <typename D, bool TR>
+
101 struct dynamic_x_step_type<virtual_2d_locator<D,TR>>
+
102 {
+
103  using type = virtual_2d_locator<D,TR>;
+
104 };
+
105 
+
107 // HasDynamicYStepTypeConcept
+
109 
+
110 template <typename D, bool TR>
+
111 struct dynamic_y_step_type<virtual_2d_locator<D,TR>>
+
112 {
+
113  using type = virtual_2d_locator<D,TR>;
+
114 };
+
115 
+
117 // HasTransposedTypeConcept
+
119 
+
120 template <typename D, bool IsTransposed>
+
121 struct transposed_type<virtual_2d_locator<D,IsTransposed>>
+
122 {
+
123  using type = virtual_2d_locator<D,1-IsTransposed>;
+
124 };
+
125 
+
126 }} // namespace boost::gil
+
127 
+
128 #endif
+
base class for models of PixelLocatorConceptPixel locator is similar to a pixel iterator, but allows for 2D navigation of pixels within an image view. It has a 2D difference_type and supports random access operations like:
Definition: locator.hpp:104
An iterator that remembers its current X,Y position and invokes a function object with it upon derefe...
Definition: position_iterator.hpp:27
A 2D locator over a virtual image. Upon dereferencing, invokes a given function object passing it its...
Definition: virtual_locator.hpp:21
-
Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typed...
Definition: utilities.hpp:105
+
Composes two dereference function objects. Similar to std::unary_compose but needs to pull some alias...
Definition: utilities.hpp:105
Definition: color_convert.hpp:30
2D point both axes of which have the same dimension typeModels: Point2DConcept
Definition: locator.hpp:26
@@ -175,7 +180,7 @@