function boolean( x, indices, mode, out, stride, offset ) {
	var getIndex;
	var idata;
	var iget;
	var max;
	var io;
	var i;
	var j;

	idata = indices.data;
	iget = indices.accessors[ 0 ];

	// Resolve a function for returning an index according to the specified index mode:
	getIndex = ind( mode );

	// Resolve the maximum index:
	max = x.length - 1;

	// Extract each desired element from the provided array...
	io = offset;
	for ( i = 0; i < idata.length; i++ ) {
		j = getIndex( iget( idata, i ), max );
		out[ io ] = x[ j ];
		io += stride;
	}
	return out;
}
Takes elements from a boolean array and assigns the values to elements in a boolean output array.

@private
@param {Collection} x - boolean value input array view
@param {Object} indices - index array object
@param {string} mode - index mode
@param {Collection} out - boolean value output array view
@param {integer} stride - output array stride
@param {NonNegativeInteger} offset - output array offset
@returns {Collection} output array view

@example
var Uint8Array = require( '@stdlib/array/uint8' );
var arraylike2object = require( '@stdlib/array/base/arraylike2object' );

var x = new Uint8Array( [ 1, 0, 0, 1 ] );
var indices = [ 0, 0, 1, 1 ];

var out = new Uint8Array( 4 );

var arr = boolean( x, arraylike2object( indices ), 'throw', out, 1, 0 );
// returns <Uint8Array>[ 1, 1, 0, 0 ]