From 9758b85c55b005a18d91acb4508f2c6b76dba3e2 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Thu, 28 Feb 2019 20:31:34 -0500 Subject: librawr provides identifier --- identifier.h | 59 ----------------------------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 identifier.h (limited to 'identifier.h') diff --git a/identifier.h b/identifier.h deleted file mode 100644 index 74d83ce..0000000 --- a/identifier.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef IDENTIFIER_H_D7EE5679 -#define IDENTIFIER_H_D7EE5679 - -#include -#include - -template -class identifier { -public: - - using value_type = T; - -private: - - using vector_type = std::vector; - -public: - - using key_type = typename vector_type::size_type; - - key_type add(const value_type& val) - { - auto it = ids_.find(val); - - if (it == std::end(ids_)) - { - key_type ret = ids_.size(); - ids_[val] = ret; - - uniq_.push_back(val); - - return ret; - } else { - return it->second; - } - } - - void compile() - { - ids_.clear(); - } - - inline const value_type& get(key_type i) const - { - return uniq_.at(i); - } - - inline key_type size() const - { - return uniq_.size(); - } - -private: - - std::map ids_; - vector_type uniq_; -}; - -#endif /* end of include guard: IDENTIFIER_H_D7EE5679 */ -- cgit 1.4.1