<commit_before>#pragma once

#include <cstdint>
#include <iostream>
#include <pqrs/osx/iokit_types.hpp>
#include <type_safe/strong_typedef.hpp>
#include <unordered_set>

namespace krbn {
struct device_id : type_safe::strong_typedef<device_id, uint64_t>,
                   type_safe::strong_typedef_op::equality_comparison<device_id>,
                   type_safe::strong_typedef_op::relational_comparison<device_id> {
  using strong_typedef::strong_typedef;
};

inline size_t hash_value(const device_id& value) {
  return std::hash<uint64_t>{}(type_safe::get(value));
}

inline std::ostream& operator<<(std::ostream& stream, const device_id& value) {
  return stream << type_safe::get(value);
}

inline device_id make_device_id(const pqrs::osx::iokit_registry_entry_id& value) {
  return device_id(type_safe::get(value));
}
} // namespace krbn

namespace std {
template <>
struct hash<krbn::device_id> : type_safe::hashable<krbn::device_id> {
};
} // namespace std<commit_msg>update device_id<commit_after>#pragma once

#include <pqrs/osx/iokit_types.hpp>

namespace krbn {
using device_id = pqrs::osx::iokit_registry_entry_id;

inline device_id make_device_id(const pqrs::osx::iokit_registry_entry_id& value) {
  return value;
}
} // namespace krbn
{'fraction_non_alphanumeric': 0.1272, 'fraction_numerical': 0.0032, 'mean_word_length': 6.315789473684211, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 16, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '944946', 'n_tokens_mistral': 465, 'n_tokens_neox': 445, 'n_words': 74}