GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
deductionguidesforstd::basic_string_view(3) C++ Standard Libary deductionguidesforstd::basic_string_view(3)

deductionguidesforstd::basic_string_view - deductionguidesforstd::basic_string_view


Defined in header <string_view>
template<class It, class End>
basic_string_view(It, End) -> (1) (since C++20)
basic_string_view<std::iter_value_t<It>>;
template<class R>
basic_string_view(R&&) -> (2) (since C++23)
basic_string_view<ranges::range_value_t<R>>;


These deduction guides are provided for std::basic_string_view.


1) This deduction guide allow the character type to be deduced from the
iterator-sentinel pair. This overload participates in overload resolution only if It
satisfies contiguous_iterator and End satisfies sized_sentinel_for for It.
2) This deduction guide allow the character type to be deduced from the range. This
overload participates in overload resolution only if R satisfies contiguous_range.

// Run this code


#include <array>
#include <iostream>
#include <string_view>


int main()
{
std::array a1 {'n', 'u', 'c', 'l', 'e', 'o', 'n', 's', ':', '\n'};
std::basic_string_view s1(a1.cbegin(), a1.cend()); // deduction: CharT -> char
static_assert(std::is_same_v<decltype(s1)::value_type, char>);
std::cout << s1;


std::array a2 {L'p', L'r', L'o', L't', L'o', L'n', L's', L'\n'};
std::basic_string_view s2(a2.cbegin(), a2.cend()); // deduction: CharT -> wchar_t
static_assert(std::is_same_v<decltype(s2)::value_type, wchar_t>);
std::wcout << s2;


std::array<long, 9> a3 {'n', 'e', 'u', 't', 'r', 'o', 'n', 's', '\n'};
std::basic_string_view s3(a3.cbegin(), a3.cend()); // deduction: CharT -> long
static_assert(std::is_same_v<decltype(s3)::value_type, long>);
for (const auto e : s3) { std::cout << static_cast<char>(e); }
}


nucleons:
protons
neutrons

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.