squeeze-1.0.4.8: A file-packing application.

Safe HaskellNone
LanguageHaskell2010

Squeeze.Data.FileCombination

Contents

Description

AUTHOR
Dr. Alistair Ward
DESCRIPTION
A data-type which references a set of files by their paths, and qualifies them with their aggregate size.

Synopsis

Types

Data-types

data FileCombination Source

Declare a list of files qualified by its aggregate size.

Constants

nullFileCombination :: FileCombination Source

A constant empty instance.

Functions

prepend Source

Arguments

:: FileSizeAndPath

The new path to prepend to the incumbent file-combination.

-> FileCombination

The incumbent combination of files.

-> FileCombination 

risingFilter Source

Arguments

:: FileSize

The initial minimum byte-size of file to accept.

-> [FileCombination]

The input list of files to filter.

-> [FileCombination]

The resulting list of files, which have met rising criterion.

Progressively raises the selection-criterion as each match is found, to produce monotonically increasing file-combinations.

risingMergeByAggregateFileSize Source

Arguments

:: [FileCombination]

A list of monotonically increasing file-combinations.

-> [FileCombination]

A list of monotonically increasing file-combinations.

-> [FileCombination] 

Merges two lists of monotonically increasing lists of file-combinations, into a single monotonically increasing list, by dropping values which have a smaller aggregate size than results already found.

Constructors

Predicates

hasSizeBy Source

Arguments

:: (FileSize -> Bool)

The predicate.

-> FileCombination

The input datum to be tested.

-> Bool 

Predicate used to determine whether a specific file-combination matches a size-related requirement.