arbb Namespace Reference

The Intel(R) ArBB C++ frontend namespace. More...

Classes

struct  array
 A small array with a compile-time constant number of elements. More...
class  auto_closure
 A dynamically-typed closure. More...
class  closure< FunctionType >
 A statically-typed closure captured from a function of type FunctionType. More...
class  dense
 A dense container of dimensionality D with elements of type T. More...
class  exception
 The Intel(R) ArBB C++ frontend reports any errors using this class or one of its derived classes. More...
class  internal_error
 Exception type for unexpected internal errors. More...
class  out_of_bounds
 Exception type for errors caused by attemping to access containers out of bounds. More...
class  arithmetic_error
 Exception type for arithmetic errors caused by division by zero, overflow and underflow. More...
class  bad_alloc
 Exception type for errors caused by a failed memory allocation attempt. More...
class  uninitialized_access
 Exception type for errors caused by attempting to use uninitialized objects. More...
class  invalid_op_within_map
 Exception type for errors caused by using methods incorrectly within a map. More...
class  nested
 A nested container with elements of type T. More...
class  range
 A pair of iterators pointing to the beginning and the end of a data range that can be modified. More...
class  const_range
 A pair of iterators pointing to the beginning and end of a range of data that can not be modified. More...
class  range_iterator
 An iterator obtained from an arbb::range instance pointing to mutable elements. More...
class  const_range_iterator
 An iterator obtained from an arbb::range instance pointing to constant elements. More...
class  scalar
 Template representing any scalar types (such as arbb::f32). More...
struct  captured< f32 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< f64 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< i8 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< i16 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< i32 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< i64 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< u8 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< u16 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< u32 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< u64 >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< boolean >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< isize >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< usize >
 Identity mapping from a captured scalar type to itself. More...
struct  captured< float >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< double >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< char >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< signed char >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< signed short >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< signed int >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< signed long long >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< unsigned char >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< unsigned short >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< unsigned int >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< unsigned long long >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  captured< bool >
 Mapping from an uncaptured scalar type to a captured scalar type. More...
struct  uncaptured< f32 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< f64 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< i8 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< i16 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< i32 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< i64 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< u8 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< u16 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< u32 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< u64 >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< boolean >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< isize >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< usize >
 Mapping from a captured scalar type to an uncaptured scalar type. More...
struct  uncaptured< float >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< double >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< char >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< signed char >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< signed short >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< signed int >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< signed long long >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< unsigned char >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< unsigned short >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< unsigned int >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< unsigned long long >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  uncaptured< bool >
 Identity mapping from an uncaptured scalar type to itself. More...
struct  boolean_type< scalar< scalar_type > >
 Boolean type corresponding to a captured scalar type. More...
struct  compare_type< scalar< scalar_type > >
 Return type of compare() corresponding to a captured scalar type. More...
class  scoped_timer_impl
 A scoped_timer measures the time elapsed during its lifetime, and stores this time in a variable passed in during its constructor. More...
class  system_time_source
 System time source used to provide the scoped_timer. More...
struct  boolean_type
 Type trait defining the boolean type resulting from a comparison operation on objects of type T. More...
struct  compare_type
 Type trait defining the integral type resulting from a compare() operation on objects of type T. More...
struct  captured
 Type trait defining the captured type corresponding to a given type. More...
struct  uncaptured
 Type trait defining the captured type corresponding to a given type. More...

Typedefs

typedef scalar< arbb_f32 > f32
 A 32-bit floating point number.
typedef scalar< arbb_f64 > f64
 A 64-bit floating point number.
typedef scalar< arbb_i8 > i8
 An 8-bit signed integer.
typedef scalar< arbb_i16 > i16
 A 16-bit signed integer.
typedef scalar< arbb_i32 > i32
 A 32-bit signed integer.
typedef scalar< arbb_i64 > i64
 A 64-bit signed integer.
typedef scalar< arbb_u8 > u8
 An 8-bit unsigned integer.
typedef scalar< arbb_u16 > u16
 A 16-bit unsigned integer.
typedef scalar< arbb_u32 > u32
 A 32-bit unsigned integer.
typedef scalar< arbb_u64 > u64
 A 64-bit unsigned integer.
typedef scalar< arbb_boolean > boolean
 A boolean value which is either true or false.
typedef scalar< arbb_isize > isize
 A signed integer of platform-dependent size.
typedef scalar< arbb_usize > usize
 An unsigned integer of platform-dependent size.
typedef scoped_timer_impl
< system_time_source
scoped_timer
 The scoped_timer instantiates scoped_timer_impl using the system_time_source.

Enumerations

enum  sort_direction { sort_ascending = 0, sort_descending = 1 }
 

The set of directions in which the arbb::sort() function can apply.

More...

Functions

void * aligned_malloc (std::size_t length)
 Allocate data on the heap, ensuring that it is aligned sufficiently to be bound to an ArBB container using arbb::bind().
void aligned_free (void *data)
 Free data previously allocated with arbb::aligned_malloc().
template<typename T , std::size_t N>
void swap (array< T, N > &a, array< T, N > &b)
 Swaps the provided arrays by calling a.swap(b).
template<std::size_t N, typename T >
array< T, N > make_array (const T &t)
 Constructs an array from the given value t (scalar extension).
