Blender V5.0
BLI_bit_span_ops.hh File Reference
#include "BLI_bit_span.hh"
#include "BLI_math_bits.h"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::bits
namespace  blender::bits::detail

Functions

template<typename ExprFn, typename FirstBitSpanT, typename... BitSpanT>
void blender::bits::detail::mix_into_first_expr (ExprFn &&expr, const FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename ExprFn, typename FirstBitSpanT, typename... BitSpanT>
bool blender::bits::detail::any_set_expr (ExprFn &&expr, const FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename ExprFn, typename HandleFn, typename FirstBitSpanT, typename... BitSpanT>
void blender::bits::detail::foreach_1_index_expr (ExprFn &&expr, HandleFn &&handle, const FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename ExprFn, typename FirstBitSpanT, typename... BitSpanT>
std::optional< int64_tblender::bits::detail::find_first_1_index_expr (ExprFn &&expr, const FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename ExprFn, typename FirstBitSpanT, typename... BitSpanT>
void blender::bits::mix_into_first_expr (ExprFn &&expr, FirstBitSpanT &&first_arg, const BitSpanT &...args)
template<typename ExprFn, typename FirstBitSpanT, typename... BitSpanT>
bool blender::bits::any_set_expr (ExprFn &&expr, const FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename ExprFn, typename HandleFn, typename FirstBitSpanT, typename... BitSpanT>
void blender::bits::foreach_1_index_expr (ExprFn &&expr, HandleFn &&handle, const FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename BitSpanT>
void blender::bits::invert (BitSpanT &&data)
template<typename FirstBitSpanT, typename... BitSpanT>
void blender::bits::inplace_or (FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename FirstBitSpanT, typename MaskBitSpanT, typename... BitSpanT>
void blender::bits::inplace_or_masked (FirstBitSpanT &&first_arg, const MaskBitSpanT &mask, const BitSpanT &...args)
template<typename FirstBitSpanT, typename... BitSpanT>
void blender::bits::copy_from_or (FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename FirstBitSpanT, typename... BitSpanT>
void blender::bits::inplace_and (FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename... BitSpanT>
void blender::bits::operator|= (MutableBitSpan first_arg, const BitSpanT &...args)
template<typename... BitSpanT>
void blender::bits::operator|= (MutableBoundedBitSpan first_arg, const BitSpanT &...args)
template<typename... BitSpanT>
void blender::bits::operator&= (MutableBitSpan first_arg, const BitSpanT &...args)
template<typename... BitSpanT>
void blender::bits::operator&= (MutableBoundedBitSpan first_arg, const BitSpanT &...args)
template<typename... BitSpanT>
bool blender::bits::has_common_set_bits (const BitSpanT &...args)
template<typename BitSpanT>
bool blender::bits::any_bit_set (const BitSpanT &arg)
template<typename... BitSpanT>
bool blender::bits::has_common_unset_bits (const BitSpanT &...args)
template<typename BitSpanT>
bool blender::bits::any_bit_unset (const BitSpanT &arg)
template<typename BitSpanT, typename Fn>
void blender::bits::foreach_1_index (const BitSpanT &data, Fn &&fn)
template<typename BitSpanT, typename Fn>
void blender::bits::foreach_0_index (const BitSpanT &data, Fn &&fn)
template<typename ExprFn, typename FirstBitSpanT, typename... BitSpanT>
std::optional< int64_tblender::bits::find_first_1_index_expr (ExprFn &&Expr, const FirstBitSpanT &first_arg, const BitSpanT &...args)
template<typename BitSpanT>
std::optional< int64_tblender::bits::find_first_1_index (const BitSpanT &data)
template<typename BitSpanT>
std::optional< int64_tblender::bits::find_first_0_index (const BitSpanT &data)
template<typename BitSpanT1, typename BitSpanT2>
bool blender::bits::spans_equal (const BitSpanT1 &a, const BitSpanT2 &b)
template<typename BitSpanT1, typename BitSpanT2, typename BitSpanT3>
bool blender::bits::spans_equal_masked (const BitSpanT1 &a, const BitSpanT2 &b, const BitSpanT3 &mask)