Developer Guide and Reference


bounds_d Template Function

Provides a consistent way to determine the bounds of a dimension for a multi-dimensional object.
#include <sdlt/n_extent.h>


template<int DimensionT, typename ObjT> auto bounds_d(const ObjT &a_obj)
Consistent way to determine the bounds of a dimension for a multi-dimensional object. Can avoid extracting an entire n_bounds_t<…> when only the extent of a single dimension is needed.
Template Argument
int DimensionT
0 based index starting at the leftmost dimension indicating which n-dimensions to query the bounds of.
Requirements: DimensionT >=0 and DimensionT < ObjT::rank
typename ObjT
The type of n-dimensional object from which to retrieve the extent.
Requirements: ObtT is one of:
or any sectioned or translated accessor.
The correctly typed bounds_t<LowerT, UpperT> corresponding to the requested DimensionT of a_obj.
template <typename VolumeT> void foo(const VolumeT & a_volume) { auto bounds_z = bounds_d<0>(volume); auto bounds_y = bounds_d<1>(volume); auto bounds_x = bounds_d<2>(volume); for(auto z : bounds_z) for(auto y : bounds_y) for(auto x : bounds_x) { // … } }

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804