template<typename T , std::size_t N>
array< T, N > abs (const array< T, N > &value)
 Applies abs(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > acos (const array< T, N > &value)
 Applies acos(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > asin (const array< T, N > &value)
 Applies asin(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > atan (const array< T, N > &value)
 Applies atan(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const array< T, N > &value, const array< T, N > &minimum, const array< T, N > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const T &value, const array< T, N > &minimum, const array< T, N > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const typename uncaptured< T >::type &value, const array< T, N > &minimum, const array< T, N > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const array< T, N > &value, const T &minimum, const array< T, N > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const array< T, N > &value, const typename uncaptured< T >::type &minimum, const array< T, N > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const T &value, const T &minimum, const array< T, N > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const typename uncaptured< T >::type &value, const typename uncaptured< T >::type &minimum, const array< T, N > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const array< T, N > &value, const array< T, N > &minimum, const T &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const array< T, N > &value, const array< T, N > &minimum, const typename uncaptured< T >::type &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const T &value, const array< T, N > &minimum, const T &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const typename uncaptured< T >::type &value, const array< T, N > &minimum, const typename uncaptured< T >::type &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const array< T, N > &value, const T &minimum, const T &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > clamp (const array< T, N > &value, const typename uncaptured< T >::type &minimum, const typename uncaptured< T >::type &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > cos (const array< T, N > &value)
 Applies cos(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > cosh (const array< T, N > &value)
 Applies cosh(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > exp (const array< T, N > &value)
 Applies exp(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > exp10 (const array< T, N > &value)
 Applies exp10(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > floor (const array< T, N > &value)
 Applies floor(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > ceil (const array< T, N > &value)
 Applies ceil(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > log (const array< T, N > &value)
 Applies log(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > log10 (const array< T, N > &value)
 Applies log10(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > rcp (const array< T, N > &value)
 Applies rcp(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > round (const array< T, N > &value)
 Applies round(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > rsqrt (const array< T, N > &value)
 Applies rsqrt(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > sin (const array< T, N > &value)
 Applies sin(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > sinh (const array< T, N > &value)
 Applies sinh(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > sqrt (const array< T, N > &value)
 Applies sqrt(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > tan (const array< T, N > &value)
 Applies tan(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > tanh (const array< T, N > &value)
 Applies tanh(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator! (const array< T, N > &value)
 Applies operator!(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator! (const detail::proxy_value< array< T, N > > &value)
 Applies operator!(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator~ (const array< T, N > &value)
 Applies operator~(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator- (const array< T, N > &value)
 Applies operator-(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator+ (const array< T, N > &a, const array< T, N > &b)
 Applies operator+(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator+ (const T &a, const array< T, N > &b)
 Applies operator+(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator+ (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator+(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator+ (const array< T, N > &a, const T &b)
 Applies operator+(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator+ (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator+(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator+= (array< T, N > &value, const array< T, N > &increment)
 Applies operator+=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator+= (array< T, N > &value, const T &increment)
 Applies operator+=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator+= (array< T, N > &value, const typename uncaptured< T >::type &increment)
 Applies operator+=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator& (const array< T, N > &value, const array< T, N > &mask)
 Applies operator&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator& (const T &value, const array< T, N > &mask)
 Applies operator&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator& (const typename uncaptured< T >::type &value, const array< T, N > &mask)
 Applies operator&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator& (const array< T, N > &value, const T &mask)
 Applies operator&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator& (const array< T, N > &value, const typename uncaptured< T >::type &mask)
 Applies operator&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator&= (array< T, N > &value, const array< T, N > &mask)
 Applies operator&=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator&= (array< T, N > &value, const T &mask)
 Applies operator&=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator&= (array< T, N > &value, const typename uncaptured< T >::type &mask)
 Applies operator&=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > atan2 (const array< T, N > &x, const array< T, N > &y)
 Applies atan2(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > atan2 (const T &x, const array< T, N > &y)
 Applies atan2(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > atan2 (const typename uncaptured< T >::type &x, const array< T, N > &y)
 Applies atan2(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > atan2 (const array< T, N > &x, const T &y)
 Applies atan2(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > atan2 (const array< T, N > &x, const typename uncaptured< T >::type &y)
 Applies atan2(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename compare_type
< T >::type, N > 
compare (const array< T, N > &a, const array< T, N > &b)
 Applies compare(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename compare_type
< T >::type, N > 
compare (const T &a, const array< T, N > &b)
 Applies compare(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename compare_type
< T >::type, N > 
compare (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies compare(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename compare_type
< T >::type, N > 
compare (const array< T, N > &a, const T &b)
 Applies compare(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename compare_type
< T >::type, N > 
compare (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies compare(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator/ (const array< T, N > &numerator, const array< T, N > &denominator)
 Applies operator/(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator/ (const T &numerator, const array< T, N > &denominator)
 Applies operator/(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator/ (const typename uncaptured< T >::type &numerator, const array< T, N > &denominator)
 Applies operator/(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator/ (const array< T, N > &numerator, const T &denominator)
 Applies operator/(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator/ (const array< T, N > &numerator, const typename uncaptured< T >::type &denominator)
 Applies operator/(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator/= (array< T, N > &value, const array< T, N > &denominator)
 Applies operator/=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator/= (array< T, N > &value, const T &denominator)
 Applies operator/=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator/= (array< T, N > &value, const typename uncaptured< T >::type &denominator)
 Applies operator/=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > div_tan (const array< T, N > &x, const array< T, N > &y)
 Applies div_tan(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > div_tan (const T &x, const array< T, N > &y)
 Applies div_tan(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > div_tan (const typename uncaptured< T >::type &x, const array< T, N > &y)
 Applies div_tan(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > div_tan (const array< T, N > &x, const T &y)
 Applies div_tan(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > div_tan (const array< T, N > &x, const typename uncaptured< T >::type &y)
 Applies div_tan(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator== (const array< T, N > &a, const array< T, N > &b)
 Applies operator==(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator== (const T &a, const array< T, N > &b)
 Applies operator==(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator== (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator==(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator== (const array< T, N > &a, const T &b)
 Applies operator==(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator== (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator==(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator>= (const array< T, N > &a, const array< T, N > &b)
 Applies operator>=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator>= (const T &a, const array< T, N > &b)
 Applies operator>=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator>= (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator>=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator>= (const array< T, N > &a, const T &b)
 Applies operator>=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator>= (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator>=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator> (const array< T, N > &a, const array< T, N > &b)
 Applies operator>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator> (const T &a, const array< T, N > &b)
 Applies operator>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator> (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator> (const array< T, N > &a, const T &b)
 Applies operator>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator> (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator| (const array< T, N > &value, const array< T, N > &mask)
 Applies operator|(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator| (const T &value, const array< T, N > &mask)
 Applies operator|(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator| (const typename uncaptured< T >::type &value, const array< T, N > &mask)
 Applies operator|(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator| (const array< T, N > &value, const T &mask)
 Applies operator|(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator| (const array< T, N > &value, const typename uncaptured< T >::type &mask)
 Applies operator|(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator|= (array< T, N > &value, const array< T, N > &mask)
 Applies operator|=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator|= (array< T, N > &value, const T &mask)
 Applies operator|=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator|= (array< T, N > &value, const typename uncaptured< T >::type &mask)
 Applies operator|=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator<= (const array< T, N > &a, const array< T, N > &b)
 Applies operator<=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator<= (const T &a, const array< T, N > &b)
 Applies operator<=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator<= (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator<=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator<= (const array< T, N > &a, const T &b)
 Applies operator<=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator<= (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator<=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator< (const array< T, N > &a, const array< T, N > &b)
 Applies operator<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator< (const T &a, const array< T, N > &b)
 Applies operator<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator< (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator< (const array< T, N > &a, const T &b)
 Applies operator<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator< (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator&& (const array< T, N > &a, const array< T, N > &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator&& (const detail::proxy_value< array< T, N > > &a, const detail::proxy_value< array< T, N > > &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator&& (const T &a, const array< T, N > &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator&& (const T &a, const detail::proxy_value< array< T, N > > &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator&& (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator&& (const typename uncaptured< T >::type &a, const detail::proxy_value< array< T, N > > &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator&& (const array< T, N > &a, const T &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator&& (const detail::proxy_value< array< T, N > > &a, const T &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator&& (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator&& (const detail::proxy_value< array< T, N > > &a, const typename uncaptured< T >::type &b)
 Applies operator&&(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator|| (const array< T, N > &a, const array< T, N > &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator|| (const detail::proxy_value< array< T, N > > &a, const detail::proxy_value< array< T, N > > &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator|| (const T &a, const array< T, N > &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator|| (const T &a, const detail::proxy_value< array< T, N > > &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator|| (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator|| (const typename uncaptured< T >::type &a, const detail::proxy_value< array< T, N > > &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator|| (const array< T, N > &a, const T &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator|| (const detail::proxy_value< array< T, N > > &a, const T &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< typename boolean_type
< T >::type, N > 
operator|| (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator|| (const detail::proxy_value< array< T, N > > &a, const typename uncaptured< T >::type &b)
 Applies operator||(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator<< (const array< T, N > &value, const array< T, N > &shift_amount)
 Applies operator<<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator<< (const T &value, const array< T, N > &shift_amount)
 Applies operator<<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator<< (const typename uncaptured< T >::type &value, const array< T, N > &shift_amount)
 Applies operator<<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator<< (const array< T, N > &value, const T &shift_amount)
 Applies operator<<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator<< (const array< T, N > &value, const typename uncaptured< T >::type &shift_amount)
 Applies operator<<(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator<<= (array< T, N > &value, const array< T, N > &shift_amount)
 Applies operator<<=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator<<= (array< T, N > &value, const T &shift_amount)
 Applies operator<<=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator<<= (array< T, N > &value, const typename uncaptured< T >::type &shift_amount)
 Applies operator<<=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > max (const array< T, N > &a, const array< T, N > &b)
 Applies max(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > max (const T &a, const array< T, N > &b)
 Applies max(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > max (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies max(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > max (const array< T, N > &a, const T &b)
 Applies max(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > max (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies max(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > min (const array< T, N > &a, const array< T, N > &b)
 Applies min(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > min (const T &a, const array< T, N > &b)
 Applies min(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > min (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies min(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > min (const array< T, N > &a, const T &b)
 Applies min(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > min (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies min(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator% (const array< T, N > &dividend, const array< T, N > &divisor)
 Applies operator%(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator% (const T &dividend, const array< T, N > &divisor)
 Applies operator%(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator% (const typename uncaptured< T >::type &dividend, const array< T, N > &divisor)
 Applies operator%(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator% (const array< T, N > &dividend, const T &divisor)
 Applies operator%(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator% (const array< T, N > &dividend, const typename uncaptured< T >::type &divisor)
 Applies operator%(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator%= (array< T, N > &value, const array< T, N > &divisor)
 Applies operator%=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator%= (array< T, N > &value, const T &divisor)
 Applies operator%=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator%= (array< T, N > &value, const typename uncaptured< T >::type &divisor)
 Applies operator%=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator* (const array< T, N > &a, const array< T, N > &b)
 Applies operator*(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator* (const T &a, const array< T, N > &b)
 Applies operator*(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator* (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator*(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator* (const array< T, N > &a, const T &b)
 Applies operator*(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator* (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator*(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator*= (array< T, N > &value, const array< T, N > &multiplicand)
 Applies operator*=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator*= (array< T, N > &value, const T &multiplicand)
 Applies operator*=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator*= (array< T, N > &value, const typename uncaptured< T >::type &multiplicand)
 Applies operator*=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator!= (const array< T, N > &a, const array< T, N > &b)
 Applies operator!=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator!= (const T &a, const array< T, N > &b)
 Applies operator!=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator!= (const typename uncaptured< T >::type &a, const array< T, N > &b)
 Applies operator!=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator!= (const array< T, N > &a, const T &b)
 Applies operator!=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
detail::proxy_value< array
< typename boolean_type< T >
::type, N > > 
operator!= (const array< T, N > &a, const typename uncaptured< T >::type &b)
 Applies operator!=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > pow (const array< T, N > &base, const array< T, N > &exponent)
 Applies pow(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > pow (const T &base, const array< T, N > &exponent)
 Applies pow(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > pow (const typename uncaptured< T >::type &base, const array< T, N > &exponent)
 Applies pow(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > pow (const array< T, N > &base, const T &exponent)
 Applies pow(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > pow (const array< T, N > &base, const typename uncaptured< T >::type &exponent)
 Applies pow(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator>> (const array< T, N > &value, const array< T, N > &shift_amount)
 Applies operator>>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator>> (const T &value, const array< T, N > &shift_amount)
 Applies operator>>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator>> (const typename uncaptured< T >::type &value, const array< T, N > &shift_amount)
 Applies operator>>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator>> (const array< T, N > &value, const T &shift_amount)
 Applies operator>>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator>> (const array< T, N > &value, const typename uncaptured< T >::type &shift_amount)
 Applies operator>>(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator>>= (array< T, N > &value, const array< T, N > &shift_amount)
 Applies operator>>=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator>>= (array< T, N > &value, const T &shift_amount)
 Applies operator>>=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator>>= (array< T, N > &value, const typename uncaptured< T >::type &shift_amount)
 Applies operator>>=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator- (const array< T, N > &value, const array< T, N > &amount)
 Applies operator-(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator- (const T &value, const array< T, N > &amount)
 Applies operator-(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator- (const typename uncaptured< T >::type &value, const array< T, N > &amount)
 Applies operator-(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator- (const array< T, N > &value, const T &amount)
 Applies operator-(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator- (const array< T, N > &value, const typename uncaptured< T >::type &amount)
 Applies operator-(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator-= (array< T, N > &value, const array< T, N > &amount)
 Applies operator-=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator-= (array< T, N > &value, const T &amount)
 Applies operator-=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator-= (array< T, N > &value, const typename uncaptured< T >::type &amount)
 Applies operator-=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator^ (const array< T, N > &value, const array< T, N > &mask)
 Applies operator^(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator^ (const T &value, const array< T, N > &mask)
 Applies operator^(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator^ (const typename uncaptured< T >::type &value, const array< T, N > &mask)
 Applies operator^(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator^ (const array< T, N > &value, const T &mask)
 Applies operator^(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator^ (const array< T, N > &value, const typename uncaptured< T >::type &mask)
 Applies operator^(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator^= (array< T, N > &value, const array< T, N > &mask)
 Applies operator^=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator^= (array< T, N > &value, const T &mask)
 Applies operator^=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator^= (array< T, N > &value, const typename uncaptured< T >::type &mask)
 Applies operator^=(const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const array< typename boolean_type< T >::type, N > &condition, const array< T, N > &true_case, const array< T, N > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const typename boolean_type< T >::type &condition, const array< T, N > &true_case, const array< T, N > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const typename uncaptured< typename boolean_type< T >::type >::type &condition, const array< T, N > &true_case, const array< T, N > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const array< typename boolean_type< T >::type, N > &condition, const T &true_case, const array< T, N > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const array< typename boolean_type< T >::type, N > &condition, const typename uncaptured< T >::type &true_case, const array< T, N > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const typename boolean_type< T >::type &condition, const T &true_case, const array< T, N > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const typename uncaptured< typename boolean_type< T >::type >::type &condition, const typename uncaptured< T >::type &true_case, const array< T, N > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const array< typename boolean_type< T >::type, N > &condition, const array< T, N > &true_case, const T &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const array< typename boolean_type< T >::type, N > &condition, const array< T, N > &true_case, const typename uncaptured< T >::type &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const typename boolean_type< T >::type &condition, const array< T, N > &true_case, const T &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const typename uncaptured< typename boolean_type< T >::type >::type &condition, const array< T, N > &true_case, const typename uncaptured< T >::type &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > select (const array< typename boolean_type< T >::type, N > &condition, const T &true_case, const T &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator++ (array< T, N > &value)
 Applies operator++(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator++ (array< T, N > &value, int)
 Applies operator++(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > & operator-- (array< T, N > &value)
 Applies operator--(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
array< T, N > operator-- (array< T, N > &value, int)
 Applies operator--(const T&) to all elements of the provided array and returns the result in order.
template<typename T , std::size_t N>
add_reduce (const array< T, N > &source)
 Applies operator+(const T&, const T&) to the elements of the provided array in sequence and returns the result.
template<typename T , std::size_t N>
mul_reduce (const array< T, N > &source)
 Applies operator*(const T&, const T&) to the elements of the provided array in sequence and returns the result.
template<typename T , std::size_t N>
min_reduce (const array< T, N > &source)
 Applies min(const T&, const T&) to the elements of the provided array in sequence and returns the result.
template<typename T , std::size_t N>
max_reduce (const array< T, N > &source)
 Applies max(const T&, const T&) to the elements of the provided array in sequence and returns the result.
template<typename T , std::size_t N>
and_reduce (const array< T, N > &source)
 Applies operator&&(const T&, const T&) to the elements of the provided array in sequence and returns the result.
template<typename T , std::size_t N>
ior_reduce (const array< T, N > &source)
 Applies operator||(const T&, const T&) to the elements of the provided array in sequence and returns the result.
template<typename T , std::size_t N>
xor_reduce (const array< T, N > &source)
 Applies operator!=(const T&, const T&) to the elements of the provided array in sequence and returns the result.
template<std::size_t M, typename T , std::size_t N>
array< T, M > resize (const array< T, N > &a, const T &value)
 Returns an arbb::array with M elements, copying the first min(M, N) elements from a, and filling any remaining elements with value.
template<std::size_t M, typename T , std::size_t N>
array< T, M > resize (const array< T, N > &a)
 Returns an arbb::array with M elements, copying the first min(M, N) elements from a, and filling any remaining elements with T().
template<typename T , std::size_t M, std::size_t N>
array< T, M+N > cat (const array< T, M > &a, const array< T, N > &b)
 Returns an arbb::array with M + N elements consisting of the concatention of a and b.
template<typename Dest , typename Source , std::size_t N>
array< Dest, N > bitwise_cast (const array< Source, N > &value)
 Applies bitwise_cast<Dest>(const Source&) to all elements of the provided array and returns the result in order.
template<typename U , std::size_t N>
detail::disable_if
<!detail::is_uncaptured_scalar
< U >::value, array< typename
captured< U >::type, N >
>::type 
select (const array< typename boolean_type< typename captured< U >::type >::type, N > &condition, const U &true_case, const U &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided arrays and returns the result in order.
template<typename T , std::size_t N>
arbb::boolean any (const array< T, N > &source)
 Returns ior_reduce(source) as a single value.
template<typename T , std::size_t N>
arbb::boolean all (const array< T, N > &source)
 Returns and_reduce(source) as a single value.
template<typename T , std::size_t N>
sum (const array< T, N > &source)
 Returns add_reduce(source) as a single value.
template<typename T , std::size_t N>
product (const array< T, N > &source)
 Returns mul_reduce(source) as a single value.
template<typename T , std::size_t D>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, D > &container, typename uncaptured< T >::type *data, const array< std::size_t, D > &size)
 Binds a dense container of scalars to user data.
template<typename T , std::size_t D>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, D > &container, typename uncaptured< T >::type *data, const array< std::size_t, D > &size, const array< std::size_t, D > &pitch)
 Binds a dense container of scalars to strided user data.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T > &container, typename uncaptured< T >::type *data, std::size_t size)
 Binds a 1D dense container to user data.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 2 > &container, typename uncaptured< T >::type *data, std::size_t width, std::size_t height)
 Binds a 2D dense container of scalars to user data.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 3 > &container, typename uncaptured< T >::type *data, std::size_t width, std::size_t height, std::size_t depth)
 Binds a 3D dense container of scalars to user data.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T > &container, typename uncaptured< T >::type *data, std::size_t size, std::size_t pitch)
 Binds a 1D dense container of scalars to strided user data.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 2 > &container, typename uncaptured< T >::type *data, std::size_t width, std::size_t height, std::size_t col_pitch, std::size_t row_pitch)
 Binds a 2D dense container of scalars to strided user data.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 3 > &container, typename uncaptured< T >::type *data, std::size_t width, std::size_t height, std::size_t depth, std::size_t col_pitch, std::size_t row_pitch, std::size_t page_pitch)
 Binds a 3D dense container of scalars to strided user data.
template<typename T , std::size_t D>
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, D > &container, const array< std::size_t, D > &size, void *member1_data,...)
 Binds a dense container of user-defined type to user data.
template<typename T >
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 1 > &container, const array< std::size_t, 1 > &size, void *member1_data, array< std::size_t, 1 > pitch1,...)
 Binds a dense container of user-defined type to strided user data.
template<typename T >
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 2 > &container, const array< std::size_t, 2 > &size, void *member1_data, array< std::size_t, 2 > pitch1,...)
 Binds a dense container of user-defined type to strided user data.
template<typename T >
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 3 > &container, const array< std::size_t, 3 > &size, void *member1_data, array< std::size_t, 3 > pitch1,...)
 Binds a dense container of user-defined type to strided user data.
template<typename T >
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T > &container, std::size_t size, void *member1_data,...)
 Binds a 1D dense container of user-defined type to user data.
template<typename T >
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 2 > &container, std::size_t width, std::size_t height, void *member1_data,...)
 Binds a 2D dense container of user-defined type to user data.
template<typename T >
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 3 > &container, std::size_t width, std::size_t height, std::size_t depth, void *member1_data,...)
 Binds a 3D dense container of user-defined type to user data.
template<typename T >
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T > &container, std::size_t size, void *member1_data, std::size_t pitch1,...)
 Binds a 1D dense container of user-defined type to strided user data.
template<typename T >
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 2 > &container, std::size_t width, std::size_t height, void *member1_data, std::size_t col_pitch1, std::size_t row_pitch1,...)
 Binds a 2D dense container of user-defined type to strided user data.
template<typename T >
detail::disable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< T, 3 > &container, std::size_t width, std::size_t height, std::size_t depth, void *member1_data, std::size_t col_pitch1, std::size_t row_pitch1, std::size_t page_pitch1,...)
 Binds a 3D dense container of user-defined type to strided user data.
template<typename T , std::size_t D, std::size_t N>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< array< T, N >, D > &container, typename uncaptured< T >::type *data, const array< std::size_t, D > &size)
 Binds a dense container of array-of-scalar type to user data.
template<typename T , std::size_t D, std::size_t N>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< array< T, N >, D > &container, typename uncaptured< T >::type *data, const array< std::size_t, D > &size, const array< std::size_t, D > &record_pitch, std::size_t element_pitch)
 Binds a dense container of array-of-scalar type to strided user data.
template<typename T , std::size_t N>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< array< T, N >, 1 > &container, typename uncaptured< T >::type *data, std::size_t size)
 Binds a 1D dense container of array-of-scalar type to user data.
template<typename T , std::size_t N>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< array< T, N >, 2 > &container, typename uncaptured< T >::type *data, std::size_t width, std::size_t height)
 Binds a 2D dense container of array-of-scalar type to user data.
template<typename T , std::size_t N>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< array< T, N >, 3 > &container, typename uncaptured< T >::type *data, std::size_t width, std::size_t height, std::size_t depth)
 Binds a 3D dense container of array-of-scalar type to user data.
template<typename T , std::size_t N>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< array< T, N >, 1 > &container, typename uncaptured< T >::type *data, std::size_t size, std::size_t record_pitch, std::size_t element_pitch)
 Binds a 1D dense container of array-of-scalar type to strided user data.
template<typename T , std::size_t N>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< array< T, N >, 2 > &container, typename uncaptured< T >::type *data, std::size_t width, std::size_t height, std::size_t col_pitch, std::size_t row_pitch, std::size_t element_pitch)
 Binds a 2D dense container of array-of-scalar type to strided user data.
template<typename T , std::size_t N>
detail::enable_if
< detail::is_scalar< T >
::value >::type 
bind (dense< array< T, N >, 3 > &container, typename uncaptured< T >::type *data, std::size_t width, std::size_t height, std::size_t depth, std::size_t col_pitch, std::size_t row_pitch, std::size_t page_pitch, std::size_t element_pitch)
 Binds a 3D dense container of array-of-scalar type to strided user data.
template<typename FunctionType >
closure< FunctionType > call (FunctionType function)
 Returns an arbb::closure corresponding to function that can be used to perform the computations expressed in function.
template<typename FunctionType >
closure< FunctionType > capture (FunctionType function)
 Captures all Intel(R) ArBB operations in function by executing it in C++, and returns a closure representing the operations executed.
template<typename T >
internal detail::disable_if
<!detail::collective_val_enabled
< T >::value, typename
detail::reduced< T >::type >
::type 
add_reduce (const T &source, unsigned int level=0)
 Sums the values in source along level.
template<typename T >
detail::disable_if
<!detail::collective_val_enabled
< T >::value, typename
detail::reduced< T >::type >
::type 
mul_reduce (const T &source, unsigned int level=0)
 Multiplies the values in source along level.
template<typename T >
detail::disable_if
<!detail::collective_enabled
< T >::value, typename
detail::reduced< T >::type >
::type 
min_reduce (const T &source, unsigned int level=0)
 Computes the minimum of source along level.
template<typename T >
detail::disable_if
<!detail::collective_enabled
< T >::value, typename
detail::reduced< T >::type >
::type 
max_reduce (const T &source, unsigned int level=0)
 Computes the maximum of source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, typename
detail::reduced< T >::type >
::type 
and_reduce (const T &source, unsigned int level=0)
 Performs a logical and of all the elements in source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, typename
detail::reduced< T >::type >
::type 
ior_reduce (const T &source, unsigned int level=0)
 Performs a logical or of all the elements in source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, typename
detail::reduced< T >::type >
::type 
xor_reduce (const T &source, unsigned int level=0)
 Performs a logical xor of all the elements in source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, boolean >::type 
any (const T &source)
 Computes the logical or of source along all dimensions.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, boolean >::type 
all (const T &source)
 Computes the logical and of source along all dimensions.
template<typename T >
detail::disable_if
<!detail::collective_enabled
< T >::value, typename
detail::container_traits< T >
::element_type >::type 
sum (const T &source)
 Computes the sum of source along all dimensions.
template<typename T , std::size_t D>
detail::disable_if
<!detail::collective_enabled
< dense< T, D > >::value,
typename detail::reduced
< dense< T, D > >::type >
::type 
min_reduce (const dense< T, D > &source, typename detail::reduced< dense< usize, D > >::type &loc, unsigned int level=0)
 Computes the minimum of source along level, and stores the locations of these minima in loc.
template<typename T , std::size_t D>
detail::disable_if
<!detail::collective_enabled
< dense< T, D > >::value,
typename detail::reduced
< dense< T, D > >::type >
::type 
max_reduce (const dense< T, D > &source, typename detail::reduced< dense< usize, D > >::type &loc, unsigned int level=0)
 Computes the maximum of source along level, and stores the locations of these maxima in loc.
template<typename T >
detail::disable_if
<!detail::collective_val_enabled
< T >::value, T >::type 
add_scan (const T &source, unsigned int level=0)
 Computes the prefix sum of source along level.
template<typename T >
detail::disable_if
<!detail::collective_val_enabled
< T >::value, T >::type 
add_iscan (const T &source, unsigned int level=0)
 Computes the prefix sum of source along level.
template<typename T >
detail::disable_if
<!detail::collective_val_enabled
< T >::value, T >::type 
mul_scan (const T &source, unsigned int level=0)
 Computes the prefix product of source along level.
template<typename T >
detail::disable_if
<!detail::collective_val_enabled
< T >::value, T >::type 
mul_iscan (const T &source, unsigned int level=0)
 Computes the prefix product of source along level.
template<typename T >
detail::disable_if
<!detail::collective_val_enabled
< T >::value, T >::type 
min_scan (const T &source, unsigned int level=0)
 Computes a minimum scan of source along level.
template<typename T >
detail::disable_if
<!detail::collective_val_enabled
< T >::value, T >::type 
min_iscan (const T &source, unsigned int level=0)
 Computes a minimum scan of source along level.
template<typename T >
detail::disable_if
<!detail::collective_val_enabled
< T >::value, T >::type 
max_scan (const T &source, unsigned int level=0)
 Computes a maximum scan of source along level.
template<typename T >
detail::disable_if
<!detail::collective_val_enabled
< T >::value, T >::type 
max_iscan (const T &source, unsigned int level=0)
 Computes a maximum scan of source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, T >::type 
and_scan (const T &source, unsigned int level=0)
 Computes a logical and scan of source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, T >::type 
and_iscan (const T &source, unsigned int level=0)
 Computes a logical and scan of source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, T >::type 
ior_scan (const T &source, unsigned int level=0)
 Computes a logical or scan of source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, T >::type 
ior_iscan (const T &source, unsigned int level=0)
 Computes a logical or scan of source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, T >::type 
xor_scan (const T &source, unsigned int level=0)
 Computes a logical xor scan of source along level.
template<typename T >
detail::disable_if
<!detail::collective_bool_enabled
< T >::value, T >::type 
xor_iscan (const T &source, unsigned int level=0)
 Computes a logical xor scan of source along level.
template<arbb_scalar_type_t T>
std::complex< scalar< T > > select (const arbb::boolean &flag, const std::complex< scalar< T > > &src1, const std::complex< scalar< T > > &src2)
 If flag is true, returns src1, otherwise returns src2.
template<typename T >
void expect_size (const dense< T, 1 > &container, std::size_t width)
template<typename T >
void expect_size (const dense< T, 2 > &container, std::size_t width, std::size_t height)
template<typename T >
void expect_size (const dense< T, 3 > &container, std::size_t width, std::size_t height, std::size_t depth)
template<typename T , std::size_t D>
void expect_size (const dense< T, D > &container, const array< std::size_t, D > &size)
template<typename T >
dense< T, 1 > shift (const dense< T, 1 > &source, const isize &distance, const T &value)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
shift (const dense< T, 1 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with svalue.
template<typename T >
dense< T, 1 > shift (const dense< T, 1 > &source, const isize &distance)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with default values.
template<typename T >
dense< T, 1 > shift_sticky (const dense< T, 1 > &source, const isize &distance)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses clamped to be within bounds.
template<typename T >
dense< T, 2 > shift (const dense< T, 2 > &source, const isize &ncol, const isize &nrow, const T &value)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses replaced with value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
shift (const dense< T, 2 > &source, const isize &ncol, const isize &nrow, const typename uncaptured< T >::type &svalue)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses replaced with svalue.
template<typename T >
dense< T, 2 > shift (const dense< T, 2 > &source, const isize &ncol, const isize &nrow)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses replaced with default values.
template<typename T >
dense< T, 2 > shift_sticky (const dense< T, 2 > &source, const isize &ncol, const isize &nrow)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses clamped to be within bounds.
template<typename T >
dense< T, 3 > shift (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage, const T &value)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses replaced with value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
shift (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage, const typename uncaptured< T >::type &svalue)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses replaced with svalue.
template<typename T >
dense< T, 3 > shift (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses replaced with default values.
template<typename T >
dense< T, 3 > shift_sticky (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses clamped to be within bounds.
template<typename T >
dense< T, 2 > shift_row (const dense< T, 2 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, 0, distance, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
shift_row (const dense< T, 2 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, 0, distance, svalue).
template<typename T >
dense< T, 2 > shift_row (const dense< T, 2 > &source, const isize &distance)
 Equivalent to shift(source, 0, distance).
template<typename T >
dense< T, 3 > shift_row (const dense< T, 3 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, 0, distance, 0, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
shift_row (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, 0, distance, 0, svalue).
template<typename T >
dense< T, 3 > shift_row (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift(source, 0, distance, 0).
template<typename T >
dense< T, 2 > shift_row_sticky (const dense< T, 2 > &source, const isize &distance)
 Equivalent to shift_sticky(source, 0, distance).
template<typename T >
dense< T, 3 > shift_row_sticky (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift_sticky(source, 0, distance, 0).
template<typename T >
dense< T, 2 > shift_col (const dense< T, 2 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, distance, 0, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
shift_col (const dense< T, 2 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, distance, 0, svalue).
template<typename T >
dense< T, 2 > shift_col (const dense< T, 2 > &source, const isize &distance)
 Equivalent to shift(source, distance, 0).
template<typename T >
dense< T, 3 > shift_col (const dense< T, 3 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, distance, 0, 0, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
shift_col (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, distance, 0, 0, svalue).
template<typename T >
dense< T, 3 > shift_col (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift(source, distance, 0, 0).
template<typename T >
dense< T, 2 > shift_col_sticky (const dense< T, 2 > &source, const isize &distance)
 Equivalent to shift_sticky(source, distance, 0).
template<typename T >
dense< T, 3 > shift_col_sticky (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift_sticky(source, distance, 0, 0).
template<typename T >
dense< T, 3 > shift_page (const dense< T, 3 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, 0, 0, distance, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
shift_page (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, 0, 0, distance, svalue).
template<typename T >
dense< T, 3 > shift_page (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift(source, 0, 0, distance).
template<typename T >
dense< T, 3 > shift_page_sticky (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift_sticky(source, 0, 0, distance).
template<typename T >
dense< T, 1 > rotate (const dense< T, 1 > &source, const isize &distance)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses wrapped to be within bounds.
template<typename T >
dense< T, 2 > rotate (const dense< T, 2 > &source, const isize &ncol, const isize &nrow)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses wrapped to be within bounds.
template<typename T >
dense< T, 3 > rotate (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses wrapped to be within bounds.
template<typename T >
detail::disable_if
< detail::is_uncaptured_scalar
< T >::value, dense< T, 1 >
>::type 
fill (const T &value, const usize &length)
 Returns a dense container of size length filled with value.
template<typename T >
detail::disable_if
< detail::is_uncaptured_scalar
< T >::value, dense< T, 2 >
>::type 
fill (const T &value, const usize &width, const usize &height)
 Returns a dense container of size {width, height} filled with value.
template<typename T >
detail::disable_if
< detail::is_uncaptured_scalar
< T >::value, dense< T, 3 >
>::type 
fill (const T &value, const usize &width, const usize &height, const usize &depth)
 Returns a dense container of size {width, height, depth} filled with value.
template<typename T >
detail::enable_if
< detail::is_uncaptured_scalar
< T >::value, dense< typename
captured< T >::type, 1 >
>::type 
fill (const T &value, const array< usize, 1 > &size)
 Returns a one-dimensional dense container of size size filled with value.
template<typename T >
detail::enable_if
< detail::is_uncaptured_scalar
< T >::value, dense< typename
captured< T >::type, 2 >
>::type 
fill (const T &value, const array< usize, 2 > &size)
 Returns a two-dimensional dense container of size size filled with value.
template<typename T >
detail::enable_if
< detail::is_uncaptured_scalar
< T >::value, dense< typename
captured< T >::type, 3 >
>::type 
fill (const T &value, const array< usize, 3 > &size)
 Returns a three-dimensional dense container of size size filled with value.
template<typename T >
dense< T, 1 > scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const dense< T, 1 > &defaults)
 Returns a dense container with the same size as defaults, data from source scattered into the locations in index, and elements set to the corresponding elements in defaults if not otherwise initialized.
template<typename T >
dense< T, 1 > scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const usize &sparse_length, const T &value)
 Returns a dense container with a size of sparse_length, data from source scattered into the locations in index, and elements set to value if not otherwise initialized.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const usize &sparse_length, const typename uncaptured< T >::type &svalue)
 Returns a dense container with a size of sparse_length, data from source scattered into the locations in index, and elements set to svalue if not otherwise initialized.
template<typename T >
dense< T, 1 > scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const usize &sparse_length)
 Returns a dense container with a size of sparse_length, data from source scattered into the locations in index, and elements set to T(), unless initialized otherwise.
template<typename T >
dense< T, 2 > scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const dense< T, 2 > &defaults)
 Returns a dense container with the same size as defaults, data from source scattered into the locations in index, and elements set to the corresponding elements in defaults if not otherwise initialized.
template<typename T >
dense< T, 2 > scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const usize &ncols, const usize &nrows, const T &value)
 Returns a dense container with a size of {ncols, nrows}, data from source scattered into the locations in index, and elements set to value, unless initialized otherwise.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const usize &ncols, const usize &nrows, const typename uncaptured< T >::type &svalue)
 Returns a dense container with a size of {ncols, nrows}, data from source scattered into the locations in index, and elements set to svalue, unless initialized otherwise.
template<typename T >
dense< T, 2 > scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const usize &ncols, const usize &nrows)
 Returns a dense container with a size of {ncols, nrows}, data from source scattered into the locations in index, and elements set to T(), unless initialized otherwise.
template<typename T >
dense< T, 3 > scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const dense< T, 3 > &defaults)
 Returns a dense container with the same size as defaults, data from source scattered into the locations in index, and elements set to the corresponding elements in defaults, unless initialized otherwise.
template<typename T >
dense< T, 3 > scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const usize &ncols, const usize &nrows, const usize &npages, const T &value)
 Returns a dense container with a size of {ncols, nrows, npage}, data from source scattered into the locations in index, and elements set to value, unless initialized otherwise.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const usize &ncols, const usize &nrows, const usize &npages, const typename uncaptured< T >::type &svalue)
 Returns a dense container with a size of {ncols, nrows, npage}, data from source scattered into the locations in index, and elements set to svalue, unless initialized otherwise.
template<typename T >
dense< T, 3 > scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const usize &ncols, const usize &nrows, const usize &npages)
 Returns a dense container with a size of {ncols, nrows, npage}, data from source scattered into the locations in index, and elements set to T(), unless initialized otherwise.
template<typename T >
dense< T, 1 > unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask, const T &value)
 Equivalent to select(mask, source, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask, const typename uncaptured< T >::type &svalue)
 Equivalent to select(mask, source, svalue).
template<typename T >
dense< T, 1 > unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask)
 Equivalent to select(mask, source, T()).
template<typename T >
dense< T, 1 > pack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask)
 Returns a dense container containing all elements from source whose corresponding entry in mask is true, in order.
template<typename T >
dense< T, 1 > repeat (const dense< T, 1 > &source, const usize &times, bool collate=true)
 Returns a dense container with a size of times * source.size() containing times copies of source.
template<typename T >
dense< T, 1 > repeat (const dense< T, 1 > &source, const dense< usize, 1 > &times)
 Returns a dense container with each element from source replicated a number of times equal to the corresponding element of times.
template<typename T >
dense< T, 2 > repeat_row (const dense< T, 1 > &source, const usize &nrows)
 Returns a two-dimensional dense container with nrows rows, where each row contains a copy of source.
template<typename T >
dense< T, 2 > repeat_col (const dense< T, 1 > &source, const usize &ncols)
 Returns a two-dimensional dense container with ncols columns, where each column contains a copy of source.
template<typename T >
dense< T, 3 > repeat_page (const dense< T, 2 > &source, const usize &npages)
 Returns a three-dimensional dense container with npages pages, where each page contains a copy of source.
template<typename T >
dense< T, 1 > shuffle (const dense< T, 1 > &source1, const dense< T, 1 > &source2, const usize &grain)
 Returns a dense container with grain elements alternately drawn from source1 and source2.
template<typename T >
dense< T, 1 > unshuffle (const dense< T, 1 > &source, const usize &grain)
 Partitions source into two containers, each having an alternating grain elements from source, and returns the two containers concatenated in order.
template<typename T >
dense< T, 1 > reverse (const dense< T, 1 > &source)
 Returns a dense container with the same size as source containing the elements of source in the reverse order.
template<typename T >
dense< T, 1 > gather (const dense< T, 1 > &source, const dense< usize, 1 > &index, const T &value)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
gather (const dense< T, 1 > &source, const dense< usize, 1 > &index, const typename uncaptured< T >::type &svalue)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to svalue.
template<typename T >
dense< T, 1 > gather (const dense< T, 1 > &source, const dense< usize, 1 > &index)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to T().
template<typename T >
dense< T, 2 > gather (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const T &value)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
gather (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const typename uncaptured< T >::type &svalue)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to svalue.
template<typename T >
dense< T, 2 > gather (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to T().
template<typename T >
dense< T, 3 > gather (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const T &value)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
gather (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const typename uncaptured< T >::type &svalue)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to svalue.
template<typename T >
dense< T, 3 > gather (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to T().
template<typename T >
dense< T, 1 > cat (const dense< T, 1 > &source1, const dense< T, 1 > &source2)
 Returns the concatenation of source1 followed by source2.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
indices (const T &start, const usize &nelts, const T &stride)
 Returns a dense container with a size of nelts containing an increasing sequence of values beginning with start and incrementing by stride between elements.
template<typename T >
dense< T, 1 > replace (const dense< T, 1 > &source, const usize &index, const T &value)
 Returns a dense container with the same size and values as source, but with the element at index replaced by value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
replace (const dense< T, 1 > &source, const usize &index, const typename uncaptured< T >::type &svalue)
 Returns a dense container with the same size and values as source, but with the element at index replaced by svalue.
template<typename T >
dense< T, 1 > replace (const dense< T, 1 > &source, const usize &start, const usize &nelts, const usize &stride, const T &value)
 Returns a dense container with the same size and values as source, but with nelts elements beginning at start and incrementing by stride replaced by value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
replace (const dense< T, 1 > &source, const usize &start, const usize &nelts, const usize &stride, const typename uncaptured< T >::type &svalue)
 Returns a dense container with the same size and values as source, but with nelts elements beginning at start and incrementing by stride replaced by svalue.
template<typename T >
dense< T, 1 > replace (const dense< T, 1 > &source, const usize &start, const usize &nelts, const usize &stride, const dense< T, 1 > &value)
 Returns a dense container with the same size and values as source, but with nelts elements beginning at start and incrementing by stride replaced by elements from value, which must be nelts in size.
template<typename T >
dense< T, 2 > replace_row (const dense< T, 2 > &source, const usize &row, const dense< T, 1 > &value)
 Returns a dense container with the same size and values as source, but with the row at index row replaced by elements from value.
template<typename T >
dense< T, 2 > replace_col (const dense< T, 2 > &source, const usize &col, const dense< T, 1 > &value)
 Returns a dense container with the same size and values as source, but with the column at index col replaced by elements from value.
template<typename T >
dense< T, 2 > replace (const dense< T, 2 > &source, const usize &col, const usize &row, const T &value)
 Returns a dense container with the same size and values as source, but with the element at index {col, row} replaced by value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
replace (const dense< T, 2 > &source, const usize &col, const usize &row, const typename uncaptured< T >::type &svalue)
 Returns a dense container with the same size and values as source, but with the element at index {col, row} replaced by svalue.
template<typename T >
dense< T, 2 > replace (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &start_row, const usize &nrows, const dense< T, 2 > &values)
 Returns a dense container with the same size and values as source, but with the elements starting at index {start_col, start_row} replaced by the elements in values.
template<typename T >
dense< T, 2 > replace (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &col_pitch, const usize &start_row, const usize &nrows, const usize &row_pitch, const dense< T, 2 > &values)
 Returns a dense container with the same size and values as source, but with the elements starting at index {start_col, start_row} moving in increments of {col_pitch, row_pitch} replaced by the elements in values.
template<typename T >
dense< T, 3 > replace (const dense< T, 3 > &source, const usize &col, const usize &row, const usize &page, const T &value)
 Returns a dense container with the same size and values as source, but with the element at index {col, row, page} replaced by value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
replace (const dense< T, 3 > &source, const usize &col, const usize &row, const usize &page, const typename uncaptured< T >::type &svalue)
 Returns a dense container with the same size and values as source, but with the element at index {col, row, page} replaced by svalue.
template<typename T >
dense< T, 3 > replace_row (const dense< T, 3 > &source, const usize &row, const usize &page, const dense< T, 1 > &values)
 Returns a dense container with the same size and values as source, but with the row at index row in the page at index page replaced by values.
template<typename T >
dense< T, 3 > replace_col (const dense< T, 3 > &source, const usize &col, const usize &page, const dense< T, 1 > &values)
 Returns a dense container with the same size and values as source, but with the column at index column in the page at index page replaced by values.
template<typename T >
dense< T, 3 > replace_dim3 (const dense< T, 3 > &source, const usize &col, const usize &row, const dense< T, 1 > &values)
 Returns a dense container with the same size and values as source, but with the pillar at column col and row row replaced by values.
template<typename T >
dense< T, 3 > replace_page (const dense< T, 3 > &source, const usize &page, const dense< T, 2 > &value)
 Returns a dense container with the same size and values as source, but with the page at index page replaced by value.
template<typename T >
dense< T, 2 > swap_rows (const dense< T, 2 > &source, const usize &row1, const usize &row2)
 Returns a dense container with the same size and values as source, but with the rows at row1 and row2 swapped.
template<typename T >
dense< T, 3 > swap_rows (const dense< T, 3 > &source, const usize &row1, const usize &row2)
 Returns a dense container with the same size and values as source, but with the rows at row1 and row2 swapped.
template<typename T >
dense< T, 2 > swap_cols (const dense< T, 2 > &source, const usize &col1, const usize &col2)
 Returns a dense container with the same size and values as source, but with the columns at col1 and col2 swapped.
template<typename T >
dense< T, 3 > swap_cols (const dense< T, 3 > &source, const usize &col1, const usize &col2)
 Returns a dense container with the same size and values as source, but with the columns at col1 and col2 swapped.
template<typename T >
dense< T, 3 > swap_pages (const dense< T, 3 > &source, const usize &page1, const usize &page2)
 Returns a dense container with the same size and values as source, but with the pages at page1 and page2 swapped.
template<typename T >
dense< T, 2 > transpose (const dense< T, 2 > &source)
 Returns a dense container R such that R(i, j) = source(j, i).
template<typename T >
dense< T, 3 > transpose (const dense< T, 3 > &source)
 Returns a dense container R such that R(i, j, k) = source(j, i, k).
template<typename T >
dense< T, 1 > section (const dense< T, 1 > &source, const usize &first, const usize &nelts, const usize &stride=1)
 Returns a dense container with a size of nelts containing the elements obtained from source starting at index first incrementing by steps of stride.
template<typename T >
dense< T, 2 > section (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &start_row, const usize &nrows)
 Returns a dense container with a size of {ncols, nrows} containing the elements obtained from source starting at index {start_col, start_row}.
template<typename T >
dense< T, 2 > section (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &col_pitch, const usize &start_row, const usize &nrows, const usize &row_pitch)
 Returns a dense container with a size of {ncols, nrows} containing the elements obtained from source starting at index {start_col, start_row} incrementing by steps of col_pitch and row_pitch in each dimension respectively.
template<typename T >
dense< T, 3 > section (const dense< T, 3 > &source, const usize &start_col, const usize &ncols, const usize &start_row, const usize &nrows, const usize &start_page, const usize &npages)
 Returns a dense container with a size of {ncols, nrows, npages} containing the elements obtained from source starting at index {start_col, start_row, start_page}.
template<typename T >
dense< T, 3 > section (const dense< T, 3 > &source, const usize &start_col, const usize &ncols, const usize &col_pitch, const usize &start_row, const usize &nrows, const usize &row_pitch, const usize &start_page, const usize &npages, const usize &page_pitch)
 Returns a dense container with a size of {ncols, nrows, npages} containing the elements obtained from source starting at index {start_col, start_row, start_page} incrementing by steps of col_pitch, row_pitch and page_pitch in each dimension, respectively.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
sort (const dense< T, 1 > &source, dense< usize, 1 > &rank, sort_direction direction=sort_ascending)
 Returns a copy of source sorted in the given direction, storing the location from which each element in the result vector was retrieved in the corresponding element of rank.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
sort (const dense< T, 1 > &source, sort_direction direction=sort_ascending)
 Returns a copy of source sorted in the given direction.
u64 wall_clock ()
 Retrieves the current platform-specific time.
dense< boolean, 1 > mask (const usize &result_size, const usize &start, const usize &true_count, const usize &stride)
 Returns a dense container with a size of result_size, where true_count elements are set to true every stride elements starting at index start.
template<typename T >
dense< T, 2 > reshape (const dense< T, 1 > &source, const usize &ncols, const usize &nrows)
 Returns a dense container of size {ncols, nrows}, filled with values from source in row-major order.
template<typename T , typename U >
dense< T, 2 > reshape_as (const dense< T, 1 > &source, const dense< U, 2 > &shape)
 Equivalent to reshape(source, shape.width(), shape.height()).
template<typename T >
dense< T, 3 > reshape (const dense< T, 1 > &source, const usize &ncols, const usize &nrows, const usize &npages)
 Returns a dense container of size {ncols, nrows, npages}, filled with values from source in page-major, row-major order.
template<typename T , typename U >
dense< T, 3 > reshape_as (const dense< T, 1 > &source, const dense< U, 3 > &shape)
 Equivalent to reshape(source, shape.width(), shape.height(), shape.depth()).
template<typename T , std::size_t D>
dense< T > add_merge (const dense< T, D > &source, const dense< isize > &indices)
 Returns a dense container with the same size as source, where data from source is scattered according to indices, and collisions are resolved by adding values together.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
abs (const dense< scalar< S >, D > &value)
 Applies abs(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
acos (const dense< scalar< S >, D > &value)
 Applies acos(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
asin (const dense< scalar< S >, D > &value)
 Applies asin(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
atan (const dense< scalar< S >, D > &value)
 Applies atan(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const typename uncaptured< scalar< S > >::type &value, const dense< scalar< S >, D > &minimum, const dense< scalar< S >, D > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &minimum, const dense< scalar< S >, D > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const typename uncaptured< scalar< S > >::type &value, const typename uncaptured< scalar< S > >::type &minimum, const dense< scalar< S >, D > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const dense< scalar< S >, D > &value, const dense< scalar< S >, D > &minimum, const typename uncaptured< scalar< S > >::type &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const typename uncaptured< scalar< S > >::type &value, const dense< scalar< S >, D > &minimum, const typename uncaptured< scalar< S > >::type &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &minimum, const typename uncaptured< scalar< S > >::type &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const dense< scalar< S >, D > &value, const dense< scalar< S >, D > &minimum, const dense< scalar< S >, D > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const scalar< S > &value, const dense< scalar< S >, D > &minimum, const dense< scalar< S >, D > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const dense< scalar< S >, D > &value, const scalar< S > &minimum, const dense< scalar< S >, D > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const scalar< S > &value, const scalar< S > &minimum, const dense< scalar< S >, D > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const dense< scalar< S >, D > &value, const dense< scalar< S >, D > &minimum, const scalar< S > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const scalar< S > &value, const dense< scalar< S >, D > &minimum, const scalar< S > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
clamp (const dense< scalar< S >, D > &value, const scalar< S > &minimum, const scalar< S > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
cos (const dense< scalar< S >, D > &value)
 Applies cos(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
cosh (const dense< scalar< S >, D > &value)
 Applies cosh(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
exp (const dense< scalar< S >, D > &value)
 Applies exp(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
exp10 (const dense< scalar< S >, D > &value)
 Applies exp10(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
floor (const dense< scalar< S >, D > &value)
 Applies floor(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
ceil (const dense< scalar< S >, D > &value)
 Applies ceil(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
log (const dense< scalar< S >, D > &value)
 Applies log(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
log10 (const dense< scalar< S >, D > &value)
 Applies log10(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
rcp (const dense< scalar< S >, D > &value)
 Applies rcp(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
round (const dense< scalar< S >, D > &value)
 Applies round(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
rsqrt (const dense< scalar< S >, D > &value)
 Applies rsqrt(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
sin (const dense< scalar< S >, D > &value)
 Applies sin(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
sinh (const dense< scalar< S >, D > &value)
 Applies sinh(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
sqrt (const dense< scalar< S >, D > &value)
 Applies sqrt(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
tan (const dense< scalar< S >, D > &value)
 Applies tan(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
tanh (const dense< scalar< S >, D > &value)
 Applies tanh(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator! (const dense< boolean, D > &value)
 Applies operator!(const boolean&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator~ (const dense< scalar< S >, D > &value)
 Applies operator~(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_signed
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator- (const dense< scalar< S >, D > &value)
 Applies operator-(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator+ (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator+ (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator+ (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator+ (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator+ (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator+= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &increment)
 Applies operator+=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator+= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &increment)
 Applies operator+=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator+= (dense< scalar< S >, D > &value, const scalar< S > &increment)
 Applies operator+=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator& (const typename uncaptured< scalar< S > >::type &value, const dense< scalar< S >, D > &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator& (const dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator& (const dense< scalar< S >, D > &value, const dense< scalar< S >, D > &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator& (const scalar< S > &value, const dense< scalar< S >, D > &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator& (const dense< scalar< S >, D > &value, const scalar< S > &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator&= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator&=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator&= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &mask)
 Applies operator&=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator&= (dense< scalar< S >, D > &value, const scalar< S > &mask)
 Applies operator&=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
atan2 (const typename uncaptured< scalar< S > >::type &x, const dense< scalar< S >, D > &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
atan2 (const dense< scalar< S >, D > &x, const typename uncaptured< scalar< S > >::type &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
atan2 (const dense< scalar< S >, D > &x, const dense< scalar< S >, D > &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
atan2 (const scalar< S > &x, const dense< scalar< S >, D > &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
atan2 (const dense< scalar< S >, D > &x, const scalar< S > &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< isize, D > compare (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< isize, D > compare (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< isize, D > compare (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< isize, D > compare (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< isize, D > compare (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator/ (const typename uncaptured< scalar< S > >::type &numerator, const dense< scalar< S >, D > &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator/ (const dense< scalar< S >, D > &numerator, const typename uncaptured< scalar< S > >::type &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator/ (const dense< scalar< S >, D > &numerator, const dense< scalar< S >, D > &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator/ (const scalar< S > &numerator, const dense< scalar< S >, D > &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator/ (const dense< scalar< S >, D > &numerator, const scalar< S > &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator/= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &denominator)
 Applies operator/=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator/= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &denominator)
 Applies operator/=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator/= (dense< scalar< S >, D > &value, const scalar< S > &denominator)
 Applies operator/=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
div_tan (const typename uncaptured< scalar< S > >::type &x, const dense< scalar< S >, D > &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
div_tan (const dense< scalar< S >, D > &x, const typename uncaptured< scalar< S > >::type &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
div_tan (const dense< scalar< S >, D > &x, const dense< scalar< S >, D > &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
div_tan (const scalar< S > &x, const dense< scalar< S >, D > &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
div_tan (const dense< scalar< S >, D > &x, const scalar< S > &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator== (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator== (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator== (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator== (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator== (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator>= (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator>= (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator>= (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator>= (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator>= (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator> (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator> (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator> (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator> (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator> (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator| (const typename uncaptured< scalar< S > >::type &value, const dense< scalar< S >, D > &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator| (const dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator| (const dense< scalar< S >, D > &value, const dense< scalar< S >, D > &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator| (const scalar< S > &value, const dense< scalar< S >, D > &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator| (const dense< scalar< S >, D > &value, const scalar< S > &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator|= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator|=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator|= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &mask)
 Applies operator|=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator|= (dense< scalar< S >, D > &value, const scalar< S > &mask)
 Applies operator|=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator<= (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator<= (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator<= (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator<= (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator<= (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator< (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator< (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator< (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator< (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator< (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator&& (const typename uncaptured< boolean >::type &a, const dense< boolean, D > &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator&& (const dense< boolean, D > &a, const typename uncaptured< boolean >::type &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator&& (const dense< boolean, D > &a, const dense< boolean, D > &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator&& (const boolean &a, const dense< boolean, D > &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator&& (const dense< boolean, D > &a, const boolean &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator|| (const typename uncaptured< boolean >::type &a, const dense< boolean, D > &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator|| (const dense< boolean, D > &a, const typename uncaptured< boolean >::type &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator|| (const dense< boolean, D > &a, const dense< boolean, D > &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator|| (const boolean &a, const dense< boolean, D > &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<std::size_t D>
dense< boolean, D > operator|| (const dense< boolean, D > &a, const boolean &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator<< (const typename uncaptured< scalar< S > >::type &value, const dense< scalar< S >, D > &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator<< (const dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator<< (const dense< scalar< S >, D > &value, const dense< scalar< S >, D > &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator<< (const scalar< S > &value, const dense< scalar< S >, D > &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator<< (const dense< scalar< S >, D > &value, const scalar< S > &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator<<= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Applies operator<<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator<<= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &shift_amount)
 Applies operator<<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator<<= (dense< scalar< S >, D > &value, const scalar< S > &shift_amount)
 Applies operator<<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > max (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > max (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > max (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > max (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > max (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > min (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > min (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > min (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > min (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > min (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator% (const typename uncaptured< scalar< S > >::type &dividend, const dense< scalar< S >, D > &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator% (const dense< scalar< S >, D > &dividend, const typename uncaptured< scalar< S > >::type &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator% (const dense< scalar< S >, D > &dividend, const dense< scalar< S >, D > &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator% (const scalar< S > &dividend, const dense< scalar< S >, D > &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator% (const dense< scalar< S >, D > &dividend, const scalar< S > &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator%= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &divisor)
 Applies operator%=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator%= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &divisor)
 Applies operator%=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator%= (dense< scalar< S >, D > &value, const scalar< S > &divisor)
 Applies operator%=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator* (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator* (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator* (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator* (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator* (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator*= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &multiplicand)
 Applies operator*=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator*= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &multiplicand)
 Applies operator*=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator*= (dense< scalar< S >, D > &value, const scalar< S > &multiplicand)
 Applies operator*=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator!= (const typename uncaptured< scalar< S > >::type &a, const dense< scalar< S >, D > &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator!= (const dense< scalar< S >, D > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator!= (const dense< scalar< S >, D > &a, const dense< scalar< S >, D > &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator!= (const scalar< S > &a, const dense< scalar< S >, D > &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< boolean, D > operator!= (const dense< scalar< S >, D > &a, const scalar< S > &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
pow (const typename uncaptured< scalar< S > >::type &base, const dense< scalar< S >, D > &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
pow (const dense< scalar< S >, D > &base, const typename uncaptured< scalar< S > >::type &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
pow (const dense< scalar< S >, D > &base, const dense< scalar< S >, D > &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
pow (const scalar< S > &base, const dense< scalar< S >, D > &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, dense< scalar
< S >, D > >::type 
pow (const dense< scalar< S >, D > &base, const scalar< S > &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator>> (const typename uncaptured< scalar< S > >::type &value, const dense< scalar< S >, D > &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator>> (const dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator>> (const dense< scalar< S >, D > &value, const dense< scalar< S >, D > &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator>> (const scalar< S > &value, const dense< scalar< S >, D > &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator>> (const dense< scalar< S >, D > &value, const scalar< S > &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator>>= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Applies operator>>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator>>= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &shift_amount)
 Applies operator>>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator>>= (dense< scalar< S >, D > &value, const scalar< S > &shift_amount)
 Applies operator>>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator- (const typename uncaptured< scalar< S > >::type &value, const dense< scalar< S >, D > &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator- (const dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator- (const dense< scalar< S >, D > &value, const dense< scalar< S >, D > &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator- (const scalar< S > &value, const dense< scalar< S >, D > &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator- (const dense< scalar< S >, D > &value, const scalar< S > &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator-= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &amount)
 Applies operator-=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator-= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &amount)
 Applies operator-=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator-= (dense< scalar< S >, D > &value, const scalar< S > &amount)
 Applies operator-=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator^ (const typename uncaptured< scalar< S > >::type &value, const dense< scalar< S >, D > &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator^ (const dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator^ (const dense< scalar< S >, D > &value, const dense< scalar< S >, D > &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator^ (const scalar< S > &value, const dense< scalar< S >, D > &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator^ (const dense< scalar< S >, D > &value, const scalar< S > &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator^= (dense< scalar< S >, D > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator^=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator^= (dense< scalar< S >, D > &value, const dense< scalar< S >, D > &mask)
 Applies operator^=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator^= (dense< scalar< S >, D > &value, const scalar< S > &mask)
 Applies operator^=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const typename uncaptured< boolean >::type &condition, const dense< scalar< S >, D > &true_case, const dense< scalar< S >, D > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const dense< boolean, D > &condition, const typename uncaptured< scalar< S > >::type &true_case, const dense< scalar< S >, D > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const typename uncaptured< boolean >::type &condition, const typename uncaptured< scalar< S > >::type &true_case, const dense< scalar< S >, D > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const dense< boolean, D > &condition, const dense< scalar< S >, D > &true_case, const typename uncaptured< scalar< S > >::type &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const typename uncaptured< boolean >::type &condition, const dense< scalar< S >, D > &true_case, const typename uncaptured< scalar< S > >::type &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const dense< boolean, D > &condition, const dense< scalar< S >, D > &true_case, const dense< scalar< S >, D > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const boolean &condition, const dense< scalar< S >, D > &true_case, const dense< scalar< S >, D > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const dense< boolean, D > &condition, const scalar< S > &true_case, const dense< scalar< S >, D > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const boolean &condition, const scalar< S > &true_case, const dense< scalar< S >, D > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const dense< boolean, D > &condition, const dense< scalar< S >, D > &true_case, const scalar< S > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const boolean &condition, const dense< scalar< S >, D > &true_case, const scalar< S > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
dense< scalar< S >, D > select (const dense< boolean, D > &condition, const scalar< S > &true_case, const scalar< S > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator++ (dense< scalar< S >, D > &value)
 Applies operator++(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator++ (dense< scalar< S >, D > &value, int)
 Applies operator++(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > & >::type 
operator-- (dense< scalar< S >, D > &value)
 Applies operator--(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, dense
< scalar< S >, D > >::type 
operator-- (dense< scalar< S >, D > &value, int)
 Applies operator--(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<typename U , std::size_t D>
detail::disable_if
<!detail::is_uncaptured_scalar
< U >::value, dense< typename
captured< U >::type, D >
>::type 
select (const dense< boolean, D > &condition, const U &true_case, const U &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<typename T , arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar< T >
::value, dense< T, D > >::type 
bitwise_cast (const dense< scalar< S >, D > &value)
 Applies bitwise_cast<T>(const scalar<S>&) to all elements of the provided containers and returns the results in order.
template<arbb_scalar_type_t S, std::size_t D>
arbb::detail::disable_if
<!detail::is_scalar_unsigned_int
< scalar< S > >::value, dense
< typename detail::signed_type
< scalar< S > >::type, D >
>::type 
operator- (dense< scalar< S >, D > &value)
 Applies operator-(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
abs (const dense< T, D > &value)
 Applies abs(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
acos (const dense< T, D > &value)
 Applies acos(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
asin (const dense< T, D > &value)
 Applies asin(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
atan (const dense< T, D > &value)
 Applies atan(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
clamp (const dense< T, D > &value, const dense< T, D > &minimum, const dense< T, D > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
clamp (const T &value, const dense< T, D > &minimum, const dense< T, D > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
clamp (const dense< T, D > &value, const T &minimum, const dense< T, D > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
clamp (const T &value, const T &minimum, const dense< T, D > &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
clamp (const dense< T, D > &value, const dense< T, D > &minimum, const T &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
clamp (const T &value, const dense< T, D > &minimum, const T &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
clamp (const dense< T, D > &value, const T &minimum, const T &maximum)
 Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
cos (const dense< T, D > &value)
 Applies cos(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
cosh (const dense< T, D > &value)
 Applies cosh(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
exp (const dense< T, D > &value)
 Applies exp(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
exp10 (const dense< T, D > &value)
 Applies exp10(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
floor (const dense< T, D > &value)
 Applies floor(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
ceil (const dense< T, D > &value)
 Applies ceil(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
log (const dense< T, D > &value)
 Applies log(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
log10 (const dense< T, D > &value)
 Applies log10(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
rcp (const dense< T, D > &value)
 Applies rcp(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
round (const dense< T, D > &value)
 Applies round(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
rsqrt (const dense< T, D > &value)
 Applies rsqrt(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
sin (const dense< T, D > &value)
 Applies sin(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
sinh (const dense< T, D > &value)
 Applies sinh(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
sqrt (const dense< T, D > &value)
 Applies sqrt(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
tan (const dense< T, D > &value)
 Applies tan(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
tanh (const dense< T, D > &value)
 Applies tanh(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator! (const dense< T, D > &value)
 Applies operator!(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator~ (const dense< T, D > &value)
 Applies operator~(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator- (const dense< T, D > &value)
 Applies operator-(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator+ (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator+(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator+ (const T &a, const dense< T, D > &b)
 Applies operator+(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator+ (const dense< T, D > &a, const T &b)
 Applies operator+(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator+= (dense< T, D > &value, const dense< T, D > &increment)
 Applies operator+=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator+= (dense< T, D > &value, const T &increment)
 Applies operator+=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator& (const dense< T, D > &value, const dense< T, D > &mask)
 Applies operator&(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator& (const T &value, const dense< T, D > &mask)
 Applies operator&(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator& (const dense< T, D > &value, const T &mask)
 Applies operator&(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator&= (dense< T, D > &value, const dense< T, D > &mask)
 Applies operator&=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator&= (dense< T, D > &value, const T &mask)
 Applies operator&=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
atan2 (const dense< T, D > &x, const dense< T, D > &y)
 Applies atan2(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
atan2 (const T &x, const dense< T, D > &y)
 Applies atan2(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
atan2 (const dense< T, D > &x, const T &y)
 Applies atan2(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< isize, D >
>::type 
compare (const dense< T, D > &a, const dense< T, D > &b)
 Applies compare(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< isize, D >
>::type 
compare (const T &a, const dense< T, D > &b)
 Applies compare(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< isize, D >
>::type 
compare (const dense< T, D > &a, const T &b)
 Applies compare(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator/ (const dense< T, D > &numerator, const dense< T, D > &denominator)
 Applies operator/(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator/ (const T &numerator, const dense< T, D > &denominator)
 Applies operator/(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator/ (const dense< T, D > &numerator, const T &denominator)
 Applies operator/(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator/= (dense< T, D > &value, const dense< T, D > &denominator)
 Applies operator/=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator/= (dense< T, D > &value, const T &denominator)
 Applies operator/=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
div_tan (const dense< T, D > &x, const dense< T, D > &y)
 Applies div_tan(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
div_tan (const T &x, const dense< T, D > &y)
 Applies div_tan(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
div_tan (const dense< T, D > &x, const T &y)
 Applies div_tan(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator== (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator==(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator== (const T &a, const dense< T, D > &b)
 Applies operator==(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator== (const dense< T, D > &a, const T &b)
 Applies operator==(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator>= (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator>=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator>= (const T &a, const dense< T, D > &b)
 Applies operator>=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator>= (const dense< T, D > &a, const T &b)
 Applies operator>=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator> (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator>(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator> (const T &a, const dense< T, D > &b)
 Applies operator>(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator> (const dense< T, D > &a, const T &b)
 Applies operator>(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator| (const dense< T, D > &value, const dense< T, D > &mask)
 Applies operator|(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator| (const T &value, const dense< T, D > &mask)
 Applies operator|(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator| (const dense< T, D > &value, const T &mask)
 Applies operator|(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator|= (dense< T, D > &value, const dense< T, D > &mask)
 Applies operator|=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator|= (dense< T, D > &value, const T &mask)
 Applies operator|=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator<= (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator<=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator<= (const T &a, const dense< T, D > &b)
 Applies operator<=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator<= (const dense< T, D > &a, const T &b)
 Applies operator<=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator< (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator<(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator< (const T &a, const dense< T, D > &b)
 Applies operator<(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator< (const dense< T, D > &a, const T &b)
 Applies operator<(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator&& (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator&&(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator&& (const T &a, const dense< T, D > &b)
 Applies operator&&(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator&& (const dense< T, D > &a, const T &b)
 Applies operator&&(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator|| (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator||(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator|| (const T &a, const dense< T, D > &b)
 Applies operator||(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator|| (const dense< T, D > &a, const T &b)
 Applies operator||(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator<< (const dense< T, D > &value, const dense< T, D > &shift_amount)
 Applies operator<<(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator<< (const T &value, const dense< T, D > &shift_amount)
 Applies operator<<(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator<< (const dense< T, D > &value, const T &shift_amount)
 Applies operator<<(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator<<= (dense< T, D > &value, const dense< T, D > &shift_amount)
 Applies operator<<=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator<<= (dense< T, D > &value, const T &shift_amount)
 Applies operator<<=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
max (const dense< T, D > &a, const dense< T, D > &b)
 Applies max(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
max (const T &a, const dense< T, D > &b)
 Applies max(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
max (const dense< T, D > &a, const T &b)
 Applies max(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
min (const dense< T, D > &a, const dense< T, D > &b)
 Applies min(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
min (const T &a, const dense< T, D > &b)
 Applies min(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
min (const dense< T, D > &a, const T &b)
 Applies min(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator% (const dense< T, D > &dividend, const dense< T, D > &divisor)
 Applies operator%(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator% (const T &dividend, const dense< T, D > &divisor)
 Applies operator%(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator% (const dense< T, D > &dividend, const T &divisor)
 Applies operator%(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator%= (dense< T, D > &value, const dense< T, D > &divisor)
 Applies operator%=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator%= (dense< T, D > &value, const T &divisor)
 Applies operator%=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator* (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator*(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator* (const T &a, const dense< T, D > &b)
 Applies operator*(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator* (const dense< T, D > &a, const T &b)
 Applies operator*(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator*= (dense< T, D > &value, const dense< T, D > &multiplicand)
 Applies operator*=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator*= (dense< T, D > &value, const T &multiplicand)
 Applies operator*=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator!= (const dense< T, D > &a, const dense< T, D > &b)
 Applies operator!=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator!= (const T &a, const dense< T, D > &b)
 Applies operator!=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< boolean,
D > >::type 
operator!= (const dense< T, D > &a, const T &b)
 Applies operator!=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
pow (const dense< T, D > &base, const dense< T, D > &exponent)
 Applies pow(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
pow (const T &base, const dense< T, D > &exponent)
 Applies pow(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
pow (const dense< T, D > &base, const T &exponent)
 Applies pow(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator>> (const dense< T, D > &value, const dense< T, D > &shift_amount)
 Applies operator>>(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator>> (const T &value, const dense< T, D > &shift_amount)
 Applies operator>>(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator>> (const dense< T, D > &value, const T &shift_amount)
 Applies operator>>(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator>>= (dense< T, D > &value, const dense< T, D > &shift_amount)
 Applies operator>>=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator>>= (dense< T, D > &value, const T &shift_amount)
 Applies operator>>=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator- (const dense< T, D > &value, const dense< T, D > &amount)
 Applies operator-(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator- (const T &value, const dense< T, D > &amount)
 Applies operator-(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator- (const dense< T, D > &value, const T &amount)
 Applies operator-(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator-= (dense< T, D > &value, const dense< T, D > &amount)
 Applies operator-=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator-= (dense< T, D > &value, const T &amount)
 Applies operator-=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator^ (const dense< T, D > &value, const dense< T, D > &mask)
 Applies operator^(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator^ (const T &value, const dense< T, D > &mask)
 Applies operator^(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator^ (const dense< T, D > &value, const T &mask)
 Applies operator^(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator^= (dense< T, D > &value, const dense< T, D > &mask)
 Applies operator^=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator^= (dense< T, D > &value, const T &mask)
 Applies operator^=(const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
select (const dense< boolean, D > &condition, const dense< T, D > &true_case, const dense< T, D > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
select (const boolean &condition, const dense< T, D > &true_case, const dense< T, D > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
select (const dense< boolean, D > &condition, const T &true_case, const dense< T, D > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
select (const boolean &condition, const T &true_case, const dense< T, D > &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
select (const dense< boolean, D > &condition, const dense< T, D > &true_case, const T &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
select (const boolean &condition, const dense< T, D > &true_case, const T &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
select (const dense< boolean, D > &condition, const T &true_case, const T &false_case)
 Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator++ (dense< T, D > &value)
 Applies operator++(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator++ (dense< T, D > &value, int)
 Applies operator++(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
& >::type 
operator-- (dense< T, D > &value)
 Applies operator--(const T&) to all elements of the provided containers and returns the result in order.
template<typename T , std::size_t D>
arbb::detail::disable_if
< detail::is_scalar< T >
::value||detail::is_uncaptured_scalar
< T >::value, dense< T, D >
>::type 
operator-- (dense< T, D > &value, int)
 Applies operator--(const T&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
abs (const nested< scalar< S > > &value)
 Applies abs(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
acos (const nested< scalar< S > > &value)
 Applies acos(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
asin (const nested< scalar< S > > &value)
 Applies asin(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
atan (const nested< scalar< S > > &value)
 Applies atan(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const typename uncaptured< scalar< S > >::type &value, const nested< scalar< S > > &minimum, const nested< scalar< S > > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &minimum, const nested< scalar< S > > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const typename uncaptured< scalar< S > >::type &value, const typename uncaptured< scalar< S > >::type &minimum, const nested< scalar< S > > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const nested< scalar< S > > &value, const nested< scalar< S > > &minimum, const typename uncaptured< scalar< S > >::type &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const typename uncaptured< scalar< S > >::type &value, const nested< scalar< S > > &minimum, const typename uncaptured< scalar< S > >::type &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &minimum, const typename uncaptured< scalar< S > >::type &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const nested< scalar< S > > &value, const nested< scalar< S > > &minimum, const nested< scalar< S > > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const scalar< S > &value, const nested< scalar< S > > &minimum, const nested< scalar< S > > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const nested< scalar< S > > &value, const scalar< S > &minimum, const nested< scalar< S > > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const scalar< S > &value, const scalar< S > &minimum, const nested< scalar< S > > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const nested< scalar< S > > &value, const nested< scalar< S > > &minimum, const scalar< S > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const scalar< S > &value, const nested< scalar< S > > &minimum, const scalar< S > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
clamp (const nested< scalar< S > > &value, const scalar< S > &minimum, const scalar< S > &maximum)
 Applies clamp(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
cos (const nested< scalar< S > > &value)
 Applies cos(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
cosh (const nested< scalar< S > > &value)
 Applies cosh(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
exp (const nested< scalar< S > > &value)
 Applies exp(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
exp10 (const nested< scalar< S > > &value)
 Applies exp10(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
floor (const nested< scalar< S > > &value)
 Applies floor(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
ceil (const nested< scalar< S > > &value)
 Applies ceil(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
log (const nested< scalar< S > > &value)
 Applies log(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
log10 (const nested< scalar< S > > &value)
 Applies log10(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
rcp (const nested< scalar< S > > &value)
 Applies rcp(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
round (const nested< scalar< S > > &value)
 Applies round(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
rsqrt (const nested< scalar< S > > &value)
 Applies rsqrt(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
sin (const nested< scalar< S > > &value)
 Applies sin(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
sinh (const nested< scalar< S > > &value)
 Applies sinh(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
sqrt (const nested< scalar< S > > &value)
 Applies sqrt(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
tan (const nested< scalar< S > > &value)
 Applies tan(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
tanh (const nested< scalar< S > > &value)
 Applies tanh(const scalar<S>&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator! (const nested< boolean > &value)
 Applies operator!(const boolean&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator~ (const nested< scalar< S > > &value)
 Applies operator~(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_signed
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator- (const nested< scalar< S > > &value)
 Applies operator-(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator+ (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator+ (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator+ (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator+ (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator+ (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies operator+(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator+= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &increment)
 Applies operator+=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator+= (nested< scalar< S > > &value, const nested< scalar< S > > &increment)
 Applies operator+=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator+= (nested< scalar< S > > &value, const scalar< S > &increment)
 Applies operator+=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator& (const typename uncaptured< scalar< S > >::type &value, const nested< scalar< S > > &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator& (const nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator& (const nested< scalar< S > > &value, const nested< scalar< S > > &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator& (const scalar< S > &value, const nested< scalar< S > > &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator& (const nested< scalar< S > > &value, const scalar< S > &mask)
 Applies operator&(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator&= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator&=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator&= (nested< scalar< S > > &value, const nested< scalar< S > > &mask)
 Applies operator&=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator&= (nested< scalar< S > > &value, const scalar< S > &mask)
 Applies operator&=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
atan2 (const typename uncaptured< scalar< S > >::type &x, const nested< scalar< S > > &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
atan2 (const nested< scalar< S > > &x, const typename uncaptured< scalar< S > >::type &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
atan2 (const nested< scalar< S > > &x, const nested< scalar< S > > &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
atan2 (const scalar< S > &x, const nested< scalar< S > > &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
atan2 (const nested< scalar< S > > &x, const scalar< S > &y)
 Applies atan2(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< isizecompare (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< isizecompare (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< isizecompare (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< isizecompare (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< isizecompare (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies compare(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator/ (const typename uncaptured< scalar< S > >::type &numerator, const nested< scalar< S > > &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator/ (const nested< scalar< S > > &numerator, const typename uncaptured< scalar< S > >::type &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator/ (const nested< scalar< S > > &numerator, const nested< scalar< S > > &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator/ (const scalar< S > &numerator, const nested< scalar< S > > &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator/ (const nested< scalar< S > > &numerator, const scalar< S > &denominator)
 Applies operator/(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator/= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &denominator)
 Applies operator/=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator/= (nested< scalar< S > > &value, const nested< scalar< S > > &denominator)
 Applies operator/=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator/= (nested< scalar< S > > &value, const scalar< S > &denominator)
 Applies operator/=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
div_tan (const typename uncaptured< scalar< S > >::type &x, const nested< scalar< S > > &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
div_tan (const nested< scalar< S > > &x, const typename uncaptured< scalar< S > >::type &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
div_tan (const nested< scalar< S > > &x, const nested< scalar< S > > &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
div_tan (const scalar< S > &x, const nested< scalar< S > > &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
div_tan (const nested< scalar< S > > &x, const scalar< S > &y)
 Applies div_tan(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator== (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator== (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator== (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator== (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator== (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies operator==(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator>= (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator>= (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator>= (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator>= (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator>= (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies operator>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator> (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator> (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator> (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator> (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator> (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies operator>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator| (const typename uncaptured< scalar< S > >::type &value, const nested< scalar< S > > &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator| (const nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator| (const nested< scalar< S > > &value, const nested< scalar< S > > &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator| (const scalar< S > &value, const nested< scalar< S > > &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator| (const nested< scalar< S > > &value, const scalar< S > &mask)
 Applies operator|(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator|= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator|=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator|= (nested< scalar< S > > &value, const nested< scalar< S > > &mask)
 Applies operator|=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator|= (nested< scalar< S > > &value, const scalar< S > &mask)
 Applies operator|=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator<= (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator<= (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator<= (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator<= (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator<= (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies operator<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator< (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator< (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator< (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator< (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator< (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies operator<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator&& (const uncaptured< boolean >::type &a, const nested< boolean > &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator&& (const nested< boolean > &a, const uncaptured< boolean >::type &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator&& (const nested< boolean > &a, const nested< boolean > &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator&& (const boolean &a, const nested< boolean > &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator&& (const nested< boolean > &a, const boolean &b)
 Applies operator&&(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator|| (const uncaptured< boolean >::type &a, const nested< boolean > &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator|| (const nested< boolean > &a, const uncaptured< boolean >::type &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator|| (const nested< boolean > &a, const nested< boolean > &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator|| (const boolean &a, const nested< boolean > &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
nested< booleanoperator|| (const nested< boolean > &a, const boolean &b)
 Applies operator||(const boolean&, const boolean&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator<< (const typename uncaptured< scalar< S > >::type &value, const nested< scalar< S > > &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator<< (const nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator<< (const nested< scalar< S > > &value, const nested< scalar< S > > &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator<< (const scalar< S > &value, const nested< scalar< S > > &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator<< (const nested< scalar< S > > &value, const scalar< S > &shift_amount)
 Applies operator<<(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator<<= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Applies operator<<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator<<= (nested< scalar< S > > &value, const nested< scalar< S > > &shift_amount)
 Applies operator<<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator<<= (nested< scalar< S > > &value, const scalar< S > &shift_amount)
 Applies operator<<=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > max (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > max (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > max (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > max (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > max (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies max(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > min (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > min (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > min (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > min (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > min (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies min(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator% (const typename uncaptured< scalar< S > >::type &dividend, const nested< scalar< S > > &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator% (const nested< scalar< S > > &dividend, const typename uncaptured< scalar< S > >::type &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator% (const nested< scalar< S > > &dividend, const nested< scalar< S > > &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator% (const scalar< S > &dividend, const nested< scalar< S > > &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator% (const nested< scalar< S > > &dividend, const scalar< S > &divisor)
 Applies operator%(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator%= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &divisor)
 Applies operator%=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator%= (nested< scalar< S > > &value, const nested< scalar< S > > &divisor)
 Applies operator%=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator%= (nested< scalar< S > > &value, const scalar< S > &divisor)
 Applies operator%=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator* (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator* (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator* (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator* (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator* (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies operator*(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator*= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &multiplicand)
 Applies operator*=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator*= (nested< scalar< S > > &value, const nested< scalar< S > > &multiplicand)
 Applies operator*=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator*= (nested< scalar< S > > &value, const scalar< S > &multiplicand)
 Applies operator*=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator!= (const typename uncaptured< scalar< S > >::type &a, const nested< scalar< S > > &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator!= (const nested< scalar< S > > &a, const typename uncaptured< scalar< S > >::type &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator!= (const nested< scalar< S > > &a, const nested< scalar< S > > &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator!= (const scalar< S > &a, const nested< scalar< S > > &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< booleanoperator!= (const nested< scalar< S > > &a, const scalar< S > &b)
 Applies operator!=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
pow (const typename uncaptured< scalar< S > >::type &base, const nested< scalar< S > > &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
pow (const nested< scalar< S > > &base, const typename uncaptured< scalar< S > >::type &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
pow (const nested< scalar< S > > &base, const nested< scalar< S > > &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
pow (const scalar< S > &base, const nested< scalar< S > > &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, nested< scalar
< S > > >::type 
pow (const nested< scalar< S > > &base, const scalar< S > &exponent)
 Applies pow(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator>> (const typename uncaptured< scalar< S > >::type &value, const nested< scalar< S > > &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator>> (const nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator>> (const nested< scalar< S > > &value, const nested< scalar< S > > &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator>> (const scalar< S > &value, const nested< scalar< S > > &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator>> (const nested< scalar< S > > &value, const scalar< S > &shift_amount)
 Applies operator>>(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator>>= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Applies operator>>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator>>= (nested< scalar< S > > &value, const nested< scalar< S > > &shift_amount)
 Applies operator>>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator>>= (nested< scalar< S > > &value, const scalar< S > &shift_amount)
 Applies operator>>=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator- (const typename uncaptured< scalar< S > >::type &value, const nested< scalar< S > > &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator- (const nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator- (const nested< scalar< S > > &value, const nested< scalar< S > > &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator- (const scalar< S > &value, const nested< scalar< S > > &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator- (const nested< scalar< S > > &value, const scalar< S > &amount)
 Applies operator-(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator-= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &amount)
 Applies operator-=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator-= (nested< scalar< S > > &value, const nested< scalar< S > > &amount)
 Applies operator-=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator-= (nested< scalar< S > > &value, const scalar< S > &amount)
 Applies operator-=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator^ (const typename uncaptured< scalar< S > >::type &value, const nested< scalar< S > > &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator^ (const nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator^ (const nested< scalar< S > > &value, const nested< scalar< S > > &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator^ (const scalar< S > &value, const nested< scalar< S > > &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator^ (const nested< scalar< S > > &value, const scalar< S > &mask)
 Applies operator^(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator^= (nested< scalar< S > > &value, const typename uncaptured< scalar< S > >::type &mask)
 Applies operator^=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator^= (nested< scalar< S > > &value, const nested< scalar< S > > &mask)
 Applies operator^=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator^= (nested< scalar< S > > &value, const scalar< S > &mask)
 Applies operator^=(const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const typename uncaptured< boolean >::type &condition, const nested< scalar< S > > &true_case, const nested< scalar< S > > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const nested< boolean > &condition, const typename uncaptured< scalar< S > >::type &true_case, const nested< scalar< S > > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const typename uncaptured< boolean >::type &condition, const typename uncaptured< scalar< S > >::type &true_case, const nested< scalar< S > > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const nested< boolean > &condition, const nested< scalar< S > > &true_case, const typename uncaptured< scalar< S > >::type &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const typename uncaptured< boolean >::type &condition, const nested< scalar< S > > &true_case, const typename uncaptured< scalar< S > >::type &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const nested< boolean > &condition, const nested< scalar< S > > &true_case, const nested< scalar< S > > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const boolean &condition, const nested< scalar< S > > &true_case, const nested< scalar< S > > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const nested< boolean > &condition, const scalar< S > &true_case, const nested< scalar< S > > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const boolean &condition, const scalar< S > &true_case, const nested< scalar< S > > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const nested< boolean > &condition, const nested< scalar< S > > &true_case, const scalar< S > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const boolean &condition, const nested< scalar< S > > &true_case, const scalar< S > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
nested< scalar< S > > select (const nested< boolean > &condition, const scalar< S > &true_case, const scalar< S > &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator++ (nested< scalar< S > > &value)
 Applies operator++(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator++ (nested< scalar< S > > &value, int)
 Applies operator++(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > & >::type 
operator-- (nested< scalar< S > > &value)
 Applies operator--(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, nested
< scalar< S > > >::type 
operator-- (nested< scalar< S > > &value, int)
 Applies operator--(const scalar<S>&) to all elements of the provided containers and returns the result in order.
template<arbb_scalar_type_t s>
arbb::detail::enable_if
< detail::is_scalar_unsigned_int
< scalar< s > >::value, nested
< typename detail::signed_type
< scalar< s > >::type >
>::type 
operator- (const nested< scalar< s > > &value)
 Applies operator-(const scalar<s>&) to all elements of the provided containers and returns the result in order.
template<typename U >
detail::disable_if
<!detail::is_uncaptured_scalar
< U >::value, nested< typename
captured< U >::type > >::type 
select (const nested< boolean > &condition, const U &true_case, const U &false_case)
 Applies select(const scalar<S>&, const scalar<S>&, const scalar<S>&) to all elements of the provided containers and returns the result in order.
bool in_emulation_mode ()
void set_emulation_mode (bool emulation)
void finish ()
 Wait until any previously issued asynchronous operations have completed.
template<typename FunctionType >
unspecified_type< FunctionType > map (FunctionType function)
 Returns an object corresponding to function that can be used to perform the computations expressed in function as a map invocation.
template<typename T , std::size_t D>
detail::disable_if
< detail::is_container< T >
::value, T >::type 
neighbor (const T &source, const array< isize, D > &offset)
 Returns the element from the container corresponding to source in an arbb::map() invocation at the given offset from the current position.
template<typename T >
detail::disable_if
< detail::is_container< T >
::value, T >::type 
neighbor (const T &source, const isize &col)
 Returns the element from the container corresponding to source in an arbb::map() invocation at the an offset of {col, 0, 0} from the current position.
template<typename T >
detail::disable_if
< detail::is_container< T >
::value, T >::type 
neighbor (const T &source, const isize &col, const isize &row)
 Returns the element from the container corresponding to source in an arbb::map() invocation at the an offset of {col, row, 0} from the current position.
template<typename T >
detail::disable_if
< detail::is_container< T >
::value, T >::type 
neighbor (const T &source, const isize &col, const isize &row, const isize &page)
 Return the element from the container corresponding to source in an arbb::map() invocation at the an offset of {col, row, page} from the current position.
void position (usize &col)
 Returns the current position along the first dimension of an arbb::map() invocation into col.
void position (usize &col, usize &row)
 Returns the current position along the first and second dimension of an arbb::map() invocation into {col, row}.
void position (usize &col, usize &row, usize &page)
 Returns the current position along all dimensions of an arbb::map() invocation into {col, row, page}.
template<std::size_t D>
void position (array< usize, D > &pos)
 Returns the current position along the first D dimensions of an arbb::map() invocation into pos.
template<std::size_t D>
array< usize, D > position ()
 Returns the current position along the first D dimensions of an arbb::map() invocation as an arbb::array<usize, D> object.
template<typename T >
nested< T > repeat (const nested< T > &src, const usize &times, const boolean collate=true, const usize &level=usize(0))
 Returns a nested vector containing the elements of src at the given level repeated times times, with collate determining whether multiple copies of the same element are placed contiguously (collate = true) or interleaved (collate = false).
template<typename T >
nested< T > repeat (const nested< T > &src, const nested< usize > &times, const usize &level=usize(0))
 Returns a nested vector containing each element of src at the given level repeated as many times as in the corresponding element at that level in times.
template<typename T >
nested< T > shuffle (const nested< T > &src1, const nested< T > &src2, const usize &grain, const usize &level=usize(0))
 Returns a dense container with grain elements alternately drawn from src1 and src2 at nesting level level.
template<typename T >
nested< T > unshuffle (const nested< T > &src, const usize &grain, const usize &level=usize(0))
 Partitions source into two containers, each having an alternating grain elements from source at nesting level level, and returns the two containers concatenated in order.
template<typename T >
nested< T > reshape_nested_lengths (const dense< T, 1 > &data, const dense< usize, 1 > &lengths)
 Returns a nested container with its elements drawn from data, partitioned into segments with lengths are provided by lengths.
template<typename T , typename U >
nested< T > reshape_as (const dense< T, 1 > &data, const nested< U > &reference)
 Returns a nested container with the same nesting structure as reference, but elements drawn from data.
template<typename T >
nested< T > split (const dense< T, 1 > &source, const dense< isize, 1 > &tristate)
 Returns a nested vector containing up to three segments, with the elements from source corresponding to tristate values of -1, 0, and 1, in that order.
template<typename T >
nested< T > split (const nested< T > &src, const nested< isize > &tristate)
 Returns a nested vector with the source segments split into up to three segments, with the elements from source corresponding to tristate values of -1, 0, and 1, in that order.
template<typename T >
dense< T, 1 > unsplit (const nested< T > &src, const dense< isize, 1 > &tristate)
 Returns the dense container R such that src == split(R, tristate).
template<typename T >
nested< T > unsplit (const nested< T > &src, const nested< isize > &tristate)
 Returns the nested container R such that src == split(R, tristate).
template<typename T >
nested< T > cat (const nested< T > &src1, const nested< T > &src2)
 Returns a nested container with each segment in src1 concatenated before each element in src2.
template<typename T >
nested< T > replace_segment (const nested< T > &src, const usize &i, const dense< T, 1 > &value)
 Returns a nested container with the same segments as src, but the segment at index i replaced by value.
template<typename T >
nested< T > replace (const nested< T > &src, const usize &segment, const usize &element, const T &value)
 Returns a nested container with the same segments as src, but the element at index element of the segment at index segment replaced by value.
template<typename T >
nested< T > unpack (const nested< T > &src, const nested< boolean > &mask, const T &value)
 Returns a nested container with each segment i set to select(mask[i], src[i], value).
template<typename T >
nested< T > unpack (const nested< T > &src, const nested< boolean > &mask, const typename uncaptured< T >::type value)
 Returns a nested container with each segment i set to select(mask[i], src[i], value).
template<typename T >
nested< T > reshape_nested_offsets (const dense< T, 1 > &src, const dense< usize, 1 > &segs)
 Returns a nested container with its elements drawn from src, partitioned into segments which begin at indices corresponding to segs.
template<typename T >
nested< T > reshape_nested_flags (const dense< T, 1 > &src, const dense< boolean, 1 > &flags)
 Returns a nested container with its elements drawn from src, where a new segment is started whenever the corresponding value of flags is true.
template<typename T >
bool operator== (const range_iterator< T > &a, const range_iterator< T > &b)
 Returns true if a points to the same element as b.
template<typename T >
bool operator== (const const_range_iterator< T > &a, const const_range_iterator< T > &b)
 Returns true if a points to the same element as b.
template<typename T >
bool operator!= (const range_iterator< T > &a, const range_iterator< T > &b)
 Returns true if a points to a different element than b.
template<typename T >
bool operator!= (const const_range_iterator< T > &a, const const_range_iterator< T > &b)
 Returns true if a points to a different element than b.
template<typename T >
bool operator< (const range_iterator< T > &a, const range_iterator< T > &b)
 Returns true if a points to an element earlier in the range than b.
template<typename T >
bool operator< (const const_range_iterator< T > &a, const const_range_iterator< T > &b)
 Returns true if a points to an element earlier in the range than b.
template<typename T >
bool operator<= (const range_iterator< T > &a, const range_iterator< T > &b)
 Returns true if a points to an element earlier in the range than or at the same location as b.
template<typename T >
bool operator<= (const const_range_iterator< T > &a, const const_range_iterator< T > &b)
 Returns true if a points to an element earlier in the range than or at the same location as b.
template<typename T >
bool operator> (const range_iterator< T > &a, const range_iterator< T > &b)
 Returns true if a points to an element later in the range than b.
template<typename T >
bool operator> (const const_range_iterator< T > &a, const const_range_iterator< T > &b)
 Returns true if a points to an element later in the range than b.
template<typename T >
bool operator>= (const range_iterator< T > &a, const range_iterator< T > &b)
 Returns true if a points to an element later in the range than or at the same location as b.
template<typename T >
bool operator>= (const const_range_iterator< T > &a, const const_range_iterator< T > &b)
 Returns true if a points to an element later in the range than or at the same location as b.
template<typename T >
range_iterator< T > operator+ (range_iterator< T > a, typename range_iterator< T >::difference_type b)
 Returns an iterator offset b elements from a.
template<typename T >
const_range_iterator< T > operator+ (const_range_iterator< T > a, typename const_range_iterator< T >::difference_type b)
 Returns an iterator offset b elements from a.
template<typename T >
range_iterator< T > operator+ (typename range_iterator< T >::difference_type a, range_iterator< T > b)
 Returns an iterator offset a elements from b.
template<typename T >
const_range_iterator< T > operator+ (typename const_range_iterator< T >::difference_type a, const_range_iterator< T > b)
 Returns an iterator offset a elements from b.
template<typename T >
range_iterator< T >
::difference_type 
operator- (range_iterator< T > a, range_iterator< T > b)
 Returns the offset added to b to obtain a.
template<typename T >
const_range_iterator< T >
::difference_type 
operator- (const_range_iterator< T > a, const_range_iterator< T > b)
 Returns the offset added to b to obtain a.
template<typename T >
range_iterator< T > operator- (range_iterator< T > a, typename range_iterator< T >::difference_type b)
 Returns an iterator offset -b elements from a.
template<typename T >
const_range_iterator< T > operator- (const_range_iterator< T > a, typename const_range_iterator< T >::difference_type b)
 Returns an iterator offset -b elements from a.
template<arbb_scalar_type_t scalar_type>
uncaptured< scalar
< scalar_type > >::type 
value (const scalar< scalar_type > &variable)
 Returns the value stored in a scalar that has been declared outside of a closure capture.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
abs (const scalar< S > &value)
 If value is greater than zero, returns value, otherwise, returns -value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
acos (const scalar< S > &value)
 Returns the arccosine of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
asin (const scalar< S > &value)
 Returns the arcsine of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
atan (const scalar< S > &value)
 Returns the arctangent of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
clamp (const scalar< S > &value, const scalar< S > &minimum, const scalar< S > &maximum)
 Clamps value to the range between minimum and maximum.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
clamp (const scalar< S > &value, const scalar< S > &minimum, const typename uncaptured< scalar< S > >::type &maximum)
 Clamps value to the range between minimum and maximum.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
clamp (const scalar< S > &value, const typename uncaptured< scalar< S > >::type &minimum, const scalar< S > &maximum)
 Clamps value to the range between minimum and maximum.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
clamp (const scalar< S > &value, const typename uncaptured< scalar< S > >::type &minimum, const typename uncaptured< scalar< S > >::type &maximum)
 Clamps value to the range between minimum and maximum.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
clamp (const typename uncaptured< scalar< S > >::type &value, const scalar< S > &minimum, const scalar< S > &maximum)
 Clamps value to the range between minimum and maximum.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
clamp (const typename uncaptured< scalar< S > >::type &value, const scalar< S > &minimum, const typename uncaptured< scalar< S > >::type &maximum)
 Clamps value to the range between minimum and maximum.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
clamp (const typename uncaptured< scalar< S > >::type &value, const typename uncaptured< scalar< S > >::type &minimum, const scalar< S > &maximum)
 Clamps value to the range between minimum and maximum.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
cos (const scalar< S > &value)
 Returns the cosine of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
cosh (const scalar< S > &value)
 Returns the hyperbolic cosine of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
exp (const scalar< S > &value)
 Returns the base-e exponent of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
exp10 (const scalar< S > &value)
 Returns the base-10 exponent of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
floor (const scalar< S > &value)
 Returns value rounded to the nearest integer towards negative infinity.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
ceil (const scalar< S > &value)
 Returns value rounded to the nearest integer towards positive infinity.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
log (const scalar< S > &value)
 Returns the natural logarithm of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
log10 (const scalar< S > &value)
 Returns the base-10 logarithm of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
rcp (const scalar< S > &value)
 Returns the reciprocal of value (1/x).
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
round (const scalar< S > &value)
 Returns value rounded to the nearest integer.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
rsqrt (const scalar< S > &value)
 Returns the reciprocal square root of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
sin (const scalar< S > &value)
 Returns the sine of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
sinh (const scalar< S > &value)
 Returns the hyperbolic sine of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
sqrt (const scalar< S > &value)
 Returns the square root of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
tan (const scalar< S > &value)
 Returns the tangent of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
tanh (const scalar< S > &value)
 Returns the hyperbolic tangent of value.
boolean operator! (const boolean &value)
 If value is true, returns false.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator~ (const scalar< S > &value)
 Returns the bitwise complement of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_signed
< scalar< S > >::value, scalar
< S > >::type 
operator- (const scalar< S > &value)
 Returns the negative of value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator+ (const scalar< S > &a, const scalar< S > &b)
 Adds a to b and returns the result.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator+ (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Adds a to b and returns the result.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator+ (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Adds a to b and returns the result.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator+= (scalar< S > &value, const scalar< S > &increment)
 Increments value by increment and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator+= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &increment)
 Increments value by increment and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator+= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &increment)
 Increments value by increment and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator& (const scalar< S > &value, const scalar< S > &mask)
 Returns the bitwise and of value and mask.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator& (const scalar< S > &value, const typename uncaptured< scalar< S > >::type &mask)
 Returns the bitwise and of value and mask.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator& (const typename uncaptured< scalar< S > >::type &value, const scalar< S > &mask)
 Returns the bitwise and of value and mask.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator&= (scalar< S > &value, const scalar< S > &mask)
 Modifies value by computing its bitwise and with mask, and return the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator&= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &mask)
 Modifies value by computing its bitwise and with mask, and return the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator&= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &mask)
 Modifies value by computing its bitwise and with mask, and return the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
atan2 (const scalar< S > &x, const scalar< S > &y)
 Returns the arctangent of y / x in the same manner as std::atan2().
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
atan2 (const scalar< S > &x, const typename uncaptured< scalar< S > >::type &y)
 Returns the arctangent of y / x in the same manner as std::atan2().
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
atan2 (const typename uncaptured< scalar< S > >::type &x, const scalar< S > &y)
 Returns the arctangent of y / x in the same manner as std::atan2().
template<arbb_scalar_type_t S>
isize compare (const scalar< S > &a, const scalar< S > &b)
 Determines whether a is smaller than, equal to, or greater than b, and returns -1, 0, or 1 respectively.
template<arbb_scalar_type_t S>
isize compare (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Determines whether a is smaller than, equal to, or greater than b, and returns -1, 0, or 1 respectively.
template<arbb_scalar_type_t S>
isize compare (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Determines whether a is smaller than, equal to, or greater than b, and returns -1, 0, or 1 respectively.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator/ (const scalar< S > &numerator, const scalar< S > &denominator)
 Returns numerator divided by denominator.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator/ (const scalar< S > &numerator, const typename uncaptured< scalar< S > >::type &denominator)
 Returns numerator divided by denominator.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator/ (const typename uncaptured< scalar< S > >::type &numerator, const scalar< S > &denominator)
 Returns numerator divided by denominator.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator/= (scalar< S > &value, const scalar< S > &denominator)
 Sets value to value divided by denominator and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator/= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &denominator)
 Sets value to value divided by denominator and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator/= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &denominator)
 Sets value to value divided by denominator and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
div_tan (const scalar< S > &x, const scalar< S > &y)
 Returns tan(y / x).
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
div_tan (const scalar< S > &x, const typename uncaptured< scalar< S > >::type &y)
 Returns tan(y / x).
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
div_tan (const typename uncaptured< scalar< S > >::type &x, const scalar< S > &y)
 Returns tan(y / x).
template<arbb_scalar_type_t S>
boolean operator== (const scalar< S > &a, const scalar< S > &b)
 Returns true if a is equal to b.
template<arbb_scalar_type_t S>
boolean operator== (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Returns true if a is equal to b.
template<arbb_scalar_type_t S>
boolean operator== (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Returns true if a is equal to b.
template<arbb_scalar_type_t S>
boolean operator>= (const scalar< S > &a, const scalar< S > &b)
 Returns true if a is greater than or equal to b.
template<arbb_scalar_type_t S>
boolean operator>= (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Returns true if a is greater than or equal to b.
template<arbb_scalar_type_t S>
boolean operator>= (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Returns true if a is greater than or equal to b.
template<arbb_scalar_type_t S>
boolean operator> (const scalar< S > &a, const scalar< S > &b)
 Returns true if a is strictly greater than b.
template<arbb_scalar_type_t S>
boolean operator> (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Returns true if a is strictly greater than b.
template<arbb_scalar_type_t S>
boolean operator> (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Returns true if a is strictly greater than b.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator| (const scalar< S > &value, const scalar< S > &mask)
 Returns the bitwise or of value and mask.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator| (const scalar< S > &value, const typename uncaptured< scalar< S > >::type &mask)
 Returns the bitwise or of value and mask.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator| (const typename uncaptured< scalar< S > >::type &value, const scalar< S > &mask)
 Returns the bitwise or of value and mask.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator|= (scalar< S > &value, const scalar< S > &mask)
 Modifies value by computing its bitwise or with mask and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator|= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &mask)
 Modifies value by computing its bitwise or with mask and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator|= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &mask)
 Modifies value by computing its bitwise or with mask and returns the modified value.
template<arbb_scalar_type_t S>
boolean operator<= (const scalar< S > &a, const scalar< S > &b)
 Returns true if a is less than or equal to b.
template<arbb_scalar_type_t S>
boolean operator<= (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Returns true if a is less than or equal to b.
template<arbb_scalar_type_t S>
boolean operator<= (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Returns true if a is less than or equal to b.
template<arbb_scalar_type_t S>
boolean operator< (const scalar< S > &a, const scalar< S > &b)
 Returns true if a is strictly less than b.
template<arbb_scalar_type_t S>
boolean operator< (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Returns true if a is strictly less than b.
template<arbb_scalar_type_t S>
boolean operator< (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Returns true if a is strictly less than b.
boolean operator&& (const boolean &a, const boolean &b)
 Returns the logical and of a and b.
boolean operator&& (const boolean &a, const uncaptured< boolean >::type &b)
 Returns the logical and of a and b.
boolean operator&& (const uncaptured< boolean >::type &a, const boolean &b)
 Returns the logical and of a and b.
boolean operator|| (const boolean &a, const boolean &b)
 Returns the logical or of a and b.
boolean operator|| (const boolean &a, const uncaptured< boolean >::type &b)
 Returns the logical or of a and b.
boolean operator|| (const uncaptured< boolean >::type &a, const boolean &b)
 Returns the logical or of a and b.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator<< (const scalar< S > &value, const scalar< S > &shift_amount)
 Returns value shifted left by shift_amount bits.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator<< (const scalar< S > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Returns value shifted left by shift_amount bits.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator<< (const typename uncaptured< scalar< S > >::type &value, const scalar< S > &shift_amount)
 Returns value shifted left by shift_amount bits.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator<<= (scalar< S > &value, const scalar< S > &shift_amount)
 Modifies value by shifting it left by shift_amount bits and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator<<= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Modifies value by shifting it left by shift_amount bits and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator<<= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &shift_amount)
 Modifies value by shifting it left by shift_amount bits and returns the modified value.
template<arbb_scalar_type_t S>
scalar< S > max (const scalar< S > &a, const scalar< S > &b)
 Returns a if a > b.
template<arbb_scalar_type_t S>
scalar< S > max (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Returns a if a > b.
template<arbb_scalar_type_t S>
scalar< S > max (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Returns a if a > b.
template<arbb_scalar_type_t S>
scalar< S > min (const scalar< S > &a, const scalar< S > &b)
 Returns a if a < b.
template<arbb_scalar_type_t S>
scalar< S > min (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Returns a if a < b.
template<arbb_scalar_type_t S>
scalar< S > min (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Returns a if a < b.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator% (const scalar< S > &dividend, const scalar< S > &divisor)
 Returns the remainder of dividend divided by divisor.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator% (const scalar< S > &dividend, const typename uncaptured< scalar< S > >::type &divisor)
 Returns the remainder of dividend divided by divisor.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator% (const typename uncaptured< scalar< S > >::type &dividend, const scalar< S > &divisor)
 Returns the remainder of dividend divided by divisor.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator%= (scalar< S > &value, const scalar< S > &divisor)
 Modifies value by storing in it the remainder of value divided by divisor and returns the modified result.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator%= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &divisor)
 Modifies value by storing in it the remainder of value divided by divisor and returns the modified result.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator%= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &divisor)
 Modifies value by storing in it the remainder of value divided by divisor and returns the modified result.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator* (const scalar< S > &a, const scalar< S > &b)
 Multiplies a with b and returns the result.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator* (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Multiplies a with b and returns the result.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator* (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Multiplies a with b and returns the result.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator*= (scalar< S > &value, const scalar< S > &multiplicand)
 Modifies value by multiplying it by multiplicand and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator*= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &multiplicand)
 Modifies value by multiplying it by multiplicand and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator*= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &multiplicand)
 Modifies value by multiplying it by multiplicand and returns the modified value.
template<arbb_scalar_type_t S>
boolean operator!= (const scalar< S > &a, const scalar< S > &b)
 Returns true if a is not equal to b.
template<arbb_scalar_type_t S>
boolean operator!= (const scalar< S > &a, const typename uncaptured< scalar< S > >::type &b)
 Returns true if a is not equal to b.
template<arbb_scalar_type_t S>
boolean operator!= (const typename uncaptured< scalar< S > >::type &a, const scalar< S > &b)
 Returns true if a is not equal to b.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
pow (const scalar< S > &base, const scalar< S > &exponent)
 Returns base raised to the power of exponent.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
pow (const scalar< S > &base, const typename uncaptured< scalar< S > >::type &exponent)
 Returns base raised to the power of exponent.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_fp< scalar
< S > >::value, scalar< S >
>::type 
pow (const typename uncaptured< scalar< S > >::type &base, const scalar< S > &exponent)
 Returns base raised to the power of exponent.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator>> (const scalar< S > &value, const scalar< S > &shift_amount)
 Returns value shifted right by shift_amount bits.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator>> (const scalar< S > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Returns value shifted right by shift_amount bits.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator>> (const typename uncaptured< scalar< S > >::type &value, const scalar< S > &shift_amount)
 Returns value shifted right by shift_amount bits.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator>>= (scalar< S > &value, const scalar< S > &shift_amount)
 Modifies value by shifting it right by shift_amount bits and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator>>= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &shift_amount)
 Modifies value by shifting it right by shift_amount bits and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator>>= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &shift_amount)
 Modifies value by shifting it right by shift_amount bits and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator- (const scalar< S > &value, const scalar< S > &amount)
 Returns value subtracted by amount.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator- (const scalar< S > &value, const typename uncaptured< scalar< S > >::type &amount)
 Returns value subtracted by amount.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator- (const typename uncaptured< scalar< S > >::type &value, const scalar< S > &amount)
 Returns value subtracted by amount.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator-= (scalar< S > &value, const scalar< S > &amount)
 Modifies value by subtracting it by amount and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator-= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &amount)
 Modifies value by subtracting it by amount and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator-= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &amount)
 Modifies value by subtracting it by amount and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator^ (const scalar< S > &value, const scalar< S > &mask)
 Returns the bitwise xor of value and mask.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator^ (const scalar< S > &value, const typename uncaptured< scalar< S > >::type &mask)
 Returns the bitwise xor of value and mask.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > >::type 
operator^ (const typename uncaptured< scalar< S > >::type &value, const scalar< S > &mask)
 Returns the bitwise xor of value and mask.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator^= (scalar< S > &value, const scalar< S > &mask)
 Modifies value by computing its bitwise xor with mask and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator^= (scalar< S > &value, const typename uncaptured< scalar< S > >::type &mask)
 Modifies value by computing its bitwise xor with mask and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_int
< scalar< S > >::value, scalar
< S > & >::type 
operator^= (typename uncaptured< scalar< S > >::type &value, const scalar< S > &mask)
 Modifies value by computing its bitwise xor with mask and returns the modified value.
template<arbb_scalar_type_t S>
scalar< S > select (const boolean &condition, const scalar< S > &true_case, const scalar< S > &false_case)
 If condition is true, returns true_case.
template<arbb_scalar_type_t S>
scalar< S > select (const typename uncaptured< boolean >::type &condition, const scalar< S > &true_case, const scalar< S > &false_case)
 If condition is true, returns true_case.
template<arbb_scalar_type_t S>
scalar< S > select (const boolean &condition, const scalar< S > &true_case, const typename uncaptured< scalar< S > >::type &false_case)
 If condition is true, returns true_case.
template<arbb_scalar_type_t S>
scalar< S > select (const typename uncaptured< boolean >::type &condition, const scalar< S > &true_case, const typename uncaptured< scalar< S > >::type &false_case)
 If condition is true, returns true_case.
template<arbb_scalar_type_t S>
scalar< S > select (const boolean &condition, const typename uncaptured< scalar< S > >::type &true_case, const scalar< S > &false_case)
 If condition is true, returns true_case.
template<arbb_scalar_type_t S>
scalar< S > select (const typename uncaptured< boolean >::type &condition, const typename uncaptured< scalar< S > >::type &true_case, const scalar< S > &false_case)
 If condition is true, returns true_case.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator++ (scalar< S > &value)
 Modifies value by adding 1 to it and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator++ (scalar< S > &value, int)
 Modifies value by adding 1 to it and returns a copy of the original value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > & >::type 
operator-- (scalar< S > &value)
 Modifies value by subtracting 1 from it and returns the modified value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
< detail::is_scalar_boolean
< scalar< S > >::value, scalar
< S > >::type 
operator-- (scalar< S > &value, int)
 Modifies value by subtracting 1 from it and returns a copy of the original value.
template<typename U >
detail::disable_if
<!detail::is_uncaptured_scalar
< U >::value, typename
captured< U >::type >::type 
select (const boolean &condition, const U &true_case, const U &false_case)
 If condition is true, returns true_case, otherwise returns false_case.
template<typename T , arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar< T >
::value, T >::type 
bitwise_cast (const scalar< S > &value)
 Returns a value that has the same bit pattern as value.
template<arbb_scalar_type_t S>
arbb::detail::disable_if
<!detail::is_scalar_unsigned_int
< scalar< S > >::value,
typename detail::signed_type
< scalar< S > >::type >::type 
operator- (scalar< S > &value)
 Returns the negative of value.

Detailed Description

The Intel(R) ArBB C++ frontend namespace.

All Intel ArBB C++ frontend types and functions are declared within this namespace. The namespace is aliased to arbb, but is really a unique name depending on the version of the frontend used. This allows binaries using multiple frontend versions to be linked together.


Typedef Documentation

The scoped_timer instantiates scoped_timer_impl using the system_time_source.

Definition at line 120 of file scoped_timer.hpp.


Function Documentation

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::clamp ( const T &  value,
const dense< T, D > &  minimum,
const dense< T, D > &  maximum 
) [inline]

Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be clamped.
minimum The minimum value returned.
maximum The maximum value returned.

Definition at line 295 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::clamp ( const dense< T, D > &  value,
const T &  minimum,
const dense< T, D > &  maximum 
) [inline]

Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be clamped.
minimum The minimum value returned.
maximum The maximum value returned.

Definition at line 314 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::clamp ( const T &  value,
const T &  minimum,
const dense< T, D > &  maximum 
) [inline]

Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be clamped.
minimum The minimum value returned.
maximum The maximum value returned.

Definition at line 333 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::clamp ( const dense< T, D > &  value,
const dense< T, D > &  minimum,
const T &  maximum 
) [inline]

Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be clamped.
minimum The minimum value returned.
maximum The maximum value returned.

Definition at line 352 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::clamp ( const T &  value,
const dense< T, D > &  minimum,
const T &  maximum 
) [inline]

Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be clamped.
minimum The minimum value returned.
maximum The maximum value returned.

Definition at line 371 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::clamp ( const dense< T, D > &  value,
const T &  minimum,
const T &  maximum 
) [inline]

Applies clamp(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be clamped.
minimum The minimum value returned.
maximum The maximum value returned.

Definition at line 390 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator+ ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator+(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first value to be added.
b The second value to be added.

Definition at line 1241 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator+ ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator+(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first value to be added.
b The second value to be added.

Definition at line 1259 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator+= ( dense< T, D > &  value,
const T &  increment 
) [inline]

Applies operator+=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be incremented.
increment The amount by which to increment.

Definition at line 1324 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator& ( const T &  value,
const dense< T, D > &  mask 
) [inline]

Applies operator&(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be masked.
mask The mask to be applied to the value using an and.

Definition at line 1395 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator& ( const dense< T, D > &  value,
const T &  mask 
) [inline]

Applies operator&(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be masked.
mask The mask to be applied to the value using an and.

Definition at line 1413 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator&= ( dense< T, D > &  value,
const T &  mask 
) [inline]

Applies operator&=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be masked.
mask The mask to be applied to the value using an and.

Definition at line 1478 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::atan2 ( const T &  x,
const dense< T, D > &  y 
) [inline]

Applies atan2(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

x The denominator of the arctangent expression evaluated.
y The numerator of the arctangent expression evaluated.

Definition at line 1549 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::atan2 ( const dense< T, D > &  x,
const T &  y 
) [inline]

Applies atan2(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

x The denominator of the arctangent expression evaluated.
y The numerator of the arctangent expression evaluated.

Definition at line 1567 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<isize, D> >::type arbb::compare ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies compare(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 1639 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<isize, D> >::type arbb::compare ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies compare(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 1657 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator/ ( const T &  numerator,
const dense< T, D > &  denominator 
) [inline]

Applies operator/(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

numerator The numerator of the division.
denominator The denominator of the division.

Definition at line 1729 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator/ ( const dense< T, D > &  numerator,
const T &  denominator 
) [inline]

Applies operator/(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

numerator The numerator of the division.
denominator The denominator of the division.

Definition at line 1747 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator/= ( dense< T, D > &  value,
const T &  denominator 
) [inline]

Applies operator/=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be divided.
denominator The denominator of the division.

Definition at line 1812 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::div_tan ( const T &  x,
const dense< T, D > &  y 
) [inline]

Applies div_tan(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

x The denominator of the tangent expression evaluated.
y The numerator of the tangent expression evaluated.

Definition at line 1883 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::div_tan ( const dense< T, D > &  x,
const T &  y 
) [inline]

Applies div_tan(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

x The denominator of the tangent expression evaluated.
y The numerator of the tangent expression evaluated.

Definition at line 1901 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator== ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator==(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 1973 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator== ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator==(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 1991 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator>= ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator>=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2063 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator>= ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator>=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2081 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator> ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator>(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2153 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator> ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator>(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2171 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator| ( const T &  value,
const dense< T, D > &  mask 
) [inline]

Applies operator|(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be masked.
mask The mask to be applied to the value using an or.

Definition at line 2243 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator| ( const dense< T, D > &  value,
const T &  mask 
) [inline]

Applies operator|(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be masked.
mask The mask to be applied to the value using an or.

Definition at line 2261 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator|= ( dense< T, D > &  value,
const T &  mask 
) [inline]

Applies operator|=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be masked.
mask The mask to be applied to the value using an or.

Definition at line 2326 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator<= ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator<=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2397 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator<= ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator<=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2415 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator< ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator<(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2487 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator< ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator<(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2505 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator&& ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator&&(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first boolean to and with.
b The second boolean to and with.

Definition at line 2577 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator&& ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator&&(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first boolean to and with.
b The second boolean to and with.

Definition at line 2595 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator|| ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator||(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first boolean to or with.
b The second boolean to or with.

Definition at line 2667 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator|| ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator||(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first boolean to or with.
b The second boolean to or with.

Definition at line 2685 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator<< ( const T &  value,
const dense< T, D > &  shift_amount 
) [inline]

Applies operator<<(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The integer value to be shifted.
shift_amount The amount by which to shift the value.

Definition at line 2757 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator<< ( const dense< T, D > &  value,
const T &  shift_amount 
) [inline]

Applies operator<<(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The integer value to be shifted.
shift_amount The amount by which to shift the value.

Definition at line 2775 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator<<= ( dense< T, D > &  value,
const T &  shift_amount 
) [inline]

Applies operator<<=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The integer value to be shifted.
shift_amount The amount by which to shift the value.

Definition at line 2840 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::max ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies max(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2911 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::max ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies max(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 2929 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::min ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies min(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 3001 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::min ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies min(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 3019 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator% ( const T &  dividend,
const dense< T, D > &  divisor 
) [inline]

Applies operator%(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

dividend The dividend from which the remainder is calculated.
divisor The divisor by which the dividend is divided to calculate the remainder.

Definition at line 3091 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator% ( const dense< T, D > &  dividend,
const T &  divisor 
) [inline]

Applies operator%(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

dividend The dividend from which the remainder is calculated.
divisor The divisor by which the dividend is divided to calculate the remainder.

Definition at line 3109 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator%= ( dense< T, D > &  value,
const T &  divisor 
) [inline]

Applies operator%=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value that stores the dividend and the calculated result.
divisor The divisor by which the dividend is divided to calculate the remainder.

Definition at line 3174 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator* ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator*(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first value to be multiplied.
b The second value to be multiplied.

Definition at line 3245 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator* ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator*(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first value to be multiplied.
b The second value to be multiplied.

Definition at line 3263 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator*= ( dense< T, D > &  value,
const T &  multiplicand 
) [inline]

Applies operator*=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be multiplied.
multiplicand The amount by which to multiply.

Definition at line 3328 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator!= ( const T &  a,
const dense< T, D > &  b 
) [inline]

Applies operator!=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 3399 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<boolean, D> >::type arbb::operator!= ( const dense< T, D > &  a,
const T &  b 
) [inline]

Applies operator!=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

a The first operand to be compared.
b The second operand to be compared.

Definition at line 3417 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::pow ( const T &  base,
const dense< T, D > &  exponent 
) [inline]

Applies pow(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

base The floating-point base to exponentiate.
exponent The floating-point exponent with which to exponentiate the base.

Definition at line 3489 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::pow ( const dense< T, D > &  base,
const T &  exponent 
) [inline]

Applies pow(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

base The floating-point base to exponentiate.
exponent The floating-point exponent with which to exponentiate the base.

Definition at line 3507 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator>> ( const T &  value,
const dense< T, D > &  shift_amount 
) [inline]

Applies operator>>(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The integer value to be shifted.
shift_amount The amount by which to shift the value.

Definition at line 3579 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator>> ( const dense< T, D > &  value,
const T &  shift_amount 
) [inline]

Applies operator>>(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The integer value to be shifted.
shift_amount The amount by which to shift the value.

Definition at line 3597 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator>>= ( dense< T, D > &  value,
const T &  shift_amount 
) [inline]

Applies operator>>=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The integer value to be shifted.
shift_amount The amount by which to shift the value.

Definition at line 3662 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator- ( const T &  value,
const dense< T, D > &  amount 
) [inline]

Applies operator-(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value from which to subtract.
amount The amount to be subtracted.

Definition at line 3733 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator- ( const dense< T, D > &  value,
const T &  amount 
) [inline]

Applies operator-(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value from which to subtract.
amount The amount to be subtracted.

Definition at line 3751 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator-= ( dense< T, D > &  value,
const T &  amount 
) [inline]

Applies operator-=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value from which to subtract.
amount The amount to be subtracted.

Definition at line 3816 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator^ ( const T &  value,
const dense< T, D > &  mask 
) [inline]

Applies operator^(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be masked.
mask The mask to be applied to the value using an xor.

Definition at line 3887 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::operator^ ( const dense< T, D > &  value,
const T &  mask 
) [inline]

Applies operator^(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be masked.
mask The mask to be applied to the value using an xor.

Definition at line 3905 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D>& >::type arbb::operator^= ( dense< T, D > &  value,
const T &  mask 
) [inline]

Applies operator^=(const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

value The value to be masked.
mask The mask to be applied to the value using an xor.

Definition at line 3970 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::select ( const boolean &  condition,
const dense< T, D > &  true_case,
const dense< T, D > &  false_case 
) [inline]

Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

condition The condition used to choose between the two inputs.
true_case The value to be returned if the condition is true.
false_case The value to be returned if the condition is false.

Definition at line 4067 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::select ( const dense< boolean, D > &  condition,
const T &  true_case,
const dense< T, D > &  false_case 
) [inline]

Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

condition The condition used to choose between the two inputs.
true_case The value to be returned if the condition is true.
false_case The value to be returned if the condition is false.

Definition at line 4086 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::select ( const boolean &  condition,
const T &  true_case,
const dense< T, D > &  false_case 
) [inline]

Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

condition The condition used to choose between the two inputs.
true_case The value to be returned if the condition is true.
false_case The value to be returned if the condition is false.

Definition at line 4105 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::select ( const dense< boolean, D > &  condition,
const dense< T, D > &  true_case,
const T &  false_case 
) [inline]

Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

condition The condition used to choose between the two inputs.
true_case The value to be returned if the condition is true.
false_case The value to be returned if the condition is false.

Definition at line 4124 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::select ( const boolean &  condition,
const dense< T, D > &  true_case,
const T &  false_case 
) [inline]

Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

condition The condition used to choose between the two inputs.
true_case The value to be returned if the condition is true.
false_case The value to be returned if the condition is false.

Definition at line 4143 of file elementwise_dense_userdefined.hpp.

template<typename T , std::size_t D>
arbb ::detail::disable_if<detail::is_scalar< T >::value || detail::is_uncaptured_scalar< T >::value, dense<T, D> >::type arbb::select ( const dense< boolean, D > &  condition,
const T &  true_case,
const T &  false_case 
) [inline]

Applies select(const T&, const T&, const T&) to all elements of the provided containers and returns the result in order.

The dimensionality and size of all containers must match. This function applies to containers of user-defined types.

Parameters:

condition The condition used to choose between the two inputs.
true_case The value to be returned if the condition is true.
false_case The value to be returned if the condition is false.

Definition at line 4162 of file elementwise_dense_userdefined.hpp.

bool arbb::in_emulation_mode (  ) 
void arbb::set_emulation_mode ( bool  emulation  ) 
void arbb::finish (  ) 

Wait until any previously issued asynchronous operations have completed.

This is useful when timing operations to ensure the entire operation is measured, and is automatically called by the scoped_timer class when performing timings.

Submit feedback on this help topic

Copyright © 2010, Intel Corporation. All rights reserved.