Functions
Algorithms

Functions

template<typename ForwardIt >
void blaze::destroy (ForwardIt first, ForwardIt last)
 Destroys the given range of objects . More...
 
template<typename T >
void blaze::destroy_at (T *p) noexcept
 Destroys the object at the given address. More...
 
template<typename T1 , typename T2 , typename = EnableIf_t< ( IsSigned_v<T1> && IsSigned_v<T2> ) || ( IsUnsigned_v<T1> && IsUnsigned_v<T2> ) >>
BLAZE_ALWAYS_INLINE constexpr auto blaze::max (const T1 &a, const T2 &b) noexcept
 Maximum function for two values of builtin data type. More...
 
template<typename T1 , typename T2 , typename T3 >
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr blaze::max (const T1 &a, const T2 &b, const T3 &c) noexcept
 Maximum function for three values/objects. More...
 
template<typename T1 , typename T2 , typename T3 , typename... Ts>
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr blaze::max (const T1 &a, const T2 &b, const T3 &c, const Ts &... args) noexcept
 Maximum function for at least four values/objects. More...
 
template<typename T1 , typename T2 , typename = EnableIf_t< ( IsSigned_v<T1> && IsSigned_v<T2> ) || ( IsUnsigned_v<T1> && IsUnsigned_v<T2> ) >>
BLAZE_ALWAYS_INLINE constexpr auto blaze::min (const T1 &a, const T2 &b) noexcept
 Minimum function for two values of builtin data type. More...
 
template<typename T1 , typename T2 , typename T3 >
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr blaze::min (const T1 &a, const T2 &b, const T3 &c) noexcept
 Minimum function for three values/objects. More...
 
template<typename T1 , typename T2 , typename T3 , typename... Ts>
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr blaze::min (const T1 &a, const T2 &b, const T3 &c, const Ts &... args) noexcept
 Minimum function for at least four values/objects. More...
 
template<typename InputIterator , typename OutputIterator >
OutputIterator blaze::transfer (InputIterator first, InputIterator last, OutputIterator dest)
 Transfers the elements from the given source range to the destination range. More...
 
template<class ForwardIt >
void blaze::uninitialized_default_construct (ForwardIt first, ForwardIt last)
 Default constructs elements in the given range. More...
 
template<typename InputIt , typename ForwardIt >
ForwardIt blaze::uninitialized_move (InputIt first, InputIt last, ForwardIt dest)
 Move the elements from the given source range to the uninitialized destination range. More...
 
template<class ForwardIt >
void blaze::uninitialized_value_construct (ForwardIt first, ForwardIt last)
 Value constructs elements in the given range. More...
 

Detailed Description

Function Documentation

◆ destroy()

template<typename ForwardIt >
void blaze::destroy ( ForwardIt  first,
ForwardIt  last 
)

Destroys the given range of objects .

Parameters
firstIterator to the first element to be destroyed.
lastIterator to the element one past the last element to be destroyed.
Returns
void

This function explicitly calls the destructor of all object in the given range.

◆ destroy_at()

template<typename T >
void blaze::destroy_at ( T *  p)
noexcept

Destroys the object at the given address.

Parameters
pThe address of the object to be destroyed.
Returns
void

This function explicitly calls the destructor of the object at the given address.

◆ max() [1/3]

template<typename T1 , typename T2 , typename = EnableIf_t< ( IsSigned_v<T1> && IsSigned_v<T2> ) || ( IsUnsigned_v<T1> && IsUnsigned_v<T2> ) >>
BLAZE_ALWAYS_INLINE constexpr auto blaze::max ( const T1 &  a,
const T2 &  b 
)
noexcept

Maximum function for two values of builtin data type.

Parameters
aThe first value.
bThe second value.
Returns
The maximum of the two values.

This function returns the maximum of the two given data values. The return type of the function is determined by the data types of the given arguments.

◆ max() [2/3]

template<typename T1 , typename T2 , typename T3 >
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr blaze::max ( const T1 &  a,
const T2 &  b,
const T3 &  c 
)
noexcept

Maximum function for three values/objects.

Parameters
aThe first value/object.
bThe second value/object.
cThe third value/object.
Returns
The maximum of the given values/objects.

