Версия 3 является основным пересмотром библиотеки файловой системы Boost. Важными изменениями являются:
Один классpathобрабатывает все аспекты интернационализации, заменяя предыдущий шаблон и егоpathиwpathинстанциации.char,wchar_t,char16_tиchar32_tподдерживаются. Это существенное упрощение абстракции пути, особенно для функций, которые принимают аргументы пути.
absolute(). Это заменяет операционную функцию
complete(), которая сейчас обесценена. Семантика теперь предусмотрена для углового случая Windows, где аргументbaseне был абсолютным путем. Ранее это привело к тому, что было сделано исключение.
create_symlink()теперь поддерживается как на POSIX, так и на Windows.
read_symlink()Функция добавлена. Поддерживается как на POSIX, так и на Windows. Используется для чтения содержимого самой симлинки.
resize_file()Функция добавлена. Поддерживается как на POSIX, так и на Windows. Используется для сокращения или выращивания обычного файла.
unique_path()Функция добавлена. Поддерживается как на POSIX, так и на Windows. Используется для создания безопасного временного имени пути.
Поддержка оповещения об ошибках черезerror_codeтеперь едина во всех операционных функциях.
Переработана документация, в том числе переписаны основные части.
Новыйучебникобеспечивает гораздо более мягкое и полное введение для новых пользователей. Текущие пользователи могут захотеть просмотретьтри раздела, связанные с классом.
Deprecated names and other features
См. страницуDeprecated Featuresдля переходных средств, которые позволяют компилировать много существующего кода без изменений с помощью версии 3.
Breaking changes
Чтобы облегчить переход, версии 2 и 3 будут включены в следующие несколько выпусков Boost. Версия 2 будет версией по умолчанию для одного цикла выпуска, а затем версия 3 станет версией по умолчанию.
Class path
Шаблон классаbasic_pathи его специализации заменяются единымclass path. Таким образом, любой код, такой как перегруженные функции, которые зависят отpathиwpath, будучи двумя различными типами, не будет компилироваться и должен быть реструктурирован. Реструктуризация может быть такой же простой, как удаление одной из перегрузок, но также может потребовать более сложного редизайна.
Некоторые функции теперь возвращаютpathобъекты, а не
string or wstringобъекты:
root_name()
root_directory()
filename()
stem()
extension()
Не все виды использования будут неудачными; если функция вызывается в контексте, который принимает<path>, все хорошо. Если результат используется в контексте, требующем<std::string>или<std::wstring>, то<.string()>или<.wstring()>соответственно должны быть добавлены к вызову функции.
< [50] >и< [51] >< [52] >,< [53] >
.
Поддержка компиляторов
Комплектуются герматоры и стандартные библиотеки, ???????????????????????????????
Версии Цигвин, 1,7 Сесмент-Суспензия, муфта, герметичность. Cygwinwin компилируется с Windows API и синтаксиса.
Компиляторы и стандартные библиотеки, которые не полностью поддерживают широкие символы и широкие строки символовstd::wstring, больше не поддерживаются.
Версии Cygwin до 1.7 больше не поддерживаются, поскольку они не имеют широкой поддержки строк. Cygwin теперь компилирует только для Windows API и синтаксиса пути.
Версии MinGW, не поддерживающие широкие строки, больше не поддерживаются.
Microsoft VC++ 7.1 и более ранние версии больше не поддерживаются.
Распространяется в соответствии с Лицензией на программное обеспечение Boost, версия 1.0. См.www.boost.org/LICENSE_1_0.txt
Пересмотрено29 Декабря 201429 December 2014[ORIG_END] -->
Статья Filesystem V3 Intro раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.