function readDataView( N, view, strideView, offsetView, out, strideOut, offsetOut, littleEndian ) {
	var obj;
	var dt;
	if ( N <= 0 ) {
		return out;
	}
	obj = arraylike2object( out );
	if ( obj.accessorProtocol ) {
		// If provided a complex number array, reinterpret as a real typed array of interleaved real and imaginary components...
		if ( isComplex128Array( out ) ) {
			obj.data = reinterpret128( out, 0 );
			complex( 'float64', N, view, strideView, offsetView, obj, strideOut, offsetOut, littleEndian );
			return out;
		}
		if ( isComplex64Array( out ) ) {
			obj.data = reinterpret64( out, 0 );
			complex( 'float32', N, view, strideView, offsetView, obj, strideOut, offsetOut, littleEndian );
			return out;
		}
		// If provided a boolean array, reinterpret as typed array of integers...
		if ( isBooleanArray( out ) ) {
			obj.data = reinterpretBoolean( out, 0 );
			indexed( 'uint8', N, view, strideView, offsetView, obj, strideOut, offsetOut, littleEndian );
			return out;
		}
		// If provided a "generic" accessor array, assume double-precision floating-point numbers...
		accessors( 'float64', N, view, strideView, offsetView, obj, strideOut, offsetOut, littleEndian );
		return out;
	}
	if ( obj.dtype === null || obj.dtype === 'generic' ) {
		// If provided a "generic" array, assume double-precision floating-point numbers...
		dt = 'float64';
	} else {
		dt = obj.dtype;
	}
	indexed( dt, N, view, strideView, offsetView, obj, strideOut, offsetOut, littleEndian );
	return out;
}
Copies elements from an input strided DataView to elements in an output strided array.

@param {NonNegativeInteger} N - number of indexed elements
@param {DataView} view - input DataView
@param {integer} strideView - `view` stride length (in bytes)
@param {NonNegativeInteger} offsetView - starting `view` index (in bytes)
@param {Collection} out - output array
@param {integer} strideOut - `out` stride length
@param {NonNegativeInteger} offsetOut - starting `out` index
@param {boolean} littleEndian - boolean indicating whether the data is stored in little-endian format
@returns {Collection} output array

@example
var Float64Array = require( '@stdlib/array/float64' );
var DataView = require( '@stdlib/array/dataview' );

var x = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
var view = new DataView( x.buffer );

var y = new Float64Array( x.length );
var out = readDataView( x.length, view, 8, 0, y, 1, 0, true );
// e.g., returns <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]

var bool = ( out === y );
// returns true