std::experi...y_iterator),(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

okay so this is the std::experi...y_iterator),(3) page from the C++ Standard Libary manual β€” yes, that's the manual name exactly, spelling and all. We're deep in the std::experimental::filesystem filesystem TS, and this page is all about making recursive_directory_iterator behave for range-based for loops. πŸ’…βœ¨

πŸ¦‹ NAME πŸ¦‹

The NAME section literally says:

std::experimental::filesystem::begin(recursive_directory_iterator), -
std::experimental::filesystem::begin(recursive_directory_iterator),

πŸ’« Synopsis πŸ’«

Exact synopsis vibes:

recursive_directory_iterator begin( recursive_directory_iterator (1)
(filesystem TS)
iter );
recursive_directory_iterator end( const                          (2)
(filesystem TS)
recursive_directory_iterator& );
  • (1) (filesystem TS) β€” returns iter unchanged.
  • (2) (filesystem TS) β€” returns a default-constructed recursive_directory_iterator, which serves as the end iterator. The argument is ignored.

These non-member functions enable the use of recursive_directory_iterators with range-based for loops. Slay. πŸŽ€

🌸 Parameters 🌸

  • iter β€” a recursive_directory_iterator.

✨ Return value ✨

  1. iter unchanged.
  2. End iterator (default-constructed recursive_directory_iterator).

πŸ”₯ Exceptions πŸ”₯

noexcept specification: noexcept.

🌈 Example 🌈

// Run this code

#include <experimental/filesystem>
#include <fstream>
#include <iostream>
namespace fs = std::experimental::filesystem;

int main()
{
    fs::create_directories("sandbox/a/b");
    std::ofstream("sandbox/file1.txt");
    fs::create_symlink("a", "sandbox/syma");
    for (auto& p : fs::recursive_directory_iterator("sandbox"))
        std::cout << p << '\n';
    fs::remove_all("sandbox");
}

πŸ“ Possible output: πŸ“

"sandbox/a"
"sandbox/a/b"
"sandbox/file1.txt"
"sandbox/syma"

πŸ‘‘ See also πŸ‘‘

  • filesystem::begin(filesystem::directory_iterator) β€” range-based for loop support
  • filesystem::end(filesystem::directory_iterator) β€” (function)

🧚 Categories: 🧚

  • Noindexed pages
  • unconditionally noexcept

πŸ’œ Hidden categories: πŸ’œ

  • Pages with unreviewed unconditional noexcept template
  • Pages with unreviewed noexcept template

okay that's the whole page, bestie. Source: http://cppreference.com, version/date: 2024.06.10 β€” iconic metadata, no cap. πŸ«ΆπŸ’–

πŸ“¦ where this page comes from