LCOV - code coverage report
Current view: top level - app/include/utils - reference_wrapper.hpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 4 0.0 %
Date: 2023-08-17 16:45:52 Functions: 0 0 -

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include <functional>
       4             : 
       5             : namespace utils::reference_wrapper {
       6             : 
       7             : template<typename T>
       8             : struct hash {
       9           0 :     size_t operator()(const std::reference_wrapper<T> &t) const {
      10           0 :         return std::hash<T>()(t.get());
      11             :     }
      12             : };
      13             : 
      14             : template<typename T>
      15             : struct equal_to {
      16           0 :     bool operator()(const std::reference_wrapper<T> &a, const std::reference_wrapper<T> &b) const {
      17           0 :         return a.get() == b.get();
      18             :     }
      19             : };
      20             : 
      21             : template<typename T>
      22             : struct less {
      23             :     bool operator()(const std::reference_wrapper<T> &a, const std::reference_wrapper<T> &b) const {
      24             :         return a.get() < b.get();
      25             :     }
      26             : };
      27             : 
      28             : template<typename T>
      29             : bool operator==(const std::reference_wrapper<T> &a, const std::reference_wrapper<T> &b) {
      30             :     return a.get() == b.get();
      31             : }
      32             : 
      33             : template<typename T>
      34             : bool operator!=(const std::reference_wrapper<T> &a, const std::reference_wrapper<T> &b) {
      35             :     return !(a == b);
      36             : }
      37             : 
      38             : }  // namespace utils::reference_wrapper

Generated by: LCOV version 1.14