/*
 * BWTAuxiliaryArraysGenerate.cpp
 *
 *  Created on: 16. 02. 2021
 *      Author: Martin Prokopic
 */

#include <registration/AlgoRegistration.hpp>
#include <string/LinearStringTerminatingSymbol.h>
#include "BWTAuxiliaryDataConstruct.h"

namespace {

auto BWTAuxiliaryDataConstructBitmask = registration::AbstractRegister <
        stringology::indexing::BWTAuxiliaryDataConstruct,
        indexes::stringology::BWTAuxiliaryData < >,
        const string::LinearStringTerminatingSymbolBWT < > &,
        unsigned > ( stringology::indexing::BWTAuxiliaryDataConstruct::construct ).setDocumentation (
        "Construct auxiliary data specified by dataTypeBitmask for BWT-encoded string str.\n"
        "\n"
        "@tparam SymbolType\n"
        "@param str the input BWT-encoded string\n"
        "@param dataTypeBitmask the data types to construct, a bitmask of BWTAuxiliaryDataType items\n"
        "@return the constructed auxiliary data" );

auto BWTAuxiliaryDataConstruct = registration::AbstractRegister <
        stringology::indexing::BWTAuxiliaryDataConstruct,
        indexes::stringology::BWTAuxiliaryData < >,
        const string::LinearStringTerminatingSymbolBWT < > & > (
        stringology::indexing::BWTAuxiliaryDataConstruct::construct ).setDocumentation (
        "Construct all auxiliary data for BWT-encoded string str.\n"
        "\n"
        "@tparam SymbolType\n"
        "@param str the input BWT-encoded string\n"
        "@return the constructed auxiliary data" );

} /* namespace */