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
std::span::subspan(3) C++ Standard Libary std::span::subspan(3)

std::span::subspan - std::span::subspan


template< std::size_t Offset,


std::size_t Count = std::dynamic_extent > (1)


constexpr std::span<element_type, E /* see below */> subspan() const;
constexpr std::span<element_type, std::dynamic_extent>


subspan( size_type Offset, (2)


size_type Count = std::dynamic_extent ) const;


Obtains a span that is a view over the Count elements of this span starting at
offset Offset. If Count is std::dynamic_extent, the number of elements in the
subspan is size() - offset (i.e., it ends at the end of *this.).


(1) is ill-formed if


* Offset is greater than Extent, or
* Count is not std::dynamic_extent and Count is greater than Extent - Offset.


The behavior is undefined if either Offset or Count is out of range. This happens if


* Offset is greater than size(), or
* Count is not std::dynamic_extent and Count is greater than size() - Offset.


The extent E of the span returned by (1) is determined as follows:


* If Count is not std::dynamic_extent, Count;
* Otherwise, if Extent is not std::dynamic_extent, Extent - Offset;
* Otherwise, std::dynamic_extent.


The requested subspan r, such that r.data() == this->data() + Offset. If Count is
std::dynamic_extent, r.size() == this->size() - Offset; otherwise r.size() == Count.

// Run this code


#include <algorithm>
#include <cstdio>
#include <numeric>
#include <ranges>
#include <span>


void display(std::span<const char> abc)
{
const auto columns{ 20U };
const auto rows{ abc.size() - columns + 1 };


for (auto offset{ 0U }; offset < rows; ++offset) {
std::ranges::for_each(
abc.subspan(offset, columns),
std::putchar
);
std::putchar('\n');
}
}


int main()
{
char abc[26];
std::iota(std::begin(abc), std::end(abc), 'A');
display(abc);
}


ABCDEFGHIJKLMNOPQRST
BCDEFGHIJKLMNOPQRSTU
CDEFGHIJKLMNOPQRSTUV
DEFGHIJKLMNOPQRSTUVW
EFGHIJKLMNOPQRSTUVWX
FGHIJKLMNOPQRSTUVWXY
GHIJKLMNOPQRSTUVWXYZ


first obtains a subspan consisting of the first N elements of the sequence
(public member function)
last obtains a subspan consisting of the last N elements of the sequence
(public member function)

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.