X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2FAtomicHashMap-inl.h;h=2dc552559b36bce0e660d07eaf05c92b8ce9eaa3;hb=943afd983a0bce0f1962717a70aa7ab2d3e49a68;hp=25ca05e11da0647ce53372169c6f339b8a3e4069;hpb=fbfe105970bcf88e8c123046f84bebdfe24f8801;p=folly.git diff --git a/folly/AtomicHashMap-inl.h b/folly/AtomicHashMap-inl.h index 25ca05e1..2dc55255 100644 --- a/folly/AtomicHashMap-inl.h +++ b/folly/AtomicHashMap-inl.h @@ -54,18 +54,20 @@ AtomicHashMap< } // emplace -- -template -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> +template < + typename LookupKeyT, + typename LookupHashFcn, + typename LookupEqualFcn, + typename LookupKeyToKeyFcn, + typename... ArgTs> std::pair::iterator, bool> AtomicHashMap -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> +template < + typename LookupKeyT, + typename LookupHashFcn, + typename LookupEqualFcn, + typename LookupKeyToKeyFcn, + typename... ArgTs> typename AtomicHashMap:: SimpleRetT @@ -176,13 +180,14 @@ insertInternal(LookupKeyT key, ArgTs&&... vCtorArgs) { } // find -- -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> template typename AtomicHashMap:: @@ -198,13 +203,14 @@ AtomicHashMapmakeIter(ret.j)); } -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> template typename AtomicHashMap::const_iterator @@ -217,13 +223,14 @@ find(LookupKeyT k) const { } // findInternal -- -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> template typename AtomicHashMap:: @@ -256,13 +263,14 @@ AtomicHashMap +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> typename AtomicHashMap:: SimpleRetT @@ -285,13 +293,14 @@ findAtInternal(uint32_t idx) const { } // erase -- -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> typename AtomicHashMap:: size_type @@ -310,13 +319,14 @@ erase(const KeyT k) { } // capacity -- summation of capacities of all submaps -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> size_t AtomicHashMap:: capacity() const { @@ -330,13 +340,14 @@ capacity() const { // spaceRemaining -- // number of new insertions until current submaps are all at max load -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> size_t AtomicHashMap:: spaceRemaining() const { @@ -354,13 +365,14 @@ spaceRemaining() const { // clear -- Wipes all keys and values from primary map and destroys // all secondary maps. Not thread safe. -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> void AtomicHashMap:: clear() { @@ -377,13 +389,14 @@ clear() { } // size -- -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> size_t AtomicHashMap:: size() const { @@ -413,13 +426,14 @@ size() const { // 31 1 // 27-30 which subMap // 0-26 subMap offset (index_ret input) -template +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> inline uint32_t AtomicHashMap:: @@ -438,13 +452,14 @@ AtomicHashMap +template < + typename KeyT, + typename ValueT, + typename HashFcn, + typename EqualFcn, + typename Allocator, + typename ProbeFcn, + typename KeyConvertFcn> template struct AtomicHashMap::