Namespaces
Variants

std::experimental::filesystem::path:: concat, std::experimental::filesystem::path:: operator+=

From cppreference.net
path & operator + = ( const path & p ) ;
(1) (filesystem TS)
path & operator + = ( const string_type & str ) ;
(2) (filesystem TS)
path & operator + = ( const value_type * ptr ) ;
(3) (filesystem TS)
path & operator + = ( value_type x ) ;
(4) (filesystem TS)
template < class Source >
path & operator + = ( const Source & source ) ;
(5) (filesystem TS)
template < class CharT >
path & operator + = ( CharT x ) ;
(6) (filesystem TS)
template < class Source >
path & concat ( const Source & source ) ;
(7) (filesystem TS)
template < class InputIt >
path & concat ( InputIterator first, InputIterator last ) ;
(8) (filesystem TS)

Объединяет текущий путь и аргумент.

1) Конкатенирует * this и p таким образом, что native() результата точно соответствует исходному native() сконкатенированному с p. native ( ) .
2) То же, что и (1) , за исключением того, что результирующий native() является конкатенацией исходного native() и строки str .
3) То же, что и (1) , за исключением того, что результирующий native() является конкатенацией исходного native() и строки с нулевым завершителем, первый символ которой указывается ptr .
4) То же, что и (1) , за исключением того, что результирующий native() является конкатенацией исходного native() и одиночного символа x .
5) То же, что и (1) , за исключением того, что результирующий native() является конкатенацией исходного native() и последовательности (которая может быть в переносимом или нативном формате), представленной source , которая может быть std:: basic_string , null-terminated multicharacter string, или входным итератором, указывающим на null-terminated multicharacter sequence.
6) То же, что и (4) , за исключением того, что может выполняться преобразование символов.
7) То же, что и (5) .
8) То же, что и (5) , за исключением того, что последовательность представлена любой парой итераторов, обозначающих многобайтовую строку.

Содержание

Параметры

p - путь для добавления
str - строка для добавления
ptr - указатель на начало null-терминированной строки для добавления
x - отдельный символ для добавления
source - std:: basic_string , null-терминированная многобайтовая строка, или итератор ввода, указывающий на null-терминированную многобайтовую последовательность, которая представляет имя пути (в переносимом или нативном формате)
first, last - пара LegacyInputIterator s , которая задает многобайтовую последовательность, представляющую имя пути
Требования к типам
-
InputIt должен удовлетворять требованиям LegacyInputIterator .
-
Тип значения InputIt должен быть одним из кодированных символьных типов ( char , wchar_t , char16_t и char32_t ).
-
CharT должен быть одним из кодированных символьных типов ( char , wchar_t , char16_t и char32_t ).

Возвращаемое значение

* this

Исключения

Может выбрасывать filesystem_error при ошибках в нижележащих API операционной системы или std:: bad_alloc при сбое выделения памяти.

Примечания

В отличие от append() или operator/= , дополнительные разделители директорий никогда не добавляются.

Пример

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    fs::path p1; // empty path
    p1 += "var"; // does not insert a separator
    std::cout << "\"\" + \"var\" == " << p1 << '\n';
    p1 += "lib"; // does not insert a separator
    std::cout << "\"\" + \"var\" + \"lib\" == " << p1 << '\n';
}

Вывод:

"" + "var" == "var"
"" + "var" + "lib" == "varlib"

Смотрите также

добавляет элементы к пути
(публичная функция-член)
объединяет два пути с разделителем директории
(функция)