mapleFU opened a new issue, #38874:
URL: https://github.com/apache/arrow/issues/38874
### Describe the enhancement requested
```c++
/// \brief Interface for comparison of physical types according to the
/// semantics of a particular logical type.
template <typename DType>
class TypedComparator : public Comparator {
public:
using T = typename DType::c_type;
/// \brief Scalar comparison of two elements, return true if first
/// is strictly less than the second
virtual bool Compare(const T& a, const T& b) = 0;
/// \brief Compute maximum and minimum elements in a batch of
/// elements without any nulls
virtual std::pair<T, T> GetMinMax(const T* values, int64_t length) = 0;
/// \brief Compute minimum and maximum elements from an Arrow array. Only
/// valid for certain Parquet Type / Arrow Type combinations, like
BYTE_ARRAY
/// / arrow::BinaryArray
virtual std::pair<T, T> GetMinMax(const ::arrow::Array& values) = 0;
/// \brief Compute maximum and minimum elements in a batch of
/// elements with accompanying bitmap indicating which elements are
/// included (bit set) and excluded (bit not set)
///
/// \param[in] values the sequence of values
/// \param[in] length the length of the sequence
/// \param[in] valid_bits a bitmap indicating which elements are
/// included (1) or excluded (0)
/// \param[in] valid_bits_offset the bit offset into the bitmap of
/// the first element in the sequence
virtual std::pair<T, T> GetMinMaxSpaced(const T* values, int64_t length,
const uint8_t* valid_bits,
int64_t valid_bits_offset) = 0;
};
```
Current they're all non-const functions. So we need to making them as const.
### Component(s)
C++, Parquet
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]