#pragma once #include #include namespace MbD { template class SparseVector : public std::map { public: SparseVector() {} SparseVector(std::initializer_list> list) : std::map{ list } {} SparseVector(std::initializer_list> list) { for (auto pair : list) { int i = 0; int index; T value; for (auto element : pair) { if (i == 0) index = (int)std::round(element); ; if (i == 1) value = element; i++; } this->insert(std::pair(index, value)); } } }; }