Skip to content

Commit 78a43a4

Browse files
committed
doc: How to build a DataTree
1 parent a61243e commit 78a43a4

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

src/data_tree.rs

+7
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ use super::size::Size;
88

99
/// Disk usage data of a filesystem tree.
1010
///
11+
/// **Construction:** There are 3 main ways to create a `DataTree`:
12+
/// * Use [`FsTreeBuilder`](crate::fs_tree_builder::FsTreeBuilder) to create it from the real
13+
/// filesystem.
14+
/// * Use [`TreeBuilder`](crate::tree_builder::TreeBuilder) to create it from a representation
15+
/// of a filesystem.
16+
/// * Use [`Reflection`].
17+
///
1118
/// **Visualization:** Use the [`Visualizer`](crate::visualizer::Visualizer) struct to create an
1219
/// ASCII chart that visualizes `DataTree`.
1320
///

src/fs_tree_builder.rs

+20
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,25 @@ use std::{
1212
};
1313

1414
/// Build a [`DataTree`] from a directory tree using [`From`] or [`Into`].
15+
///
16+
/// **Example:**
17+
///
18+
/// ```no_run
19+
/// # use parallel_disk_usage::fs_tree_builder::FsTreeBuilder;
20+
/// use parallel_disk_usage::{
21+
/// data_tree::DataTree,
22+
/// os_string_display::OsStringDisplay,
23+
/// reporter::{ErrorOnlyReporter, ErrorReport},
24+
/// size::Bytes,
25+
/// size_getters::GET_APPARENT_SIZE,
26+
/// };
27+
/// let builder = FsTreeBuilder {
28+
/// root: std::env::current_dir().unwrap(),
29+
/// get_data: GET_APPARENT_SIZE,
30+
/// reporter: ErrorOnlyReporter::new(ErrorReport::SILENT),
31+
/// };
32+
/// let data_tree: DataTree<OsStringDisplay, Bytes> = builder.into();
33+
/// ```
1534
#[derive(Debug)]
1635
pub struct FsTreeBuilder<Data, GetData, Report>
1736
where
@@ -34,6 +53,7 @@ where
3453
GetData: Fn(&Metadata) -> Data + Sync,
3554
Report: Reporter<Data> + Sync,
3655
{
56+
/// Create a [`DataTree`] from an [`FsTreeBuilder`].
3757
fn from(builder: FsTreeBuilder<Data, GetData, Report>) -> Self {
3858
let FsTreeBuilder {
3959
root,

src/tree_builder.rs

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ where
3434
GetInfo: Fn(&Path) -> Info<Name, Data> + Copy + Send + Sync,
3535
JoinPath: Fn(&Path, &Name) -> Path + Copy + Send + Sync,
3636
{
37+
/// Create a [`DataTree`] from a [`TreeBuilder`].
3738
fn from(builder: TreeBuilder<Path, Name, Data, GetInfo, JoinPath>) -> Self {
3839
let TreeBuilder {
3940
path,

0 commit comments

Comments
 (0)