Skip to content

Commit 5df060e

Browse files
committed
Removed deprecated APIs.
Removed APIs that were marked as deprecated a long time ago. Disabled by default support for path construction, assignment and appending from container types. Users can still enable this functionality by defining BOOST_FILESYSTEM_DEPRECATED. Updated docs, tests and examples accordingly.
1 parent c0b3b7f commit 5df060e

16 files changed

+19
-978
lines changed

doc/deprecated.html

Lines changed: 1 addition & 340 deletions
Original file line numberDiff line numberDiff line change
@@ -63,162 +63,6 @@ <h2><a name="Deprecated-names">Deprecated names</a> and features</h2>
6363
<td style="font-size: 10pt" valign="top">
6464
<p style="font-size: 10pt"><b><i>New name</i></b></td>
6565
</tr>
66-
<tr>
67-
<td style="font-size: 10pt" valign="top"><code>class path</code></td>
68-
<td style="font-size: 10pt" valign="top"><code>branch_path()</code></td>
69-
<td style="font-size: 10pt" valign="top">&#10004;</td>
70-
<td style="font-size: 10pt" valign="top"><code>parent_path()</code></td>
71-
</tr>
72-
<tr>
73-
<td style="font-size: 10pt" valign="top">
74-
<code>class path</code></td>
75-
<td style="font-size: 10pt" valign="top">
76-
<code>canonize()</code></td>
77-
<td style="font-size: 10pt" valign="top">
78-
&nbsp;</td>
79-
<td style="font-size: 10pt" valign="top">
80-
<i>Function removed</i></td>
81-
</tr>
82-
<tr>
83-
<td style="font-size: 10pt" valign="top">
84-
<code>class path</code></td>
85-
<td style="font-size: 10pt" valign="top">
86-
<code>default_name_check()</code></td>
87-
<td style="font-size: 10pt" valign="top">
88-
&#10004;</td>
89-
<td style="font-size: 10pt" valign="top">
90-
<i>Function removed</i></td>
91-
</tr>
92-
<tr>
93-
<td style="font-size: 10pt" valign="top">
94-
<code>class path</code></td>
95-
<td style="font-size: 10pt" valign="top">
96-
<code>default_name_check(name_check)</code></td>
97-
<td style="font-size: 10pt" valign="top">
98-
&#10004;</td>
99-
<td style="font-size: 10pt" valign="top">
100-
<i>Function removed</i></td>
101-
</tr>
102-
<tr>
103-
<td style="font-size: 10pt" valign="top">
104-
<code>class path</code></td>
105-
<td style="font-size: 10pt" valign="top">
106-
<code>default_name_check_writable()</code></td>
107-
<td style="font-size: 10pt" valign="top">
108-
&#10004;</td>
109-
<td style="font-size: 10pt" valign="top">
110-
<i>Function removed</i></td>
111-
</tr>
112-
<tr>
113-
<td style="font-size: 10pt" valign="top"><code>class path</code></td>
114-
<td style="font-size: 10pt" valign="top"><code>directory_string()</code></td>
115-
<td style="font-size: 10pt" valign="top">&#10004;</td>
116-
<td style="font-size: 10pt" valign="top"><code>string</code></td>
117-
</tr>
118-
<tr>
119-
<td style="font-size: 10pt" valign="top"><code>class path</code></td>
120-
<td style="font-size: 10pt" valign="top"><code>external_directory_string()</code></td>
121-
<td style="font-size: 10pt" valign="top">&#10004;</td>
122-
<td style="font-size: 10pt" valign="top"><code>native()</code></td>
123-
</tr>
124-
<tr>
125-
<td style="font-size: 10pt" valign="top"><code>class path</code></td>
126-
<td style="font-size: 10pt" valign="top"><code>external_file_string()</code></td>
127-
<td style="font-size: 10pt" valign="top">&#10004;</td>
128-
<td style="font-size: 10pt" valign="top"><code>native()</code></td>
129-
</tr>
130-
<tr>
131-
<td style="font-size: 10pt" valign="top"><code>class path</code></td>
132-
<td style="font-size: 10pt" valign="top"><code>file_string()</code></td>
133-
<td style="font-size: 10pt" valign="top">&#10004;</td>
134-
<td style="font-size: 10pt" valign="top"><code>string()</code></td>
135-
</tr>
136-
<tr>
137-
<td style="font-size: 10pt" valign="top"><code>class path</code></td>
138-
<td style="font-size: 10pt" valign="top"><code>has_branch_path()</code></td>
139-
<td style="font-size: 10pt" valign="top">&#10004;</td>
140-
<td style="font-size: 10pt" valign="top"><code>has_parent_path()</code></td>
141-
</tr>
142-
<tr>
143-
<td style="font-size: 10pt" valign="top"><code>class path</code></td>
144-
<td style="font-size: 10pt" valign="top"><code>has_leaf()</code></td>
145-
<td style="font-size: 10pt" valign="top">&#10004;</td>
146-
<td style="font-size: 10pt" valign="top"><code>has_filename()</code></td>
147-
</tr>
148-
<tr>
149-
<td style="font-size: 10pt" valign="top"><code>class path</code></td>
150-
<td style="font-size: 10pt" valign="top"><code>is_complete()</code></td>
151-
<td style="font-size: 10pt" valign="top">&#10004;</td>
152-
<td style="font-size: 10pt" valign="top"><code>is_absolute()</code></td>
153-
</tr>
154-
<tr>
155-
<td style="font-size: 10pt" valign="top"><code>class path</code></td>
156-
<td style="font-size: 10pt" valign="top"><code>leaf()</code></td>
157-
<td style="font-size: 10pt" valign="top">&#10004;</td>
158-
<td style="font-size: 10pt" valign="top"><code>filename()</code></td>
159-
</tr>
160-
<tr>
161-
<td style="font-size: 10pt" valign="top">
162-
<code>class path</code></td>
163-
<td style="font-size: 10pt" valign="top">
164-
<code>native_directory_string()</code></td>
165-
<td style="font-size: 10pt" valign="top">
166-
&#10004;</td>
167-
<td style="font-size: 10pt" valign="top">
168-
<code>string()</code></td>
169-
</tr>
170-
<tr>
171-
<td style="font-size: 10pt" valign="top">
172-
<code>class path</code></td>
173-
<td style="font-size: 10pt" valign="top">
174-
<code>native_file_string()</code></td>
175-
<td style="font-size: 10pt" valign="top">
176-
&#10004;</td>
177-
<td style="font-size: 10pt" valign="top">
178-
<code>string()</code></td>
179-
</tr>
180-
<tr>
181-
<td style="font-size: 10pt" valign="top">
182-
<code>class path</code></td>
183-
<td style="font-size: 10pt" valign="top">
184-
<code>normalize()</code></td>
185-
<td style="font-size: 10pt" valign="top">
186-
&#10004;</td>
187-
<td style="font-size: 10pt" valign="top">
188-
<i>Function removed</i></td>
189-
</tr>
190-
<tr>
191-
<td style="font-size: 10pt" valign="top">
192-
<code>class path</code></td>
193-
<td style="font-size: 10pt" valign="top">
194-
<code>path(const string_type&amp; str, name_check)</code></td>
195-
<td style="font-size: 10pt" valign="top">
196-
&#10004;</td>
197-
<td style="font-size: 10pt" valign="top">
198-
<i>Function removed. Workaround ignores </i><code>name_check</code><i>
199-
argument.</i></td>
200-
</tr>
201-
<tr>
202-
<td style="font-size: 10pt" valign="top">
203-
<code>class path</code></td>
204-
<td style="font-size: 10pt" valign="top">
205-
<code>path(const string_type::value_type* s,&nbsp; name_check)</code></td>
206-
<td style="font-size: 10pt" valign="top">
207-
&#10004;</td>
208-
<td style="font-size: 10pt" valign="top">
209-
<i>Function removed. Workaround ignores </i><code>name_check</code><i>
210-
argument.</i></td>
211-
</tr>
212-
<tr>
213-
<td style="font-size: 10pt" valign="top">
214-
<code>class path</code></td>
215-
<td style="font-size: 10pt" valign="top">
216-
<p style="font-size: 10pt"><code>remove_leaf()</code></td>
217-
<td style="font-size: 10pt" valign="top">
218-
&#10004;</td>
219-
<td style="font-size: 10pt" valign="top">
220-
<p style="font-size: 10pt"><code>remove_filename()</code></td>
221-
</tr>
22266
<tr>
22367
<td style="font-size: 10pt" valign="top">
22468
<code>class path</code></td>
@@ -252,17 +96,6 @@ <h2><a name="Deprecated-names">Deprecated names</a> and features</h2>
25296
<td style="font-size: 10pt" valign="top">
25397
<code>class path</code></td>
25498
</tr>
255-
<tr>
256-
<td style="font-size: 10pt" valign="top">
257-
<code>path.hpp</code></td>
258-
<td style="font-size: 10pt" valign="top">
259-
<code>typedef basic_path&lt;std::wstring, wpath_traits&gt; wpath</code></td>
260-
<td style="font-size: 10pt" valign="top">
261-
&#10004;</td>
262-
<td style="font-size: 10pt" valign="top">
263-
<i>Removed; use </i><code>class path</code><i> instead. Workaround provides
264-
</i><code>typedef path wpath</code></td>
265-
</tr>
26699
<tr>
267100
<td style="font-size: 10pt" valign="top">
268101
<code>operations.hpp</code></td>
@@ -273,178 +106,6 @@ <h2><a name="Deprecated-names">Deprecated names</a> and features</h2>
273106
<td style="font-size: 10pt" valign="top">
274107
<i>Function removed</i></td>
275108
</tr>
276-
<tr>
277-
<td style="font-size: 10pt" valign="top">
278-
<code>operations.hpp</code></td>
279-
<td style="font-size: 10pt" valign="top">
280-
<p dir="ltr"><code>template &lt;class Path&gt;<br>
281-
Path complete(const Path&amp; p,<br>
282-
&nbsp;const Path&amp; base=<br>
283-
&nbsp;&nbsp; initial_path&lt;Path&gt;())</code></td>
284-
<td style="font-size: 10pt" valign="top">
285-
&#10004;</td>
286-
<td style="font-size: 10pt" valign="top">
287-
<p dir="ltr"><code>path absolute(const path&amp; p, const path&amp; base=<br>
288-
&nbsp; current_path())</code></td>
289-
</tr>
290-
<tr>
291-
<td style="font-size: 10pt" valign="top">
292-
<code>operations.hpp</code></td>
293-
<td style="font-size: 10pt" valign="top">
294-
<code>is_regular(file_status f)</code></td>
295-
<td style="font-size: 10pt" valign="top">
296-
&#10004;</td>
297-
<td style="font-size: 10pt" valign="top">
298-
<p dir="ltr">
299-
<code>is_regular_file(file_status f)</code></td>
300-
</tr>
301-
<tr>
302-
<td style="font-size: 10pt" valign="top">
303-
<code>operations.hpp</code></td>
304-
<td style="font-size: 10pt" valign="top">
305-
<code>symbolic_link_exists(const path&amp; ph)</code></td>
306-
<td style="font-size: 10pt" valign="top">
307-
&nbsp;</td>
308-
<td style="font-size: 10pt" valign="top">
309-
<i>Function removed</i></td>
310-
</tr>
311-
<tr>
312-
<td style="font-size: 10pt" valign="top">
313-
<code>operations.hpp</code></td>
314-
<td style="font-size: 10pt" valign="top">
315-
<code>copy_directory(const path&amp; from, const path&amp; to)</code></td>
316-
<td style="font-size: 10pt" valign="top">
317-
&nbsp;</td>
318-
<td style="font-size: 10pt" valign="top">
319-
<i>Function removed, use <code>create_directory(const path&amp; to, const path&amp; from)</code> instead (note the reversed order of arguments)</i></td>
320-
</tr>
321-
<tr>
322-
<td style="font-size: 10pt" valign="top">
323-
<code>class directory_entry</code></td>
324-
<td style="font-size: 10pt" valign="top">
325-
<code>filename()</code></td>
326-
<td style="font-size: 10pt" valign="top">
327-
&#10004;</td>
328-
<td style="font-size: 10pt" valign="top">
329-
<i>Function removed, use </i><code>path().filename()</code><i> instead.</i></td>
330-
</tr>
331-
<tr>
332-
<td style="font-size: 10pt" valign="top">
333-
<code>class directory_entry</code></td>
334-
<td style="font-size: 10pt" valign="top">
335-
<code>leaf()</code></td>
336-
<td style="font-size: 10pt" valign="top">
337-
&#10004;</td>
338-
<td style="font-size: 10pt" valign="top">
339-
<i>Function removed, use </i><code>path().filename()</code><i> instead.</i></td>
340-
</tr>
341-
<tr>
342-
<td style="font-size: 10pt" valign="top">
343-
<code>class directory_entry</code></td>
344-
<td style="font-size: 10pt" valign="top">
345-
<code>string()</code></td>
346-
<td style="font-size: 10pt" valign="top">
347-
&#10004;</td>
348-
<td style="font-size: 10pt" valign="top">
349-
<i>Function removed, use </i><code>path().string()</code><i> instead.</i></td>
350-
</tr>
351-
<tr>
352-
<td style="font-size: 10pt" valign="top"><code>class recursive_directory_iterator</code></td>
353-
<td style="font-size: 10pt" valign="top"><code>level()</code></td>
354-
<td style="font-size: 10pt" valign="top">&#10004;</td>
355-
<td style="font-size: 10pt" valign="top"><code>depth()</code></td>
356-
</tr>
357-
<tr>
358-
<td style="font-size: 10pt" valign="top"><code>class recursive_directory_iterator</code></td>
359-
<td style="font-size: 10pt" valign="top"><code>no_push_pending()</code></td>
360-
<td style="font-size: 10pt" valign="top">&#10004;</td>
361-
<td style="font-size: 10pt" valign="top"><code>!recursion_pending()</code></td>
362-
</tr>
363-
<tr>
364-
<td style="font-size: 10pt" valign="top"><code>class recursive_directory_iterator</code></td>
365-
<td style="font-size: 10pt" valign="top"><code>no_push()</code></td>
366-
<td style="font-size: 10pt" valign="top">&#10004;</td>
367-
<td style="font-size: 10pt" valign="top"><code>disable_recursion_pending()</code></td>
368-
</tr>
369-
<tr>
370-
<td style="font-size: 10pt" valign="top"><code>directory.hpp</code></td>
371-
<td style="font-size: 10pt" valign="top"><code>enum class symlink_option</code></td>
372-
<td style="font-size: 10pt" valign="top">&#10004;</td>
373-
<td style="font-size: 10pt" valign="top"><i>Removed; use corresponding values of </i><code>enum class directory_options</code><i> instead.</i></td>
374-
</tr>
375-
<tr>
376-
<td style="font-size: 10pt" valign="top">
377-
<code>directory.hpp</code></td>
378-
<td style="font-size: 10pt" valign="top">
379-
<code>wrecursive_directory_iterator</code> typedef</td>
380-
<td style="font-size: 10pt" valign="top">
381-
&#10004;</td>
382-
<td style="font-size: 10pt" valign="top">
383-
<i>Removed; use </i><code>class recursive_directory_iterator</code><i> instead. Workaround provides
384-
</i><code>typedef recursive_directory_iterator wrecursive_directory_iterator</code></td>
385-
</tr>
386-
<tr>
387-
<td style="font-size: 10pt" valign="top">
388-
<code>operations.hpp</code></td>
389-
<td style="font-size: 10pt" valign="top">
390-
The header provides <code>filesystem_error</code>, <code>file_status</code>, <code>directory_entry</code>, <code>directory_iterator</code>, <code>recursive_directory_iterator</code> and associated enums and functions.</td>
391-
<td style="font-size: 10pt" valign="top">
392-
&#10004;</td>
393-
<td style="font-size: 10pt" valign="top">
394-
<i>These components were moved to separate headers </i><code>exception.hpp</code><i>, </i><code>file_status.hpp</code><i> and </i><code>directory.hpp</code><i>.
395-
The workaround is to include the new headers or </i><code>filesystem.hpp</code><i>. The new headers are still included by </i><code>operations.hpp</code><i> if
396-
</i><code>BOOST_FILESYSTEM_NO_DEPRECATED</code><i> is not defined.</i></td>
397-
</tr>
398-
<tr>
399-
<td style="font-size: 10pt" valign="top">
400-
<code>path_traits.hpp</code></td>
401-
<td style="font-size: 10pt" valign="top">
402-
The header contains implementation details of class <code>path</code>.</td>
403-
<td style="font-size: 10pt" valign="top">
404-
&#10004;</td>
405-
<td style="font-size: 10pt" valign="top">
406-
<i>The header is deprecated and should not be used in user's code. Unavailable if </i><code>BOOST_FILESYSTEM_NO_DEPRECATED</code><i> is defined and will be permanently removed in a future release.</i></td>
407-
</tr>
408-
<tr>
409-
<td style="font-size: 10pt" valign="top">
410-
Macro definitions</td>
411-
<td style="font-size: 10pt" valign="top">
412-
<code>BOOST_WINDOW_API</code></td>
413-
<td style="font-size: 10pt" valign="top">
414-
&nbsp;</td>
415-
<td style="font-size: 10pt" valign="top">
416-
<i>No longer supported; API selection is always automatic.</i></td>
417-
</tr>
418-
<tr>
419-
<td style="font-size: 10pt" valign="top">
420-
Macro definitions</td>
421-
<td style="font-size: 10pt" valign="top">
422-
<code>BOOST_POSIX_API</code></td>
423-
<td style="font-size: 10pt" valign="top">
424-
&nbsp;</td>
425-
<td style="font-size: 10pt" valign="top">
426-
<i>No longer supported; API selection is always automatic.</i></td>
427-
</tr>
428-
<tr>
429-
<td style="font-size: 10pt" valign="top">
430-
Macro definitions</td>
431-
<td style="font-size: 10pt" valign="top">
432-
<code>BOOST_WINDOW_PATH</code></td>
433-
<td style="font-size: 10pt" valign="top">
434-
&nbsp;</td>
435-
<td style="font-size: 10pt" valign="top">
436-
<i>No longer supported; native path format selection is always automatic.</i></td>
437-
</tr>
438-
<tr>
439-
<td style="font-size: 10pt" valign="top">
440-
Macro definitions</td>
441-
<td style="font-size: 10pt" valign="top">
442-
<code>BOOST_POSIX_PATH</code></td>
443-
<td style="font-size: 10pt" valign="top">
444-
&nbsp;</td>
445-
<td style="font-size: 10pt" valign="top">
446-
<i>No longer supported; native path format selection is always automatic.</i></td>
447-
</tr>
448109
<tr>
449110
<td style="font-size: 10pt" valign="top">
450111
Build system</td>
@@ -471,7 +132,7 @@ <h3><code>initial_path</code> function</h3>
471132
<hr>
472133

473134
<p>&copy; Copyright Beman Dawes, 2002-2005, 2010</p>
474-
<p>&copy; Copyright Andrey Semashev, 2019-2021</p>
135+
<p>&copy; Copyright Andrey Semashev, 2019-2024</p>
475136
<p> Use, modification, and distribution are subject to the Boost Software
476137
License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
477138
www.boost.org/LICENSE_1_0.txt</a></p>

0 commit comments

Comments
 (0)