Namespaces
Variants

std::ranges::common_view<V>:: base

From cppreference.net
Ranges library
Range adaptors
constexpr V Basis ( ) const & erfordert std:: copy_constructible < V > ;
(1) (seit C++20)
constexpr V Basis ( ) && ;
(2) (seit C++20)

Gibt eine Kopie der zugrundeliegenden Ansicht zurück.

1) Kopiert das Ergebnis aus der zugrunde liegenden Ansicht.
2) Move-Konstruiert das Ergebnis aus der zugrunde liegenden Ansicht.

Parameter

(keine)

Rückgabewert

Eine Kopie der zugrunde liegenden Ansicht.

Beispiel

#include <iostream>
#include <ranges>
#include <string>
int main()
{
    std::string str { "C++20" };
    auto view = std::views::common(str);
    std::string copy_of_str = view.base();
    std::cout << "copy of str: [" << copy_of_str << "]\n";
    std::cout << "view.base(): [" << view.base() << "]\n";
    std::string move_str = std::move(view.base());
    std::cout << "moved str:   [" << move_str << "]\n";
    std::cout << "view.base(): [" << view.base() << "]\n"; // unspecified
}

Mögliche Ausgabe:

copy of str: [C++20]
view.base(): [C++20]
moved str:   [C++20]
view.base(): []