LCOV - code coverage report
Current view: top level - json/detail - digest.hpp (source / functions) Coverage Total Hit
Test: coverage_remapped.info Lines: 100.0 % 7 7
Test Date: 2026-03-05 09:04:27 Functions: 100.0 % 2 2

           TLA  Line data    Source code
       1                 : //
       2                 : // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
       3                 : //
       4                 : // Distributed under the Boost Software License, Version 1.0. (See accompanying
       5                 : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       6                 : //
       7                 : // Official repository: https://github.com/boostorg/json
       8                 : //
       9                 : 
      10                 : #ifndef BOOST_JSON_DETAIL_DIGEST_HPP
      11                 : #define BOOST_JSON_DETAIL_DIGEST_HPP
      12                 : 
      13                 : namespace boost {
      14                 : namespace json {
      15                 : namespace detail {
      16                 : 
      17                 : // Calculate salted digest of string
      18                 : template<class ForwardIterator>
      19                 : std::size_t
      20 HIT       10779 : digest(
      21                 :     ForwardIterator b,
      22                 :     ForwardIterator e,
      23                 :     std::size_t salt) noexcept
      24                 : {
      25                 : #if BOOST_JSON_ARCH == 64
      26           10779 :     std::uint64_t const prime = 0x100000001B3ULL;
      27           10779 :     std::uint64_t hash  = 0xcbf29ce484222325ULL;
      28                 : #else
      29                 :     std::uint32_t const prime = 0x01000193UL;
      30                 :     std::uint32_t hash  = 0x811C9DC5UL;
      31                 : #endif
      32           10779 :     hash += salt;
      33           30238 :     for(; b != e; ++b)
      34           19459 :         hash = (*b ^ hash) * prime;
      35           10779 :     return hash;
      36                 : }
      37                 : 
      38                 : } // detail
      39                 : } // namespace json
      40                 : } // namespace boost
      41                 : 
      42                 : #endif
        

Generated by: LCOV version 2.3