Template Class ClassMatcherMixin

Class Documentation

template<class ClassType, typename Key = std::vector<std::type_index>, typename KeyHash = utils::TypeIndexVectorHash, typename KeyEqualTo = std::equal_to<std::vector<std::type_index>>>
class sparsebase::utils::ClassMatcherMixin

Protected Functions

void RegisterClass(std::vector<std::type_index> instants, ClassType)
std::tuple<ClassType, std::vector<std::type_index>> MatchClass(std::unordered_map<std::type_index, ClassType> &source, std::vector<std::type_index> &ordered, unsigned int K)
void GetClassesHelper(std::unordered_map<std::type_index, ClassType> &source, std::vector<std::type_index> &ordered, std::vector<ClassType> &res)
std::vector<ClassType> GetClasses(std::unordered_map<std::type_index, ClassType> &source)

Protected Attributes

std::unordered_map<Key, ClassType, KeyHash, KeyEqualTo> map_