21 Strings library [strings]

21.3 String classes [string.classes]

21.3.3 Class template basic_­string [basic.string]

21.3.3.8 String operations [string.ops]

21.3.3.8.3 basic_­string​::​substr [string.substr]

constexpr basic_string substr(size_type pos = 0, size_type n = npos) const;
Effects: Determines the effective length rlen of the string to copy as the smaller of n and size() - pos.
Returns: basic_­string(data()+pos, rlen).
Throws: out_­of_­range if pos > size().