/*!
* @class SimpleScore
*
* @extends Score
*
* @headerfile <seqan/score.h>
*
* @brief Simple scoring scheme that has scores for matches, mismatches, opening
* gaps and extending gaps.
*
* @signature template <typename TValue> class Score<TValue, Simple>;
*
* @tparam TValue The score value to use.
*
* @fn SimpleScore::Score
*
* @brief Constructor
*
* @signature Score::Score();
* @signature Score::Score(score);
* @signature Score::Score(match, mismatch, gap[, gapOpen]);
*
* @param[in] score Other SimpleScore object to copy from.
* @param[in] match Match score value, type TValue, default 0.
* @param[in] msmatch Mismatch score value, type TValue, default -1.
* @param[in] gap Gap extension value, type TValue, default -1.
* @param[in] gapOpen Gap open value (defaults to gap), type TValue.
*
* @fn SimpleScore#scoreMatch
*
* @brief Match score
*
* @signature TValue scoreMatch(score);
*
* @param[in] score The SimpleScore scoring scheme.
*
* @return TValue The match score.
*
* @fn SimpleScore#setScoreMatch
*
* @brief Set match score.
*
* @signature void setScoreMatch(score, value);
*
* @param[in,out] score The SimpleScore scoring scheme to set the value for.
* @param[in] value The value to set the match score to.
*
* @fn SimpleScore#scoreMismatch
*
* @brief Set mismatch score.
*
* @signature TValue scoreMismatch(score);
*
* @param[in] score The SimpleScore to query for its mismatch score.
*
* @return TValue The mismatch score.
*
* @fn SimpleScore#setScoreMismatch
*
* @brief Set mismatch score.
*
* @signature void setScoreMismatch(score, value);
*
* @param[in,out] score The SimpleScore scoring scheme to set the mismatch value
* for.
* @param[in] value The value to set the mismatch score to.
*
* @fn SimpleScore#scoreGapExtend
*
* @brief Set gap extension score.
*
* @signature TValue scoreGapExtend(score);
*
* @param[in] score The SimpleScore to query for its gap extension score.
*
* @return TValue The gap extension score.
*
* @fn SimpleScore#scoreGapOpen
*
* @brief Set gap open score.
*
* @signature TValue scoreGapOpen(score);
*
* @param[in] score The SimpleScore to query for its gap open score.
*
* @return TValue The gap open score.
*
* @fn SimpleScore#setScoreGapOpen
*
* @brief Set gap open score.
*
* @signature void setScoreGapOpen(score, value);
*
* @param[in,out] score The SimpleScore scoring scheme to set the gap open value
* for.
* @param[in] value The value to set the gap open score to.
*
* @fn SimpleScore#scoreGap
*
* @brief Set gap score.
*
* @signature TValue scoreGap(score);
*
* @param[in] score The SimpleScore to query for its gap score.
*
* @return TValue The gap score.
*
* @fn SimpleScore#setScoreGap
*
* @brief Set gap score.
*
* @signature void setScoreGap(score, value);
*
* @param[in,out] score The SimpleScore scoring scheme to set the gap value for.
* @param[in] value The value to set the gap score to.
*/