#include "backend/IConfig.h"
#include "util/logging.h"
#include "util/ConfigSource.h"
+#include "misc/string_helpers.h"
namespace neurun
{
BackendManager::BackendManager()
{
const auto backends = util::getConfigString(util::config::BACKENDS);
- size_t prev_pos = 0;
- auto pos = backends.find(";");
- while (pos != std::string::npos)
+ for (auto &backend_id : nnfw::misc::split(backends, ';'))
{
- loadBackend(backends.substr(prev_pos, pos - prev_pos));
- prev_pos = pos + 1;
- pos = backends.find(";", prev_pos);
- }
- // if backends doesn't terminate with ";"
- if (prev_pos < backends.size())
- {
- loadBackend(backends.substr(prev_pos));
+ loadBackend(backend_id);
}
// No loaded backend
- if (_available_backends.size() == 0)
+ if (_available_backends.empty())
{
VERBOSE(BackendManager::loadBackend) << "There is no loaded backend\n";
abort();