From 172c41eee6ef8759a4b58097c247539094141f8c Mon Sep 17 00:00:00 2001
From: Daniel Rose <droseger@protonmail.com>
Date: Fri, 29 Jun 2018 11:46:21 +0200
Subject: [PATCH] Documentation headers with code examples added to modules

---
 src/lib.rs              | 10 ++++++++++
 src/trees/bp_tree.rs    | 27 +++++++++++++++++++++++++++
 src/trees/louds_tree.rs | 26 ++++++++++++++++++++++++++
 3 files changed, 63 insertions(+)

diff --git a/src/lib.rs b/src/lib.rs
index f08ebd1..964976e 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,3 +1,13 @@
+// Copyright 2018 Kevin Kaßelmann, David Mehren, Daniel Rose and Frederik Stehli.
+// Licensed under the MIT license (http://opensource.org/licenses/MIT)
+// This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Succinct Tree library with implementations for the succinct trees LOUDS, BP
+//! and the Range Min Max data structure. LOUDS and BP use the Rank/Select data
+//! structure from the Rust-Bio crate. Code examples can be found in the submodules.
+
+
 extern crate bio;
 #[macro_use]
 extern crate bv;
diff --git a/src/trees/bp_tree.rs b/src/trees/bp_tree.rs
index eb12b6e..6f49d24 100644
--- a/src/trees/bp_tree.rs
+++ b/src/trees/bp_tree.rs
@@ -1,3 +1,30 @@
+// Copyright 2018 Kevin Kaßelmann.
+// Licensed under the MIT license (http://opensource.org/licenses/MIT)
+// This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! BP succinct tree implementation based on Jacobson (1989), Munro and Raman (2001),
+//! Arroyuelo et al. (2010) and Cordova and Navarro (2016).
+//!
+//! Example
+//!
+//! ```
+//! #[macro_use]
+//! extern crate bv;
+//! # extern crate fp_succinct_trees_1;
+//!
+//! # fn main() {
+//! use bv::BitVec;
+//! use bv::Bits;
+//! use fp_succinct_trees_1::common::succinct_tree::SuccinctTree;
+//! use fp_succinct_trees_1::trees::bp_tree::BPTree;
+//!
+//! let bitvec = bit_vec!(true, true, false, false);
+//! let tree = BPTree::from_bitvec(bitvec.clone()).unwrap();
+//! assert!(tree.is_leaf(1).unwrap());
+//! # }
+//! ```
+
 use bincode::{deserialize, serialize};
 use bio::data_structures::rank_select::RankSelect;
 use bv::BitVec;
diff --git a/src/trees/louds_tree.rs b/src/trees/louds_tree.rs
index e2d974e..ae46913 100644
--- a/src/trees/louds_tree.rs
+++ b/src/trees/louds_tree.rs
@@ -1,3 +1,29 @@
+// Copyright 2018 David Mehren.
+// Licensed under the MIT license (http://opensource.org/licenses/MIT)
+// This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! LOUDS succinct tree implementation based on Jacobson (1989) and Arroyuelo et al. (2010)
+//!
+//! Example
+//!
+//! ```
+//! #[macro_use]
+//! extern crate bv;
+//! # extern crate fp_succinct_trees_1;
+//!
+//! # fn main() {
+//! use bv::BitVec;
+//! use bv::Bits;
+//! use fp_succinct_trees_1::common::succinct_tree::SuccinctTree;
+//! use fp_succinct_trees_1::trees::louds_tree::LOUDSTree;
+//!
+//! let bitvec = bit_vec![true, true, false, false];
+//! let tree = LOUDSTree::from_bitvec(bitvec.clone()).unwrap();
+//! assert!(tree.is_leaf(3).unwrap());
+//! # }
+//! ```
+
 use bincode::{deserialize, serialize};
 use bio::data_structures::rank_select::RankSelect;
 use bv::{BitVec, Bits};
-- 
GitLab