7#ifndef PLACEMENTNAMEREGISTRY_HH
8#define PLACEMENTNAMEREGISTRY_HH
11#include <unordered_map>
14 class PlacementNameRegistry {
15 static std::unordered_map<std::string, int> name_counts_;
16 static std::mutex registry_mutex_;
20 static int IncrementNameCount(
const std::string &base_name) {
21 std::lock_guard<std::mutex> lock(registry_mutex_);
22 auto retval = ++name_counts_[base_name];
26 static int GetNameCount(
const std::string &base_name) {
27 std::lock_guard<std::mutex> lock(registry_mutex_);
28 auto it = name_counts_.find(base_name);
29 return (it != name_counts_.end()) ? it->second : 0;