/**
Utility functions used by tsv-utils programs.

A few of the utilities that may be of more general interest:

$(LIST
    * [tsv_utils.common.utils.InputFieldReordering] - A class that creates a reordered
      subset of fields from an input line. Used to operate on a subset of fields in the
      order specified on the command line.
    * [tsv_utils.common.utils.BufferedOutputRange] - An OutputRange with an internal
      buffer used to buffer output. Intended for use with stdout, it is a significant
      performance benefit.
    * [tsv_utils.common.utils.bufferedByLine] - An input range that reads from a File
      handle line by line. It is similar to standard library method std.stdio.File.byLine,
      but quite a bit faster. This is achieved by reading in larger blocks and buffering.
    * [tsv_utils.common.numerics.quantile] - Calculates a cummulative probability for
      values in a data set. Supports the same interpolation methods as the quantile
      function in R and many other statistical packages.
    * [tsv_utils.common.numerics.rangeMedian] - Finds the median in a range. Implements
      via the faster of std.algorithm.topN or std.algorithm.sort depending on the
      Phobos version.
    * [tsv_utils.common.numerics.formatNumber] - An alternate print format for numbers,
      especially useful when doubles are being used to represent integer and float values.
    * [tsv_utils.common.getopt_inorder.getoptInorder] - A cover for std.getopt that
      processes command line arguments in the order given on the command line.
    * [tsv_utils.common.fieldlist] - Routines supporting entry of $(I field-lists) on the
      command line.
)

Copyright (c) 2015-2021, eBay Inc.
Initially written by Jon Degenhardt

License: Boost License 1.0 (http://boost.org/LICENSE_1_0.txt)
*/
module tsv_utils.common;