103 return indices_.
begin();
108 return indices_.
end();
126 if (indices_.
size() == 0) {
130 return indices_.
last() + 1;
144 return indices_.
size() > 0 && indices_.
last() - indices_.
first() == indices_.
size() - 1;
210 return indices_.
last();
218 return indices_.
size();
231 if (range.
size() < indices_.
size()) {
const int64_t * end() const
static bool indices_are_valid_index_mask(Span< int64_t > indices)
IndexMask(const std::initializer_list< int64_t > &indices)
IndexMask(IndexRange range)
int64_t operator[](int64_t n) const
Vector< IndexRange > extract_ranges_invert(const IndexRange full_range, Vector< int64_t > *r_skip_amounts=nullptr) const
IndexMask slice_and_offset(IndexRange slice, Vector< int64_t > &r_new_indices) const
IndexMask(Span< int64_t > indices)
void to_best_mask_type(const Fn &fn) const
Span< int64_t > indices() const
int64_t min_array_size() const
IndexRange index_range() const
void foreach_index(const CallbackT &callback) const
Vector< IndexRange > extract_ranges() const
IndexMask invert(const IndexRange full_range, Vector< int64_t > &r_new_indices) const
bool contained_in(const IndexRange range) const
IndexMask slice(int64_t start, int64_t size) const
const int64_t * begin() const
IndexRange as_range() const
constexpr int64_t first() const
constexpr int64_t last(const int64_t n=0) const
constexpr int64_t size() const
constexpr const T & first() const
constexpr const T & last(const int64_t n=0) const
constexpr int64_t size() const
constexpr IndexRange index_range() const
constexpr const T * end() const
constexpr const T * begin() const
constexpr bool is_empty() const
DEGForeachIDComponentCallback callback
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)