This is an automated email from the ASF dual-hosted git repository.

raulcd pushed a commit to branch maint-15.0.x
in repository https://gitbox.apache.org/repos/asf/arrow.git

commit b59bec36b7eca72d289bf44d3b59ef3085521f54
Author: Sutou Kouhei <[email protected]>
AuthorDate: Sat Feb 10 08:29:55 2024 +0900

    GH-40009: [C++] Add missing "#include <algorithm>" (#40010)
    
    ### Rationale for this change
    
    `std::find()` is defined in `<algorithm>`. If we don't include 
`<algorithm>` explicitly, g++-14 complains:
    
        cpp/src/arrow/filesystem/util_internal.cc: In function 
'arrow::Result<std::__cxx11::basic_string<char> > 
arrow::fs::internal::PathFromUriHelper(const std::string&, 
std::vector<std::__cxx11::basic_string<char> >, bool, 
AuthorityHandlingBehavior)':
        cpp/src/arrow/filesystem/util_internal.cc:143:16: error: no matching 
function for call to 'find(std::vector<std::__cxx11::basic_string<char> 
>::iterator, std::vector<std::__cxx11::basic_string<char> >::iterator, const 
std::__cxx11::basic_string<char>&)'
          143 |   if (std::find(supported_schemes.begin(), 
supported_schemes.end(), scheme) ==
              |       
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /usr/include/c++/14/bits/streambuf_iterator.h:435:5: note: candidate: 
'template<class _CharT2> typename 
__gnu_cxx::__enable_if<std::__is_char<_CharT2>::__value, 
std::istreambuf_iterator<_CharT, std::char_traits<_CharT> > >::__type 
std::find(istreambuf_iterator<_CharT, char_traits<_CharT> >, 
istreambuf_iterator<_CharT, char_traits<_CharT> >, const _CharT2&)'
          435 |     find(istreambuf_iterator<_CharT> __first,
              |     ^~~~
        /usr/include/c++/14/bits/streambuf_iterator.h:435:5: note:   template 
argument deduction/substitution failed:
        cpp/src/arrow/filesystem/util_internal.cc:143:16: note:   
'__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char>*, 
std::vector<std::__cxx11::basic_string<char> > >' is not derived from 
'std::istreambuf_iterator<_CharT, std::char_traits<_CharT> >'
          143 |   if (std::find(supported_schemes.begin(), 
supported_schemes.end(), scheme) ==
              |       
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    ### What changes are included in this PR?
    
    Include `<algorithm>` explicitly.
    
    ### Are these changes tested?
    
    Yes.
    
    ### Are there any user-facing changes?
    
    No.
    * Closes: #40009
    
    Authored-by: Sutou Kouhei <[email protected]>
    Signed-off-by: Jacob Wujciak-Jens <[email protected]>
---
 cpp/src/arrow/filesystem/util_internal.cc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/cpp/src/arrow/filesystem/util_internal.cc 
b/cpp/src/arrow/filesystem/util_internal.cc
index 1ca5af27fc..13f43d45db 100644
--- a/cpp/src/arrow/filesystem/util_internal.cc
+++ b/cpp/src/arrow/filesystem/util_internal.cc
@@ -17,6 +17,7 @@
 
 #include "arrow/filesystem/util_internal.h"
 
+#include <algorithm>
 #include <cerrno>
 
 #include "arrow/buffer.h"

Reply via email to