src/bin/explain_algorithm.cpp
static std::string GetArgumentList(
        std::map<std::string, headcode::crypt::Algorithm::Description::ArgumentDefinition> const & arguments,
        std::string const & indent = "    ") {

    if (arguments.empty()) {
        return std::string{"n/a"};
    }

    std::stringstream ss;
    for (auto const & [name, definition] : arguments) {
        ss << indent << "Name: " << name << std::endl;
        ss << indent << indent << "Description: " << definition.description_ << std::endl;
        ss << indent << indent << "Size: " << GetBlockSizeText(definition.size_) << std::endl;
        ss << indent << indent
           << "Padding strategy: " << headcode::crypt::GetPaddingStrategyText(definition.padding_strategy_)
           << std::endl;
        ss << indent << indent << "Mandatory: " << (definition.optional_ ? "no" : "yes") << std::endl;
    }

    return ss.str();
}
/**
 * @brief   Gets a text describing the found arguments.
 * @param   arguments       the arguments of some parts of the algorithm.
 * @param   indent          the indention of each line.
 * @return  A text describing the arguments.
 */
@brief   Gets a text describing the found arguments.
@param   arguments       the arguments of some parts of the algorithm.
@param   indent          the indention of each line.
@return  A text describing the arguments.
@brief Gets a text describing the found arguments . @param arguments the arguments of some parts of the algorithm . @param indent the indention of each line . @return A text describing the arguments .
static std::string GetArgumentList(
        std::map<std::string, headcode::crypt::Algorithm::Description::ArgumentDefinition> const & arguments,
        std::string const & indent = "    ") {
    if (arguments.empty()) {
        return std::string{"n/a"};
    }
    std::stringstream ss;
    for (auto const & [name, definition] : arguments) {
        ss << indent << "Name: " << name << std::endl;
        ss << indent << indent << "Description: " << definition.description_ << std::endl;
        ss << indent << indent << "Size: " << GetBlockSizeText(definition.size_) << std::endl;
        ss << indent << indent
           << "Padding strategy: " << headcode::crypt::GetPaddingStrategyText(definition.padding_strategy_)
           << std::endl;
        ss << indent << indent << "Mandatory: " << (definition.optional_ ? "no" : "yes") << std::endl;
    }
    return ss.str();
}
static std :: string GetArgumentList ( std :: map < std :: string , headcode :: crypt :: Algorithm :: Description :: ArgumentDefinition > const & arguments , std :: string const & indent = " " ) { if ( arguments . empty ( ) ) { return std :: string { " " } ; } std :: stringstream ss ; for ( auto const & [ name , definition ] : arguments ) { ss << indent << " " << name << std :: endl ; ss << indent << indent << " " << definition . description_ << std :: endl ; ss << indent << indent << " " << GetBlockSizeText ( definition . size_ ) << std :: endl ; ss << indent << indent << " " << headcode :: crypt :: GetPaddingStrategyText ( definition . padding_strategy_ ) << std :: endl ; ss << indent << indent << " " << ( definition . optional_ ? " " : " " ) << std :: endl ; } return ss . str ( ) ; }
@brief   Gets a text describing the found arguments.
@brief Gets a text describing the found arguments .