401
401
//Some D2 Fragment implementation which requires rect:
402
402
template <typename T>
403
Rect bounds_fast(const D2<T> &a) {
404
boost::function_requires<FragmentConcept<T> >();
405
return Rect(bounds_fast(a[X]), bounds_fast(a[Y]));
407
template <typename T>
408
Rect bounds_exact(const D2<T> &a) {
409
boost::function_requires<FragmentConcept<T> >();
410
return Rect(bounds_exact(a[X]), bounds_exact(a[Y]));
412
template <typename T>
413
Rect bounds_local(const D2<T> &a, const Interval &t) {
414
boost::function_requires<FragmentConcept<T> >();
415
return Rect(bounds_local(a[X], t), bounds_local(a[Y], t));
403
OptRect bounds_fast(const D2<T> &a) {
404
boost::function_requires<FragmentConcept<T> >();
405
return OptRect(bounds_fast(a[X]), bounds_fast(a[Y]));
407
template <typename T>
408
OptRect bounds_exact(const D2<T> &a) {
409
boost::function_requires<FragmentConcept<T> >();
410
return OptRect(bounds_exact(a[X]), bounds_exact(a[Y]));
412
template <typename T>
413
OptRect bounds_local(const D2<T> &a, const OptInterval &t) {
414
boost::function_requires<FragmentConcept<T> >();
415
return OptRect(bounds_local(a[X], t), bounds_local(a[Y], t));