24 std::cerr <<
"*******************************************************************************" << std::endl;
25 std::cerr <<
" Experimental features are now enabled in ChimeraTK DeviceAccess" << std::endl;
26 std::cerr <<
"*******************************************************************************" << std::endl;
35 static void check(
const std::string& featureName) {
37 std::cerr <<
"You are using the experimental feature '" << featureName
38 <<
"' but do not have experimental features enabled!" << std::endl;
41 std::lock_guard<std::mutex> guard(reminder.lock_useCount);
42 reminder.useCount[featureName]++;
46 static std::atomic<bool> isEnabled;
52 if(ExperimentalFeatures::isEnabled) {
53 std::cerr <<
"*******************************************************************************" << std::endl;
54 std::cerr <<
" Experimental features were enabled in ChimeraTK DeviceAccess" << std::endl;
55 std::cerr <<
" The following features were used (use count):" << std::endl;
56 for(
auto& uc : useCount) {
57 std::cerr <<
" - " << uc.first <<
" (" << uc.second <<
")" << std::endl;
59 std::cerr <<
"*******************************************************************************" << std::endl;
62 std::map<std::string, uint64_t> useCount;
63 std::mutex lock_useCount;
65 static Reminder reminder;