Sha256: 3c925c941da093554b21a5e8d635469c7552eccf3d8338db00196ca4cd2c8ac0

Contents?: true

Size: 613 Bytes

Versions: 245

Compression:

Stored size: 613 Bytes

Contents

#include "nucleotide_count.h"
#include <stdexcept>

namespace dna
{

counter::counter(std::string const& sequence)
    : counts_({ {'A', 0}, {'C', 0}, {'G', 0}, {'T', 0} })
{
    for (auto nucleotide : sequence) {
        auto it = counts_.find(nucleotide);
        if (it == counts_.end()) {
            throw std::invalid_argument("Unknown nucleotide");
        }
        ++(it->second);
    }
}

int counter::count(char nucleotide) const
{
    const auto it = counts_.find(nucleotide);
    if (it == counts_.end()) {
        throw std::invalid_argument("Unknown nucleotide");
    }
    return it->second;
}

}

Version data entries

245 entries across 245 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.179 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.178 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.177 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.176 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.175 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.174 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.173 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.172 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.171 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.170 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.169 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.167 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.166 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.165 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.164 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.163 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.162 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.161 tracks/cpp/exercises/nucleotide-count/example.cpp
trackler-2.2.1.160 tracks/cpp/exercises/nucleotide-count/example.cpp