This function returns the maximum of the given data values/objects. The return type of the function is determined by the data types of the given arguments.

◆ max() [3/3]

template<typename T1 , typename T2 , typename T3 , typename... Ts>
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr blaze::max ( const T1 &  a,
const T2 &  b,
const T3 &  c,
const Ts &...  args 
)
noexcept

Maximum function for at least four values/objects.

Parameters
aThe first value/object.
bThe second value/object.
cThe third value/object.
argsThe pack of additional values/objects.
Returns
The maximum of the given values/objects.

This function returns the maximum of the given data values/objects. The return type of the function is determined by the data types of the given arguments.

◆ min() [1/3]

template<typename T1 , typename T2 , typename = EnableIf_t< ( IsSigned_v<T1> && IsSigned_v<T2> ) || ( IsUnsigned_v<T1> && IsUnsigned_v<T2> ) >>
BLAZE_ALWAYS_INLINE constexpr auto blaze::min ( const T1 &  a,
const T2 &  b 
)
noexcept

Minimum function for two values of builtin data type.

Parameters
aThe first value.
bThe second value.
Returns
The minimum of the two values.

This function returns the minimum of the two given data values. The return type of the function is determined by the data types of the given arguments.

◆ min() [2/3]

template<typename T1 , typename T2 , typename T3 >
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr blaze::min ( const T1 &  a,
const T2 &  b,
const T3 &  c 
)
noexcept

Minimum function for three values/objects.

Parameters
aThe first value/object.
bThe second value/object.
cThe third value/object.
Returns
The minimum of the given values/objects.

This function returns the minimum of the given data values/objects. The return type of the function is determined by the data types of the given arguments.

◆ min() [3/3]

template<typename T1 , typename T2 , typename T3 , typename... Ts>
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr blaze::min ( const T1 &  a,
const T2 &  b,
const T3 &  c,
const Ts &...  args 
)
noexcept

Minimum function for at least four values/objects.

Parameters
aThe first value/object.
bThe second value/object.
cThe third value/object.
argsThe pack of additional values/objects.
Returns
The minimum of the given values/objects.

This function returns the minimum of the given data values/objects. The return type of the function is determined by the data types of the given arguments.

◆ transfer()

template<typename InputIterator , typename OutputIterator >
OutputIterator blaze::transfer ( InputIterator  first,
InputIterator  last,
OutputIterator  dest 
)

Transfers the elements from the given source range to the destination range.

Parameters
firstIterator to the first element of the source range.
lastIterator to the element one past the last element of the source range.
destIterator to the first element of the destination range.
Returns
Output iterator to the element one past the last copied element.

This function transfers the elements in the range $ [first,last) $ to the specified destination range. In case the elements provide a no-throw move assignment, the transfer operation is handled via move. Else the elements are copied.

◆ uninitialized_default_construct()

template<class ForwardIt >
void blaze::uninitialized_default_construct ( ForwardIt  first,
ForwardIt  last 
)

Default constructs elements in the given range.

Parameters
firstIterator to the first element of the range.
lastIterator to the element one past the last element of the range.
Returns
void

This function default constructs elements in the given range $ [first,last) $. The range is assumed to be uninitialized.

◆ uninitialized_move()

template<typename InputIt , typename ForwardIt >
ForwardIt blaze::uninitialized_move ( InputIt  first,
InputIt  last,
ForwardIt  dest 
)

Move the elements from the given source range to the uninitialized destination range.

Parameters
firstIterator to the first element of the source range.
lastIterator to the element one past the last element of the source range.
destIterator to the first element of the destination range.
Returns
Output iterator to the element one past the last copied element.

This function moves the elements from the source range $ [first,last) $ to the specified destination range. The destination range is assumed to be uninitialized, i.e. the elements are move constructed.

◆ uninitialized_value_construct()

template<class ForwardIt >
void blaze::uninitialized_value_construct ( ForwardIt  first,
ForwardIt  last 
)

Value constructs elements in the given range.

Parameters
firstIterator to the first element of the range.
lastIterator to the element one past the last element of the range.
Returns
void

This function value constructs elements in the given range $ [first,last) $. The range is assumed to be uninitialized.