[][src]Crate paginate

A framework agnostic pagination crate, that is especially suited for databases, collections and web pages.

Example

To iterate over each page:

use paginate::Pages;

fn print_pages() {
    let total_items = 100usize;
     let items_per_page = 5usize;
     let pages = Pages::new(total_items, items_per_page);
     for page in pages.into_iter() {
         println!("offset: {}, total: {}, start: {}, end: {}", page.offset, page.length, page.start, page.end);
     }
}

To get the pagination of a specific offset:

use paginate::Pages;

fn print_test() {
    let total_items = 35;
    let items_per_page = 5;
    let pages = Pages::new(total_items, items_per_page);
    let page = pages.with_offset(3);
    println!("offset: {}, total: {}, start: {}, end: {}", page.offset, page.length, page.start, page.end);
}

Structs

Page

Defines the properties of a page.

Pages

Defines the pages to facilitate pagination.