15 Commits

Author SHA1 Message Date
Andrey Semashev
c03249c375 Reformatted code for more consistent look and better readability. 2021-04-24 22:37:57 +03:00
Andrey Semashev
c758552338 Moved directory tools to separate files. Reworked readdir_r support.
Directory iteration components were moved to separate files to simplify
maintenance of operations.hpp/cpp.

directory_iterator implementation on POSIX platforms has been reworked
to only allocate internal buffer when readdir_r is used. When readdir
is used, the dirent structure returned by readdir is used directly, which
eliminates the potential of buffer overrun in case if some directory name
exceeds the buffer size. This also removes the need to copy dirent members
into the buffer, which improves performance and simplifies maintenance.

For buffer size we now use the max path size as opposed to max filename
size. This is done to minimize the possibility of buffer overruns when
readdir_r is used.

On Windows, use Boost.WinAPI to configure the default target Windows version.
This removes WINVER and _WIN32_WINNT defines in Boost.Filesystem as these
macros should be defined by Boost.WinAPI now.

Additionally, exception.hpp and directory.hpp includes in operations.hpp are
marked as deprecated as operations.hpp do not need those components. Users
are encouraged to include the new headers explicitly in their code, as needed.
2019-08-01 20:34:39 +03:00
Beman Dawes
16099b4c7d Filesystem - Move V3 files and directories into place
[SVN r77554]
2012-03-26 12:31:06 +00:00
Beman Dawes
fa515c07f5 Move files into new v2 + v3 directory structure
[SVN r62653]
2010-06-09 13:00:15 +00:00
Beman Dawes
e22eb55f69 Boost.Filesystem: change tests to define BOOST_FILESYSTEM_NO_DEPRECATED. Expand deprecated_test.
[SVN r48463]
2008-08-29 20:10:08 +00:00
Beman Dawes
fb65347b54 After extensive discussion on the list with Dave Abrahams, Vladimir Prus, and others, rename basic_path::leaf() -> filename, branch_path -> parent_path, replace_leaf -> replace_filename. Add basic_path member functions stem, extension, replace_extension.
[SVN r47181]
2008-07-07 12:20:04 +00:00
Beman Dawes
001c15dd32 Rename is_regular() to is_regular_file
[SVN r47131]
2008-07-06 12:10:42 +00:00
Beman Dawes
4ed2439686 Refresh examples, add example build script, reflect that in docs. Apply suggestions from Darren Cook.
[SVN r41500]
2007-11-30 16:44:23 +00:00
Beman Dawes
22bb191bf0 Remove copyright symbol as it causes VC++ warnings on Windows with codepage set to non-English, particularly Asian, languages
[SVN r33295]
2006-03-09 22:15:07 +00:00
Beman Dawes
040c9372b3 Bring into sync with WG21/D1934=06-0004
[SVN r32532]
2006-02-03 20:59:04 +00:00
Beman Dawes
aac5f49666 is_file, file_flag -> is_regular, regular_flag per TR2 proposal
[SVN r32201]
2006-01-02 02:30:53 +00:00
Beman Dawes
48d4335bfc merge from i18n branch - at last!
[SVN r32079]
2005-12-16 16:40:35 +00:00
Beman Dawes
790047851b update license so inspect can see it
[SVN r20959]
2003-11-26 12:45:13 +00:00
Beman Dawes
6c6191b6b5 add endl to error message
[SVN r17501]
2003-02-18 00:54:12 +00:00
Beman Dawes
fadc0fc63e fs_review branch merged
[SVN r16593]
2002-12-11 19:47:00 +00:00