std::filesystem::is_empty
From cppreference.com
                    
                                        
                    < cpp | filesystem
                    
                                                            
                    | Defined in header  <filesystem> | ||
| bool is_empty( const std::filesystem::path& p ); bool is_empty( const std::filesystem::path& p, std::error_code& ec ); | (since C++17) | |
Checks whether the given path refers to an empty file or directory.
| Contents | 
[edit] Parameters
| p | - | path to examine | 
| ec | - | error code to modify in case of error | 
[edit] Return value
true if the file indicated by p or if the type indicated s refers to an empty file or directory, false otherwise. The non-throwing overload returns false if an error occurs.
[edit] Exceptions
The overload that does not take a std::error_code& parameter throws filesystem_error on underlying OS API errors, constructed withp as the first argument and the OS error code as the error code argument. std::bad_alloc may be thrown if memory allocation fails. The overload taking a std::error_code& parameter sets it to the OS API error code if an OS API call fails, and executes ec.clear() if no errors occur. This overload has 
noexcept specification:  
noexcept
  [edit] Example
| This section is incomplete Reason: no example | 
[edit] See also
| (C++17)(C++17) | determines file attributes determines file attributes, checking the symlink target (function) | 
| (C++17) | checks whether path refers to existing file system object (function) |