MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / split_csv

Function split_csv

src/framework/runtime/registry.cpp:41–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39#include "engine/models/vibevoice/loader.h"
40#include "engine/models/vibevoice_asr/loader.h"
41#include "engine/models/voxtral_realtime/loader.h"
42#include "engine/models/voxcpm2/loader.h"
43
44#include <algorithm>
45#include <cctype>
46#include <stdexcept>
47
48namespace engine::runtime {
49
50namespace {
51
52std::vector<std::string> split_csv(std::string value) {
53 std::vector<std::string> items;
54 size_t start = 0;
55 while (start <= value.size()) {
56 const size_t end = value.find(',', start);
57 std::string item = value.substr(start, end == std::string::npos ? std::string::npos : end - start);
58 item.erase(item.begin(), std::find_if(item.begin(), item.end(), [](unsigned char ch) { return std::isspace(ch) == 0; }));
59 item.erase(std::find_if(item.rbegin(), item.rend(), [](unsigned char ch) { return std::isspace(ch) == 0; }).base(), item.end());
60 if (!item.empty()) {
61 items.push_back(std::move(item));

Callers 1

load_registry_configFunction · 0.70

Calls 6

sizeMethod · 0.45
findMethod · 0.45
eraseMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected