next                                                                                                                                                                                
 json/tests/src/unit-items.cpp:739                                                       │ json/tests/src/unit-items.cpp:42                                                         
                                                                                                                                                                                   
    SECTION("object")                                                                          SECTION("object")                                                                   
    {                                                                                          {                                                                                   
        SECTION("value")                                                                           SECTION("value")                                                                
        {                                                                                          {                                                                               
            json j = { {"A", 1}, {"B", 2} };                                                           json j = { {"A", 1}, {"B", 2} };                                            
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto i : j.items()) // NOLINT(performance-for-range-copy)                             for (auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-range-cop
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "A");                                                                     CHECK(i.key() == "A");                                          
                        CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "B");                                                                     CHECK(i.key() == "B");                                          
                        CHECK(i.value() == json(2));                                                               CHECK(i.value() == json(2));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("reference")                                                                       SECTION("reference")                                                            
        {                                                                                          {                                                                               
            json j = { {"A", 1}, {"B", 2} };                                                           json j = { {"A", 1}, {"B", 2} };                                            
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto& i : j.items())                                                                  for (auto& i : json::iterator_wrapper(j))                                   
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "A");                                                                     CHECK(i.key() == "A");                                          
                        CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                    
                                                                                                                                                                                   
                        // change the value                                                                        // change the value                                             
                        i.value() = json(11);                                                                      i.value() = json(11);                                           
                        CHECK(i.value() == json(11));                                                              CHECK(i.value() == json(11));                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "B");                                                                     CHECK(i.key() == "B");                                          
                        CHECK(i.value() == json(2));                                                               CHECK(i.value() == json(2));                                    
                                                                                                                                                                                   
                        // change the value                                                                        // change the value                                             
                        i.value() = json(22);                                                                      i.value() = json(22);                                           
                        CHECK(i.value() == json(22));                                                              CHECK(i.value() == json(22));                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
                                                                                                                                                                                   
            // check if values where changed                                                           // check if values where changed                                            
            CHECK(j == json({ {"A", 11}, {"B", 22} }));                                                CHECK(j == json({ {"A", 11}, {"B", 22} }));                                 
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const value")                                                                     SECTION("const value")                                                          
        {                                                                                          {                                                                               
            json j = { {"A", 1}, {"B", 2} };                                                           json j = { {"A", 1}, {"B", 2} };                                            
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto i : j.items()) // NOLINT(performance-for-range-copy)                       for (const auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-ran
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "A");                                                                     CHECK(i.key() == "A");                                          
                        CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "B");                                                                     CHECK(i.key() == "B");                                          
                        CHECK(i.value() == json(2));                                                               CHECK(i.value() == json(2));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const reference")                                                                 SECTION("const reference")                                                      
        {                                                                                          {                                                                               
            json j = { {"A", 1}, {"B", 2} };                                                           json j = { {"A", 1}, {"B", 2} };                                            
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto& i : j.items())                                                            for (const auto& i : json::iterator_wrapper(j))                             
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "A");                                                                     CHECK(i.key() == "A");                                          
                        CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "B");                                                                     CHECK(i.key() == "B");                                          
                        CHECK(i.value() == json(2));                                                               CHECK(i.value() == json(2));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                                                                                                             
        SECTION("structured bindings")                                                                                                                                             
        {                                                                                                                                                                          
            json j = { {"A", 1}, {"B", 2} };                                                                                                                                       
                                                                                                                                                                                   
            std::map<std::string, int> m;                                                                                                                                          
                                                                                                                                                                                   
            for (auto const&[key, value] : j.items())                                                                                                                              
            {                                                                                                                                                                      
                m.emplace(key, value);                                                                                                                                             
            }                                                                                                                                                                      
                                                                                                                                                                                   
            CHECK(j.get<decltype(m)>() == m);                                                                                                                                      
        }                                                                                                                                                                          
#endif                                                                                                                                                                             
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    SECTION("const object")                                                                    SECTION("const object")                                                             
    {                                                                                          {                                                                                   
        SECTION("value")                                                                           SECTION("value")                                                                
        {                                                                                          {                                                                               
            const json j = { {"A", 1}, {"B", 2} };                                                     const json j = { {"A", 1}, {"B", 2} };                                      
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto i : j.items()) // NOLINT(performance-for-range-copy)                             for (auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-range-cop
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "A");                                                                     CHECK(i.key() == "A");                                          
                        CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "B");                                                                     CHECK(i.key() == "B");                                          
                        CHECK(i.value() == json(2));                                                               CHECK(i.value() == json(2));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("reference")                                                                       SECTION("reference")                                                            
        {                                                                                          {                                                                               
            const json j = { {"A", 1}, {"B", 2} };                                                     const json j = { {"A", 1}, {"B", 2} };                                      
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto& i : j.items())                                                                  for (auto& i : json::iterator_wrapper(j))                                   
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "A");                                                                     CHECK(i.key() == "A");                                          
                        CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "B");                                                                     CHECK(i.key() == "B");                                          
                        CHECK(i.value() == json(2));                                                               CHECK(i.value() == json(2));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const value")                                                                     SECTION("const value")                                                          
        {                                                                                          {                                                                               
            const json j = { {"A", 1}, {"B", 2} };                                                     const json j = { {"A", 1}, {"B", 2} };                                      
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto i : j.items()) // NOLINT(performance-for-range-copy)                       for (const auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-ran
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "A");                                                                     CHECK(i.key() == "A");                                          
                        CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "B");                                                                     CHECK(i.key() == "B");                                          
                        CHECK(i.value() == json(2));                                                               CHECK(i.value() == json(2));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const reference")                                                                 SECTION("const reference")                                                      
        {                                                                                          {                                                                               
            const json j = { {"A", 1}, {"B", 2} };                                                     const json j = { {"A", 1}, {"B", 2} };                                      
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto& i : j.items())                                                            for (const auto& i : json::iterator_wrapper(j))                             
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "A");                                                                     CHECK(i.key() == "A");                                          
                        CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "B");                                                                     CHECK(i.key() == "B");                                          
                        CHECK(i.value() == json(2));                                                               CHECK(i.value() == json(2));                                    
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    SECTION("array")                                                                           SECTION("array")                                                                    
    {                                                                                          {                                                                                   
        SECTION("value")                                                                           SECTION("value")                                                                
        {                                                                                          {                                                                               
            json j = { "A", "B" };                                                                     json j = { "A", "B" };                                                      
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto i : j.items()) // NOLINT(performance-for-range-copy)                             for (auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-range-cop
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "0");                                                                     CHECK(i.key() == "0");                                          
                        CHECK(i.value() == "A");                                                                   CHECK(i.value() == "A");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "1");                                                                     CHECK(i.key() == "1");                                          
                        CHECK(i.value() == "B");                                                                   CHECK(i.value() == "B");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("reference")                                                                       SECTION("reference")                                                            
        {                                                                                          {                                                                               
            json j = { "A", "B" };                                                                     json j = { "A", "B" };                                                      
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto& i : j.items())                                                                  for (auto& i : json::iterator_wrapper(j))                                   
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "0");                                                                     CHECK(i.key() == "0");                                          
                        CHECK(i.value() == "A");                                                                   CHECK(i.value() == "A");                                        
                                                                                                                                                                                   
                        // change the value                                                                        // change the value                                             
                        i.value() = "AA";                                                                          i.value() = "AA";                                               
                        CHECK(i.value() == "AA");                                                                  CHECK(i.value() == "AA");                                       
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "1");                                                                     CHECK(i.key() == "1");                                          
                        CHECK(i.value() == "B");                                                                   CHECK(i.value() == "B");                                        
                                                                                                                                                                                   
                        // change the value                                                                        // change the value                                             
                        i.value() = "BB";                                                                          i.value() = "BB";                                               
                        CHECK(i.value() == "BB");                                                                  CHECK(i.value() == "BB");                                       
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
                                                                                                                                                                                   
            // check if values where changed                                                           // check if values where changed                                            
            CHECK(j == json({ "AA", "BB" }));                                                          CHECK(j == json({ "AA", "BB" }));                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const value")                                                                     SECTION("const value")                                                          
        {                                                                                          {                                                                               
            json j = { "A", "B" };                                                                     json j = { "A", "B" };                                                      
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto i : j.items()) // NOLINT(performance-for-range-copy)                       for (const auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-ran
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "0");                                                                     CHECK(i.key() == "0");                                          
                        CHECK(i.value() == "A");                                                                   CHECK(i.value() == "A");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "1");                                                                     CHECK(i.key() == "1");                                          
                        CHECK(i.value() == "B");                                                                   CHECK(i.value() == "B");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const reference")                                                                 SECTION("const reference")                                                      
        {                                                                                          {                                                                               
            json j = { "A", "B" };                                                                     json j = { "A", "B" };                                                      
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto& i : j.items())                                                            for (const auto& i : json::iterator_wrapper(j))                             
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "0");                                                                     CHECK(i.key() == "0");                                          
                        CHECK(i.value() == "A");                                                                   CHECK(i.value() == "A");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "1");                                                                     CHECK(i.key() == "1");                                          
                        CHECK(i.value() == "B");                                                                   CHECK(i.value() == "B");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    SECTION("const array")                                                                     SECTION("const array")                                                              
    {                                                                                          {                                                                                   
        SECTION("value")                                                                           SECTION("value")                                                                
        {                                                                                          {                                                                               
            const json j = { "A", "B" };                                                               const json j = { "A", "B" };                                                
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto i : j.items()) // NOLINT(performance-for-range-copy)                             for (auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-range-cop
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "0");                                                                     CHECK(i.key() == "0");                                          
                        CHECK(i.value() == "A");                                                                   CHECK(i.value() == "A");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "1");                                                                     CHECK(i.key() == "1");                                          
                        CHECK(i.value() == "B");                                                                   CHECK(i.value() == "B");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("reference")                                                                       SECTION("reference")                                                            
        {                                                                                          {                                                                               
            const json j = { "A", "B" };                                                               const json j = { "A", "B" };                                                
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto& i : j.items())                                                                  for (auto& i : json::iterator_wrapper(j))                                   
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "0");                                                                     CHECK(i.key() == "0");                                          
                        CHECK(i.value() == "A");                                                                   CHECK(i.value() == "A");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "1");                                                                     CHECK(i.key() == "1");                                          
                        CHECK(i.value() == "B");                                                                   CHECK(i.value() == "B");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const value")                                                                     SECTION("const value")                                                          
        {                                                                                          {                                                                               
            const json j = { "A", "B" };                                                               const json j = { "A", "B" };                                                
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto i : j.items()) // NOLINT(performance-for-range-copy)                       for (const auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-ran
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "0");                                                                     CHECK(i.key() == "0");                                          
                        CHECK(i.value() == "A");                                                                   CHECK(i.value() == "A");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "1");                                                                     CHECK(i.key() == "1");                                          
                        CHECK(i.value() == "B");                                                                   CHECK(i.value() == "B");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const reference")                                                                 SECTION("const reference")                                                      
        {                                                                                          {                                                                               
            const json j = { "A", "B" };                                                               const json j = { "A", "B" };                                                
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto& i : j.items())                                                            for (const auto& i : json::iterator_wrapper(j))                             
            {                                                                                          {                                                                           
                switch (counter++)                                                                         switch (counter++)                                                      
                {                                                                                          {                                                                       
                    case 1:                                                                                    case 1:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "0");                                                                     CHECK(i.key() == "0");                                          
                        CHECK(i.value() == "A");                                                                   CHECK(i.value() == "A");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    case 2:                                                                                    case 2:                                                             
                    {                                                                                          {                                                                   
                        CHECK(i.key() == "1");                                                                     CHECK(i.key() == "1");                                          
                        CHECK(i.value() == "B");                                                                   CHECK(i.value() == "B");                                        
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    default:                                                                                   default:                                                            
                    {                                                                                          {                                                                   
                        break;                                                                                     break;                                                          
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 3);                                                                       CHECK(counter == 3);                                                        
        }                                                                                          }                                                                               
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    SECTION("primitive")                                                                       SECTION("primitive")                                                                
    {                                                                                          {                                                                                   
        SECTION("value")                                                                           SECTION("value")                                                                
        {                                                                                          {                                                                               
            json j = 1;                                                                                json j = 1;                                                                 
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto i : j.items()) // NOLINT(performance-for-range-copy)                             for (auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-range-cop
            {                                                                                          {                                                                           
                ++counter;                                                                                 ++counter;                                                              
                CHECK(i.key() == "");                                                                      CHECK(i.key() == "");                                                   
                CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                            
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 2);                                                                       CHECK(counter == 2);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("reference")                                                                       SECTION("reference")                                                            
        {                                                                                          {                                                                               
            json j = 1;                                                                                json j = 1;                                                                 
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto& i : j.items())                                                                  for (auto& i : json::iterator_wrapper(j))                                   
            {                                                                                          {                                                                           
                ++counter;                                                                                 ++counter;                                                              
                CHECK(i.key() == "");                                                                      CHECK(i.key() == "");                                                   
                CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                            
                                                                                                                                                                                   
                // change value                                                                            // change value                                                         
                i.value() = json(2);                                                                       i.value() = json(2);                                                    
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 2);                                                                       CHECK(counter == 2);                                                        
                                                                                                                                                                                   
            // check if value has changed                                                              // check if value has changed                                               
            CHECK(j == json(2));                                                                       CHECK(j == json(2));                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const value")                                                                     SECTION("const value")                                                          
        {                                                                                          {                                                                               
            json j = 1;                                                                                json j = 1;                                                                 
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto i : j.items()) // NOLINT(performance-for-range-copy)                       for (const auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-ran
            {                                                                                          {                                                                           
                ++counter;                                                                                 ++counter;                                                              
                CHECK(i.key() == "");                                                                      CHECK(i.key() == "");                                                   
                CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                            
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 2);                                                                       CHECK(counter == 2);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const reference")                                                                 SECTION("const reference")                                                      
        {                                                                                          {                                                                               
            json j = 1;                                                                                json j = 1;                                                                 
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto& i : j.items())                                                            for (const auto& i : json::iterator_wrapper(j))                             
            {                                                                                          {                                                                           
                ++counter;                                                                                 ++counter;                                                              
                CHECK(i.key() == "");                                                                      CHECK(i.key() == "");                                                   
                CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                            
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 2);                                                                       CHECK(counter == 2);                                                        
        }                                                                                          }                                                                               
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    SECTION("const primitive")                                                                 SECTION("const primitive")                                                          
    {                                                                                          {                                                                                   
        SECTION("value")                                                                           SECTION("value")                                                                
        {                                                                                          {                                                                               
            const json j = 1;                                                                          const json j = 1;                                                           
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto i : j.items()) // NOLINT(performance-for-range-copy)                             for (auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-range-cop
            {                                                                                          {                                                                           
                ++counter;                                                                                 ++counter;                                                              
                CHECK(i.key() == "");                                                                      CHECK(i.key() == "");                                                   
                CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                            
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 2);                                                                       CHECK(counter == 2);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("reference")                                                                       SECTION("reference")                                                            
        {                                                                                          {                                                                               
            const json j = 1;                                                                          const json j = 1;                                                           
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (auto& i : j.items())                                                                  for (auto& i : json::iterator_wrapper(j))                                   
            {                                                                                          {                                                                           
                ++counter;                                                                                 ++counter;                                                              
                CHECK(i.key() == "");                                                                      CHECK(i.key() == "");                                                   
                CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                            
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 2);                                                                       CHECK(counter == 2);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const value")                                                                     SECTION("const value")                                                          
        {                                                                                          {                                                                               
            const json j = 1;                                                                          const json j = 1;                                                           
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto i : j.items()) // NOLINT(performance-for-range-copy)                       for (const auto i : json::iterator_wrapper(j)) // NOLINT(performance-for-ran
            {                                                                                          {                                                                           
                ++counter;                                                                                 ++counter;                                                              
                CHECK(i.key() == "");                                                                      CHECK(i.key() == "");                                                   
                CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                            
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 2);                                                                       CHECK(counter == 2);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("const reference")                                                                 SECTION("const reference")                                                      
        {                                                                                          {                                                                               
            const json j = 1;                                                                          const json j = 1;                                                           
            int counter = 1;                                                                           int counter = 1;                                                            
                                                                                                                                                                                   
            for (const auto& i : j.items())                                                            for (const auto& i : json::iterator_wrapper(j))                             
            {                                                                                          {                                                                           
                ++counter;                                                                                 ++counter;                                                              
                CHECK(i.key() == "");                                                                      CHECK(i.key() == "");                                                   
                CHECK(i.value() == json(1));                                                               CHECK(i.value() == json(1));                                            
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            CHECK(counter == 2);                                                                       CHECK(counter == 2);                                                        
        }                                                                                          }                                                                               
    }                                                                                          }                                                                                   
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-iterators2.cpp:38                                                   │ json/tests/src/unit-iterators2.cpp:462                                                   
                                                                                                                                                                                   
        json j_values = {nullptr, true, 42, 42u, 23.23, {{"one", 1}, {"two", 2}}, {1, 2,           json j_values = {nullptr, true, 42, 42u, 23.23, {{"one", 1}, {"two", 2}}, {1, 2,
                                                                                                                                                                                   
        for (json& j : j_values)                                                                   for (json& j : j_values)                                                        
        {                                                                                          {                                                                               
            auto it1 = j.begin();                                                                      auto it1 = j.rbegin();                                                      
            auto it2 = j.begin();                                                                      auto it2 = j.rbegin();                                                      
            auto it3 = j.begin();                                                                      auto it3 = j.rbegin();                                                      
            ++it2;                                                                                     ++it2;                                                                      
            ++it3;                                                                                     ++it3;                                                                      
            ++it3;                                                                                     ++it3;                                                                      
            auto it1_c = j.cbegin();                                                                   auto it1_c = j.crbegin();                                                   
            auto it2_c = j.cbegin();                                                                   auto it2_c = j.crbegin();                                                   
            auto it3_c = j.cbegin();                                                                   auto it3_c = j.crbegin();                                                   
            ++it2_c;                                                                                   ++it2_c;                                                                    
            ++it3_c;                                                                                   ++it3_c;                                                                    
            ++it3_c;                                                                                   ++it3_c;                                                                    
                                                                                                                                                                                   
            // comparison: equal                                                                       // comparison: equal                                                        
            {                                                                                          {                                                                           
                CHECK(it1 == it1);                                                                         CHECK(it1 == it1);                                                      
                CHECK(!(it1 == it2));                                                                      CHECK(!(it1 == it2));                                                   
                CHECK(!(it1 == it3));                                                                      CHECK(!(it1 == it3));                                                   
                CHECK(!(it2 == it3));                                                                      CHECK(!(it2 == it3));                                                   
                CHECK(it1_c == it1_c);                                                                     CHECK(it1_c == it1_c);                                                  
                CHECK(!(it1_c == it2_c));                                                                  CHECK(!(it1_c == it2_c));                                               
                CHECK(!(it1_c == it3_c));                                                                  CHECK(!(it1_c == it3_c));                                               
                CHECK(!(it2_c == it3_c));                                                                  CHECK(!(it2_c == it3_c));                                               
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            // comparison: not equal                                                                   // comparison: not equal                                                    
            {                                                                                          {                                                                           
                // check definition                                                                        // check definition                                                     
                CHECK( (it1 != it1) == !(it1 == it1) );                                                    CHECK( (it1 != it1) == !(it1 == it1) );                                 
                CHECK( (it1 != it2) == !(it1 == it2) );                                                    CHECK( (it1 != it2) == !(it1 == it2) );                                 
                CHECK( (it1 != it3) == !(it1 == it3) );                                                    CHECK( (it1 != it3) == !(it1 == it3) );                                 
                CHECK( (it2 != it3) == !(it2 == it3) );                                                    CHECK( (it2 != it3) == !(it2 == it3) );                                 
                CHECK( (it1_c != it1_c) == !(it1_c == it1_c) );                                            CHECK( (it1_c != it1_c) == !(it1_c == it1_c) );                         
                CHECK( (it1_c != it2_c) == !(it1_c == it2_c) );                                            CHECK( (it1_c != it2_c) == !(it1_c == it2_c) );                         
                CHECK( (it1_c != it3_c) == !(it1_c == it3_c) );                                            CHECK( (it1_c != it3_c) == !(it1_c == it3_c) );                         
                CHECK( (it2_c != it3_c) == !(it2_c == it3_c) );                                            CHECK( (it2_c != it3_c) == !(it2_c == it3_c) );                         
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            // comparison: smaller                                                                     // comparison: smaller                                                      
            {                                                                                          {                                                                           
                if (j.type() == json::value_t::object)                                                     if (j.type() == json::value_t::object)                                  
                {                                                                                          {                                                                       
#if JSON_DIAGNOSTICS                                                                       #if JSON_DIAGNOSTICS                                                                    
                    CHECK_THROWS_WITH_AS(it1 < it1, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 < it1, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1 < it2, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 < it2, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it2 < it3, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it2 < it3, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1 < it3, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 < it3, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1_c < it1_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c < it1_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it1_c < it2_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c < it2_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it2_c < it3_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it2_c < it3_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it1_c < it3_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c < it3_c, "[json.exception.invalid_iterato
#else                                                                                      #else                                                                                   
                    CHECK_THROWS_WITH_AS(it1 < it1, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 < it1, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1 < it2, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 < it2, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it2 < it3, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it2 < it3, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1 < it3, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 < it3, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1_c < it1_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c < it1_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it1_c < it2_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c < it2_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it2_c < it3_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it2_c < it3_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it1_c < it3_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c < it3_c, "[json.exception.invalid_iterato
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                else                                                                                       else                                                                    
                {                                                                                          {                                                                       
                    CHECK(!(it1 < it1));                                                                       CHECK(!(it1 < it1));                                                
                    CHECK(it1 < it2);                                                                          CHECK(it1 < it2);                                                   
                    CHECK(it1 < it3);                                                                          CHECK(it1 < it3);                                                   
                    CHECK(it2 < it3);                                                                          CHECK(it2 < it3);                                                   
                    CHECK(!(it1_c < it1_c));                                                                   CHECK(!(it1_c < it1_c));                                            
                    CHECK(it1_c < it2_c);                                                                      CHECK(it1_c < it2_c);                                               
                    CHECK(it1_c < it3_c);                                                                      CHECK(it1_c < it3_c);                                               
                    CHECK(it2_c < it3_c);                                                                      CHECK(it2_c < it3_c);                                               
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            // comparison: less than or equal                                                          // comparison: less than or equal                                           
            {                                                                                          {                                                                           
                if (j.type() == json::value_t::object)                                                     if (j.type() == json::value_t::object)                                  
                {                                                                                          {                                                                       
#if JSON_DIAGNOSTICS                                                                       #if JSON_DIAGNOSTICS                                                                    
                    CHECK_THROWS_WITH_AS(it1 <= it1, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 <= it1, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1 <= it2, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 <= it2, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it2 <= it3, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it2 <= it3, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1 <= it3, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 <= it3, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1_c <= it1_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c <= it1_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it1_c <= it2_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c <= it2_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it2_c <= it3_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it2_c <= it3_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it1_c <= it3_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c <= it3_c, "[json.exception.invalid_iterat
#else                                                                                      #else                                                                                   
                    CHECK_THROWS_WITH_AS(it1 <= it1, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 <= it1, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1 <= it2, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 <= it2, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it2 <= it3, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it2 <= it3, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1 <= it3, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 <= it3, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1_c <= it1_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c <= it1_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it1_c <= it2_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c <= it2_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it2_c <= it3_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it2_c <= it3_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it1_c <= it3_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c <= it3_c, "[json.exception.invalid_iterat
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                else                                                                                       else                                                                    
                {                                                                                          {                                                                       
                    // check definition                                                                        // check definition                                                 
                    CHECK( (it1 <= it1) == !(it1 < it1) );                                                     CHECK( (it1 <= it1) == !(it1 < it1) );                              
                    CHECK( (it1 <= it2) == !(it2 < it1) );                                                     CHECK( (it1 <= it2) == !(it2 < it1) );                              
                    CHECK( (it1 <= it3) == !(it3 < it1) );                                                     CHECK( (it1 <= it3) == !(it3 < it1) );                              
                    CHECK( (it2 <= it3) == !(it3 < it2) );                                                     CHECK( (it2 <= it3) == !(it3 < it2) );                              
                    CHECK( (it1_c <= it1_c) == !(it1_c < it1_c) );                                             CHECK( (it1_c <= it1_c) == !(it1_c < it1_c) );                      
                    CHECK( (it1_c <= it2_c) == !(it2_c < it1_c) );                                             CHECK( (it1_c <= it2_c) == !(it2_c < it1_c) );                      
                    CHECK( (it1_c <= it3_c) == !(it3_c < it1_c) );                                             CHECK( (it1_c <= it3_c) == !(it3_c < it1_c) );                      
                    CHECK( (it2_c <= it3_c) == !(it3_c < it2_c) );                                             CHECK( (it2_c <= it3_c) == !(it3_c < it2_c) );                      
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            // comparison: greater than                                                                // comparison: greater than                                                 
            {                                                                                          {                                                                           
                if (j.type() == json::value_t::object)                                                     if (j.type() == json::value_t::object)                                  
                {                                                                                          {                                                                       
#if JSON_DIAGNOSTICS                                                                       #if JSON_DIAGNOSTICS                                                                    
                    CHECK_THROWS_WITH_AS(it1 > it1, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 > it1, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1 > it2, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 > it2, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it2 > it3, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it2 > it3, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1 > it3, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 > it3, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1_c > it1_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c > it1_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it1_c > it2_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c > it2_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it2_c > it3_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it2_c > it3_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it1_c > it3_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c > it3_c, "[json.exception.invalid_iterato
#else                                                                                      #else                                                                                   
                    CHECK_THROWS_WITH_AS(it1 > it1, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 > it1, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1 > it2, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 > it2, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it2 > it3, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it2 > it3, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1 > it3, "[json.exception.invalid_iterator.21                       CHECK_THROWS_WITH_AS(it1 > it3, "[json.exception.invalid_iterator.21
                    CHECK_THROWS_WITH_AS(it1_c > it1_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c > it1_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it1_c > it2_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c > it2_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it2_c > it3_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it2_c > it3_c, "[json.exception.invalid_iterato
                    CHECK_THROWS_WITH_AS(it1_c > it3_c, "[json.exception.invalid_iterato                       CHECK_THROWS_WITH_AS(it1_c > it3_c, "[json.exception.invalid_iterato
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                else                                                                                       else                                                                    
                {                                                                                          {                                                                       
                    // check definition                                                                        // check definition                                                 
                    CHECK( (it1 > it1) == (it1 < it1) );                                                       CHECK( (it1 > it1) == (it1 < it1) );                                
                    CHECK( (it1 > it2) == (it2 < it1) );                                                       CHECK( (it1 > it2) == (it2 < it1) );                                
                    CHECK( (it1 > it3) == (it3 < it1) );                                                       CHECK( (it1 > it3) == (it3 < it1) );                                
                    CHECK( (it2 > it3) == (it3 < it2) );                                                       CHECK( (it2 > it3) == (it3 < it2) );                                
                    CHECK( (it1_c > it1_c) == (it1_c < it1_c) );                                               CHECK( (it1_c > it1_c) == (it1_c < it1_c) );                        
                    CHECK( (it1_c > it2_c) == (it2_c < it1_c) );                                               CHECK( (it1_c > it2_c) == (it2_c < it1_c) );                        
                    CHECK( (it1_c > it3_c) == (it3_c < it1_c) );                                               CHECK( (it1_c > it3_c) == (it3_c < it1_c) );                        
                    CHECK( (it2_c > it3_c) == (it3_c < it2_c) );                                               CHECK( (it2_c > it3_c) == (it3_c < it2_c) );                        
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            // comparison: greater than or equal                                                       // comparison: greater than or equal                                        
            {                                                                                          {                                                                           
                if (j.type() == json::value_t::object)                                                     if (j.type() == json::value_t::object)                                  
                {                                                                                          {                                                                       
#if JSON_DIAGNOSTICS                                                                       #if JSON_DIAGNOSTICS                                                                    
                    CHECK_THROWS_WITH_AS(it1 >= it1, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 >= it1, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1 >= it2, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 >= it2, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it2 >= it3, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it2 >= it3, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1 >= it3, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 >= it3, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1_c >= it1_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c >= it1_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it1_c >= it2_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c >= it2_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it2_c >= it3_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it2_c >= it3_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it1_c >= it3_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c >= it3_c, "[json.exception.invalid_iterat
#else                                                                                      #else                                                                                   
                    CHECK_THROWS_WITH_AS(it1 >= it1, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 >= it1, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1 >= it2, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 >= it2, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it2 >= it3, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it2 >= it3, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1 >= it3, "[json.exception.invalid_iterator.2                       CHECK_THROWS_WITH_AS(it1 >= it3, "[json.exception.invalid_iterator.2
                    CHECK_THROWS_WITH_AS(it1_c >= it1_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c >= it1_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it1_c >= it2_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c >= it2_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it2_c >= it3_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it2_c >= it3_c, "[json.exception.invalid_iterat
                    CHECK_THROWS_WITH_AS(it1_c >= it3_c, "[json.exception.invalid_iterat                       CHECK_THROWS_WITH_AS(it1_c >= it3_c, "[json.exception.invalid_iterat
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                else                                                                                       else                                                                    
                {                                                                                          {                                                                       
                    // check definition                                                                        // check definition                                                 
                    CHECK( (it1 >= it1) == !(it1 < it1) );                                                     CHECK( (it1 >= it1) == !(it1 < it1) );                              
                    CHECK( (it1 >= it2) == !(it1 < it2) );                                                     CHECK( (it1 >= it2) == !(it1 < it2) );                              
                    CHECK( (it1 >= it3) == !(it1 < it3) );                                                     CHECK( (it1 >= it3) == !(it1 < it3) );                              
                    CHECK( (it2 >= it3) == !(it2 < it3) );                                                     CHECK( (it2 >= it3) == !(it2 < it3) );                              
                    CHECK( (it1_c >= it1_c) == !(it1_c < it1_c) );                                             CHECK( (it1_c >= it1_c) == !(it1_c < it1_c) );                      
                    CHECK( (it1_c >= it2_c) == !(it1_c < it2_c) );                                             CHECK( (it1_c >= it2_c) == !(it1_c < it2_c) );                      
                    CHECK( (it1_c >= it3_c) == !(it1_c < it3_c) );                                             CHECK( (it1_c >= it3_c) == !(it1_c < it3_c) );                      
                    CHECK( (it2_c >= it3_c) == !(it2_c < it3_c) );                                             CHECK( (it2_c >= it3_c) == !(it2_c < it3_c) );                      
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        // check exceptions if different objects are compared                                      // check exceptions if different objects are compared                           
        for (auto j : j_values)                                                                    for (auto j : j_values)                                                         
        {                                                                                          {                                                                               
            for (auto k : j_values)                                                                    for (auto k : j_values)                                                     
            {                                                                                          {                                                                           
                if (j != k)                                                                                if (j != k)                                                             
                {                                                                                          {                                                                       
#if JSON_DIAGNOSTICS                                                                       #if JSON_DIAGNOSTICS                                                                    
                    // the output differs in each loop, so we cannot fix a string for th                       // the output differs in each loop, so we cannot fix a string for th
#else                                                                                      #else                                                                                   
                    CHECK_THROWS_WITH_AS(j.begin() == k.begin(), "[json.exception.invali                       CHECK_THROWS_WITH_AS(j.rbegin() == k.rbegin(), "[json.exception.inva
                    CHECK_THROWS_WITH_AS(j.cbegin() == k.cbegin(), "[json.exception.inva                       CHECK_THROWS_WITH_AS(j.crbegin() == k.crbegin(), "[json.exception.in
                    CHECK_THROWS_WITH_AS(j.begin() < k.begin(), "[json.exception.invalid                       CHECK_THROWS_WITH_AS(j.rbegin() < k.rbegin(), "[json.exception.inval
                    CHECK_THROWS_WITH_AS(j.cbegin() < k.cbegin(), "[json.exception.inval                       CHECK_THROWS_WITH_AS(j.crbegin() < k.crbegin(), "[json.exception.inv
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-iterators2.cpp:254                                                  │ json/tests/src/unit-iterators2.cpp:678                                                   
                                                                                                                                                                                   
        json j_object = {{"one", 1}, {"two", 2}, {"three", 3}};                                    json j_object = {{"one", 1}, {"two", 2}, {"three", 3}};                         
        json j_array = {1, 2, 3, 4, 5, 6};                                                         json j_array = {1, 2, 3, 4, 5, 6};                                              
        json j_null = nullptr;                                                                     json j_null = nullptr;                                                          
        json j_value = 42;                                                                         json j_value = 42;                                                              
                                                                                                                                                                                   
        SECTION("addition and subtraction")                                                        SECTION("addition and subtraction")                                             
        {                                                                                          {                                                                               
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    auto it = j_object.begin();                                                                auto it = j_object.rbegin();                                        
                    CHECK_THROWS_WITH_AS(it += 1, "[json.exception.invalid_iterator.209]                       CHECK_THROWS_WITH_AS(it += 1, "[json.exception.invalid_iterator.209]
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.cbegin();                                                               auto it = j_object.crbegin();                                       
                    CHECK_THROWS_WITH_AS(it += 1, "[json.exception.invalid_iterator.209]                       CHECK_THROWS_WITH_AS(it += 1, "[json.exception.invalid_iterator.209]
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.begin();                                                                auto it = j_object.rbegin();                                        
                    CHECK_THROWS_WITH_AS(it + 1, "[json.exception.invalid_iterator.209]                        CHECK_THROWS_WITH_AS(it + 1, "[json.exception.invalid_iterator.209] 
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.cbegin();                                                               auto it = j_object.crbegin();                                       
                    CHECK_THROWS_WITH_AS(it + 1, "[json.exception.invalid_iterator.209]                        CHECK_THROWS_WITH_AS(it + 1, "[json.exception.invalid_iterator.209] 
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.begin();                                                                auto it = j_object.rbegin();                                        
                    CHECK_THROWS_WITH_AS(1 + it, "[json.exception.invalid_iterator.209]                        CHECK_THROWS_WITH_AS(1 + it, "[json.exception.invalid_iterator.209] 
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.cbegin();                                                               auto it = j_object.crbegin();                                       
                    CHECK_THROWS_WITH_AS(1 + it, "[json.exception.invalid_iterator.209]                        CHECK_THROWS_WITH_AS(1 + it, "[json.exception.invalid_iterator.209] 
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.begin();                                                                auto it = j_object.rbegin();                                        
                    CHECK_THROWS_WITH_AS(it -= 1, "[json.exception.invalid_iterator.209]                       CHECK_THROWS_WITH_AS(it -= 1, "[json.exception.invalid_iterator.209]
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.cbegin();                                                               auto it = j_object.crbegin();                                       
                    CHECK_THROWS_WITH_AS(it -= 1, "[json.exception.invalid_iterator.209]                       CHECK_THROWS_WITH_AS(it -= 1, "[json.exception.invalid_iterator.209]
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.begin();                                                                auto it = j_object.rbegin();                                        
                    CHECK_THROWS_WITH_AS(it - 1, "[json.exception.invalid_iterator.209]                        CHECK_THROWS_WITH_AS(it - 1, "[json.exception.invalid_iterator.209] 
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.cbegin();                                                               auto it = j_object.crbegin();                                       
                    CHECK_THROWS_WITH_AS(it - 1, "[json.exception.invalid_iterator.209]                        CHECK_THROWS_WITH_AS(it - 1, "[json.exception.invalid_iterator.209] 
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.begin();                                                                auto it = j_object.rbegin();                                        
                    CHECK_THROWS_WITH_AS(it - it, "[json.exception.invalid_iterator.209]                       CHECK_THROWS_WITH_AS(it - it, "[json.exception.invalid_iterator.209]
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.cbegin();                                                               auto it = j_object.crbegin();                                       
                    CHECK_THROWS_WITH_AS(it - it, "[json.exception.invalid_iterator.209]                       CHECK_THROWS_WITH_AS(it - it, "[json.exception.invalid_iterator.209]
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    auto it = j_array.begin();                                                                 auto it = j_array.rbegin();                                         
                    it += 3;                                                                                   it += 3;                                                            
                    CHECK((j_array.begin() + 3) == it);                                                        CHECK((j_array.rbegin() + 3) == it);                                
                    CHECK((3 + j_array.begin()) == it);                                                        CHECK(json::reverse_iterator(3 + j_array.rbegin()) == it);          
                    CHECK((it - 3) == j_array.begin());                                                        CHECK((it - 3) == j_array.rbegin());                                
                    CHECK((it - j_array.begin()) == 3);                                                        CHECK((it - j_array.rbegin()) == 3);                                
                    CHECK(*it == json(4));                                                                     CHECK(*it == json(3));                                              
                    it -= 2;                                                                                   it -= 2;                                                            
                    CHECK(*it == json(2));                                                                     CHECK(*it == json(5));                                              
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_array.cbegin();                                                                auto it = j_array.crbegin();                                        
                    it += 3;                                                                                   it += 3;                                                            
                    CHECK((j_array.cbegin() + 3) == it);                                                       CHECK((j_array.crbegin() + 3) == it);                               
                    CHECK((3 + j_array.cbegin()) == it);                                                       CHECK(json::const_reverse_iterator(3 + j_array.crbegin()) == it);   
                    CHECK((it - 3) == j_array.cbegin());                                                       CHECK((it - 3) == j_array.crbegin());                               
                    CHECK((it - j_array.cbegin()) == 3);                                                       CHECK((it - j_array.crbegin()) == 3);                               
                    CHECK(*it == json(4));                                                                     CHECK(*it == json(3));                                              
                    it -= 2;                                                                                   it -= 2;                                                            
                    CHECK(*it == json(2));                                                                     CHECK(*it == json(5));                                              
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    auto it = j_null.begin();                                                                  auto it = j_null.rbegin();                                          
                    it += 3;                                                                                   it += 3;                                                            
                    CHECK((j_null.begin() + 3) == it);                                                         CHECK((j_null.rbegin() + 3) == it);                                 
                    CHECK((3 + j_null.begin()) == it);                                                         CHECK(json::reverse_iterator(3 + j_null.rbegin()) == it);           
                    CHECK((it - 3) == j_null.begin());                                                         CHECK((it - 3) == j_null.rbegin());                                 
                    CHECK((it - j_null.begin()) == 3);                                                         CHECK((it - j_null.rbegin()) == 3);                                 
                    CHECK(it != j_null.end());                                                                 CHECK(it != j_null.rend());                                         
                    it -= 3;                                                                                   it -= 3;                                                            
                    CHECK(it == j_null.end());                                                                 CHECK(it == j_null.rend());                                         
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_null.cbegin();                                                                 auto it = j_null.crbegin();                                         
                    it += 3;                                                                                   it += 3;                                                            
                    CHECK((j_null.cbegin() + 3) == it);                                                        CHECK((j_null.crbegin() + 3) == it);                                
                    CHECK((3 + j_null.cbegin()) == it);                                                        CHECK(json::const_reverse_iterator(3 + j_null.crbegin()) == it);    
                    CHECK((it - 3) == j_null.cbegin());                                                        CHECK((it - 3) == j_null.crbegin());                                
                    CHECK((it - j_null.cbegin()) == 3);                                                        CHECK((it - j_null.crbegin()) == 3);                                
                    CHECK(it != j_null.cend());                                                                CHECK(it != j_null.crend());                                        
                    it -= 3;                                                                                   it -= 3;                                                            
                    CHECK(it == j_null.cend());                                                                CHECK(it == j_null.crend());                                        
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("value")                                                                           SECTION("value")                                                            
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    auto it = j_value.begin();                                                                 auto it = j_value.rbegin();                                         
                    it += 3;                                                                                   it += 3;                                                            
                    CHECK((j_value.begin() + 3) == it);                                                        CHECK((j_value.rbegin() + 3) == it);                                
                    CHECK((3 + j_value.begin()) == it);                                                        CHECK(json::reverse_iterator(3 + j_value.rbegin()) == it);          
                    CHECK((it - 3) == j_value.begin());                                                        CHECK((it - 3) == j_value.rbegin());                                
                    CHECK((it - j_value.begin()) == 3);                                                        CHECK((it - j_value.rbegin()) == 3);                                
                    CHECK(it != j_value.end());                                                                CHECK(it != j_value.rend());                                        
                    it -= 3;                                                                                   it -= 3;                                                            
                    CHECK(*it == json(42));                                                                    CHECK(*it == json(42));                                             
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_value.cbegin();                                                                auto it = j_value.crbegin();                                        
                    it += 3;                                                                                   it += 3;                                                            
                    CHECK((j_value.cbegin() + 3) == it);                                                       CHECK((j_value.crbegin() + 3) == it);                               
                    CHECK((3 + j_value.cbegin()) == it);                                                       CHECK(json::const_reverse_iterator(3 + j_value.crbegin()) == it);   
                    CHECK((it - 3) == j_value.cbegin());                                                       CHECK((it - 3) == j_value.crbegin());                               
                    CHECK((it - j_value.cbegin()) == 3);                                                       CHECK((it - j_value.crbegin()) == 3);                               
                    CHECK(it != j_value.cend());                                                               CHECK(it != j_value.crend());                                       
                    it -= 3;                                                                                   it -= 3;                                                            
                    CHECK(*it == json(42));                                                                    CHECK(*it == json(42));                                             
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("subscript operator")                                                              SECTION("subscript operator")                                                   
        {                                                                                          {                                                                               
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    auto it = j_object.begin();                                                                auto it = j_object.rbegin();                                        
                    CHECK_THROWS_WITH_AS(it[0], "[json.exception.invalid_iterator.208] c                       CHECK_THROWS_WITH_AS(it[0], "[json.exception.invalid_iterator.209] c
                    CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.208] c                       CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.209] c
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_object.cbegin();                                                               auto it = j_object.crbegin();                                       
                    CHECK_THROWS_WITH_AS(it[0], "[json.exception.invalid_iterator.208] c                       CHECK_THROWS_WITH_AS(it[0], "[json.exception.invalid_iterator.209] c
                    CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.208] c                       CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.209] c
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    auto it = j_array.begin();                                                                 auto it = j_array.rbegin();                                         
                    CHECK(it[0] == json(1));                                                                   CHECK(it[0] == json(6));                                            
                    CHECK(it[1] == json(2));                                                                   CHECK(it[1] == json(5));                                            
                    CHECK(it[2] == json(3));                                                                   CHECK(it[2] == json(4));                                            
                    CHECK(it[3] == json(4));                                                                   CHECK(it[3] == json(3));                                            
                    CHECK(it[4] == json(5));                                                                   CHECK(it[4] == json(2));                                            
                    CHECK(it[5] == json(6));                                                                   CHECK(it[5] == json(1));                                            
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_array.cbegin();                                                                auto it = j_array.crbegin();                                        
                    CHECK(it[0] == json(1));                                                                   CHECK(it[0] == json(6));                                            
                    CHECK(it[1] == json(2));                                                                   CHECK(it[1] == json(5));                                            
                    CHECK(it[2] == json(3));                                                                   CHECK(it[2] == json(4));                                            
                    CHECK(it[3] == json(4));                                                                   CHECK(it[3] == json(3));                                            
                    CHECK(it[4] == json(5));                                                                   CHECK(it[4] == json(2));                                            
                    CHECK(it[5] == json(6));                                                                   CHECK(it[5] == json(1));                                            
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    auto it = j_null.begin();                                                                  auto it = j_null.rbegin();                                          
                    CHECK_THROWS_WITH_AS(it[0], "[json.exception.invalid_iterator.214] c                       CHECK_THROWS_WITH_AS(it[0], "[json.exception.invalid_iterator.214] c
                    CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.214] c                       CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.214] c
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_null.cbegin();                                                                 auto it = j_null.crbegin();                                         
                    CHECK_THROWS_WITH_AS(it[0], "[json.exception.invalid_iterator.214] c                       CHECK_THROWS_WITH_AS(it[0], "[json.exception.invalid_iterator.214] c
                    CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.214] c                       CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.214] c
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("value")                                                                           SECTION("value")                                                            
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    auto it = j_value.begin();                                                                 auto it = j_value.rbegin();                                         
                    CHECK(it[0] == json(42));                                                                  CHECK(it[0] == json(42));                                           
                    CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.214] c                       CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.214] c
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    auto it = j_value.cbegin();                                                                auto it = j_value.crbegin();                                        
                    CHECK(it[0] == json(42));                                                                  CHECK(it[0] == json(42));                                           
                    CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.214] c                       CHECK_THROWS_WITH_AS(it[1], "[json.exception.invalid_iterator.214] c
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-class_iterator.cpp:203                                              │ json/tests/src/unit-class_const_iterator.cpp:213                                         
                                                                                                                                                                                   
        SECTION("post-increment")                                                                  SECTION("post-increment")                                                       
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j(json::value_t::null);                                                               json j(json::value_t::null);                                            
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK((it.m_it.primitive_iterator.m_it == 1));                                             CHECK((it.m_it.primitive_iterator.m_it == 1));                          
                it++;                                                                                      it++;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato                   CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number")                                                                          SECTION("number")                                                           
            {                                                                                          {                                                                           
                json j(17);                                                                                json j(17);                                                             
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK((it.m_it.primitive_iterator.m_it == 0));                                             CHECK((it.m_it.primitive_iterator.m_it == 0));                          
                it++;                                                                                      it++;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it == 1));                                             CHECK((it.m_it.primitive_iterator.m_it == 1));                          
                it++;                                                                                      it++;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato                   CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j({{"foo", "bar"}});                                                                  json j({{"foo", "bar"}});                                               
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK((it.m_it.object_iterator == it.m_object->m_value.object->begin()))                   CHECK((it.m_it.object_iterator == it.m_object->m_value.object->begin()))
                it++;                                                                                      it++;                                                                   
                CHECK((it.m_it.object_iterator == it.m_object->m_value.object->end()));                    CHECK((it.m_it.object_iterator == it.m_object->m_value.object->end())); 
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                json j({1, 2, 3, 4});                                                                      json j({1, 2, 3, 4});                                                   
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK((it.m_it.array_iterator == it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator == it.m_object->m_value.array->begin())); 
                it++;                                                                                      it++;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                it++;                                                                                      it++;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                it++;                                                                                      it++;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                it++;                                                                                      it++;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator == it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator == it.m_object->m_value.array->end()));   
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("pre-increment")                                                                   SECTION("pre-increment")                                                        
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j(json::value_t::null);                                                               json j(json::value_t::null);                                            
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK((it.m_it.primitive_iterator.m_it == 1));                                             CHECK((it.m_it.primitive_iterator.m_it == 1));                          
                ++it;                                                                                      ++it;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato                   CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number")                                                                          SECTION("number")                                                           
            {                                                                                          {                                                                           
                json j(17);                                                                                json j(17);                                                             
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK((it.m_it.primitive_iterator.m_it == 0));                                             CHECK((it.m_it.primitive_iterator.m_it == 0));                          
                ++it;                                                                                      ++it;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it == 1));                                             CHECK((it.m_it.primitive_iterator.m_it == 1));                          
                ++it;                                                                                      ++it;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato                   CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j({{"foo", "bar"}});                                                                  json j({{"foo", "bar"}});                                               
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK((it.m_it.object_iterator == it.m_object->m_value.object->begin()))                   CHECK((it.m_it.object_iterator == it.m_object->m_value.object->begin()))
                ++it;                                                                                      ++it;                                                                   
                CHECK((it.m_it.object_iterator == it.m_object->m_value.object->end()));                    CHECK((it.m_it.object_iterator == it.m_object->m_value.object->end())); 
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                json j({1, 2, 3, 4});                                                                      json j({1, 2, 3, 4});                                                   
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK((it.m_it.array_iterator == it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator == it.m_object->m_value.array->begin())); 
                ++it;                                                                                      ++it;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                ++it;                                                                                      ++it;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                ++it;                                                                                      ++it;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                ++it;                                                                                      ++it;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator == it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator == it.m_object->m_value.array->end()));   
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("post-decrement")                                                                  SECTION("post-decrement")                                                       
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j(json::value_t::null);                                                               json j(json::value_t::null);                                            
                json::iterator it = j.end();                                                               json::const_iterator it = j.cend();                                     
                CHECK((it.m_it.primitive_iterator.m_it == 1));                                             CHECK((it.m_it.primitive_iterator.m_it == 1));                          
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number")                                                                          SECTION("number")                                                           
            {                                                                                          {                                                                           
                json j(17);                                                                                json j(17);                                                             
                json::iterator it = j.end();                                                               json::const_iterator it = j.cend();                                     
                CHECK((it.m_it.primitive_iterator.m_it == 1));                                             CHECK((it.m_it.primitive_iterator.m_it == 1));                          
                it--;                                                                                      it--;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it == 0));                                             CHECK((it.m_it.primitive_iterator.m_it == 0));                          
                it--;                                                                                      it--;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato                   CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j({{"foo", "bar"}});                                                                  json j({{"foo", "bar"}});                                               
                json::iterator it = j.end();                                                               json::const_iterator it = j.cend();                                     
                CHECK((it.m_it.object_iterator == it.m_object->m_value.object->end()));                    CHECK((it.m_it.object_iterator == it.m_object->m_value.object->end())); 
                it--;                                                                                      it--;                                                                   
                CHECK((it.m_it.object_iterator == it.m_object->m_value.object->begin()))                   CHECK((it.m_it.object_iterator == it.m_object->m_value.object->begin()))
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                json j({1, 2, 3, 4});                                                                      json j({1, 2, 3, 4});                                                   
                json::iterator it = j.end();                                                               json::const_iterator it = j.cend();                                     
                CHECK((it.m_it.array_iterator == it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator == it.m_object->m_value.array->end()));   
                it--;                                                                                      it--;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                it--;                                                                                      it--;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                it--;                                                                                      it--;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                it--;                                                                                      it--;                                                                   
                CHECK((it.m_it.array_iterator == it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator == it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("pre-decrement")                                                                   SECTION("pre-decrement")                                                        
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j(json::value_t::null);                                                               json j(json::value_t::null);                                            
                json::iterator it = j.end();                                                               json::const_iterator it = j.cend();                                     
                CHECK((it.m_it.primitive_iterator.m_it == 1));                                             CHECK((it.m_it.primitive_iterator.m_it == 1));                          
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number")                                                                          SECTION("number")                                                           
            {                                                                                          {                                                                           
                json j(17);                                                                                json j(17);                                                             
                json::iterator it = j.end();                                                               json::const_iterator it = j.cend();                                     
                CHECK((it.m_it.primitive_iterator.m_it == 1));                                             CHECK((it.m_it.primitive_iterator.m_it == 1));                          
                --it;                                                                                      --it;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it == 0));                                             CHECK((it.m_it.primitive_iterator.m_it == 0));                          
                --it;                                                                                      --it;                                                                   
                CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato                   CHECK((it.m_it.primitive_iterator.m_it != 0 && it.m_it.primitive_iterato
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j({{"foo", "bar"}});                                                                  json j({{"foo", "bar"}});                                               
                json::iterator it = j.end();                                                               json::const_iterator it = j.cend();                                     
                CHECK((it.m_it.object_iterator == it.m_object->m_value.object->end()));                    CHECK((it.m_it.object_iterator == it.m_object->m_value.object->end())); 
                --it;                                                                                      --it;                                                                   
                CHECK((it.m_it.object_iterator == it.m_object->m_value.object->begin()))                   CHECK((it.m_it.object_iterator == it.m_object->m_value.object->begin()))
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                json j({1, 2, 3, 4});                                                                      json j({1, 2, 3, 4});                                                   
                json::iterator it = j.end();                                                               json::const_iterator it = j.cend();                                     
                CHECK((it.m_it.array_iterator == it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator == it.m_object->m_value.array->end()));   
                --it;                                                                                      --it;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                --it;                                                                                      --it;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                --it;                                                                                      --it;                                                                   
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator != it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
                --it;                                                                                      --it;                                                                   
                CHECK((it.m_it.array_iterator == it.m_object->m_value.array->begin()));                    CHECK((it.m_it.array_iterator == it.m_object->m_value.array->begin())); 
                CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));                      CHECK((it.m_it.array_iterator != it.m_object->m_value.array->end()));   
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-iterators1.cpp:1318                                                 │ json/tests/src/unit-iterators1.cpp:356                                                   
                                                                                                                                                                                   
            json j = 23.42;                                                                            json j = "hello world";                                                     
            json j_const(j);                                                                           json j_const(j);                                                            
                                                                                                                                                                                   
            SECTION("json + begin/end")                                                                SECTION("json + begin/end")                                                 
            {                                                                                          {                                                                           
                json::iterator it = j.begin();                                                             json::iterator it = j.begin();                                          
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + begin/end")                                                          SECTION("const json + begin/end")                                           
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.begin();                                                 json::const_iterator it = j_const.begin();                              
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + cbegin/cend")                                                              SECTION("json + cbegin/cend")                                               
            {                                                                                          {                                                                           
                json::const_iterator it = j.cbegin();                                                      json::const_iterator it = j.cbegin();                                   
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + cbegin/cend")                                                        SECTION("const json + cbegin/cend")                                         
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.cbegin();                                                json::const_iterator it = j_const.cbegin();                             
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + rbegin/rend")                                                              SECTION("json + rbegin/rend")                                               
            {                                                                                          {                                                                           
                json::reverse_iterator it = j.rbegin();                                                    json::reverse_iterator it = j.rbegin();                                 
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + crbegin/crend")                                                            SECTION("json + crbegin/crend")                                             
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j.crbegin();                                             json::const_reverse_iterator it = j.crbegin();                          
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + crbegin/crend")                                                      SECTION("const json + crbegin/crend")                                       
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j_const.crbegin();                                       json::const_reverse_iterator it = j_const.crbegin();                    
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("key/value")                                                                       SECTION("key/value")                                                        
            {                                                                                          {                                                                           
                auto it = j.begin();                                                                       auto it = j.begin();                                                    
                auto cit = j_const.cbegin();                                                               auto cit = j_const.cbegin();                                            
                CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca                   CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca
                CHECK(it.value() == json(23.42));                                                          CHECK(it.value() == json("hello world"));                               
                CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c
                CHECK(cit.value() == json(23.42));                                                         CHECK(cit.value() == json("hello world"));                              
                                                                                                                                                                                   
                auto rit = j.rend();                                                                       auto rit = j.rend();                                                    
                auto crit = j.crend();                                                                     auto crit = j.crend();                                                  
                CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c
                CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]                   CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]
                CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207]                    CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207] 
                CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214                   CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-iterators1.cpp:1120                                                 │ json/tests/src/unit-iterators1.cpp:356                                                   
                                                                                                                                                                                   
            json j = 23u;                                                                              json j = "hello world";                                                     
            json j_const(j);                                                                           json j_const(j);                                                            
                                                                                                                                                                                   
            SECTION("json + begin/end")                                                                SECTION("json + begin/end")                                                 
            {                                                                                          {                                                                           
                json::iterator it = j.begin();                                                             json::iterator it = j.begin();                                          
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + begin/end")                                                          SECTION("const json + begin/end")                                           
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.begin();                                                 json::const_iterator it = j_const.begin();                              
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + cbegin/cend")                                                              SECTION("json + cbegin/cend")                                               
            {                                                                                          {                                                                           
                json::const_iterator it = j.cbegin();                                                      json::const_iterator it = j.cbegin();                                   
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + cbegin/cend")                                                        SECTION("const json + cbegin/cend")                                         
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.cbegin();                                                json::const_iterator it = j_const.cbegin();                             
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + rbegin/rend")                                                              SECTION("json + rbegin/rend")                                               
            {                                                                                          {                                                                           
                json::reverse_iterator it = j.rbegin();                                                    json::reverse_iterator it = j.rbegin();                                 
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + crbegin/crend")                                                            SECTION("json + crbegin/crend")                                             
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j.crbegin();                                             json::const_reverse_iterator it = j.crbegin();                          
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + crbegin/crend")                                                      SECTION("const json + crbegin/crend")                                       
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j_const.crbegin();                                       json::const_reverse_iterator it = j_const.crbegin();                    
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("key/value")                                                                       SECTION("key/value")                                                        
            {                                                                                          {                                                                           
                auto it = j.begin();                                                                       auto it = j.begin();                                                    
                auto cit = j_const.cbegin();                                                               auto cit = j_const.cbegin();                                            
                CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca                   CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca
                CHECK(it.value() == json(23));                                                             CHECK(it.value() == json("hello world"));                               
                CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c
                CHECK(cit.value() == json(23));                                                            CHECK(cit.value() == json("hello world"));                              
                                                                                                                                                                                   
                auto rit = j.rend();                                                                       auto rit = j.rend();                                                    
                auto crit = j.crend();                                                                     auto crit = j.crend();                                                  
                CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c
                CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]                   CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]
                CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207]                    CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207] 
                CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214                   CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-iterators1.cpp:1120                                                 │ json/tests/src/unit-iterators1.cpp:1318                                                  
                                                                                                                                                                                   
            json j = 23u;                                                                              json j = 23.42;                                                             
            json j_const(j);                                                                           json j_const(j);                                                            
                                                                                                                                                                                   
            SECTION("json + begin/end")                                                                SECTION("json + begin/end")                                                 
            {                                                                                          {                                                                           
                json::iterator it = j.begin();                                                             json::iterator it = j.begin();                                          
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + begin/end")                                                          SECTION("const json + begin/end")                                           
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.begin();                                                 json::const_iterator it = j_const.begin();                              
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + cbegin/cend")                                                              SECTION("json + cbegin/cend")                                               
            {                                                                                          {                                                                           
                json::const_iterator it = j.cbegin();                                                      json::const_iterator it = j.cbegin();                                   
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + cbegin/cend")                                                        SECTION("const json + cbegin/cend")                                         
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.cbegin();                                                json::const_iterator it = j_const.cbegin();                             
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + rbegin/rend")                                                              SECTION("json + rbegin/rend")                                               
            {                                                                                          {                                                                           
                json::reverse_iterator it = j.rbegin();                                                    json::reverse_iterator it = j.rbegin();                                 
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + crbegin/crend")                                                            SECTION("json + crbegin/crend")                                             
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j.crbegin();                                             json::const_reverse_iterator it = j.crbegin();                          
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + crbegin/crend")                                                      SECTION("const json + crbegin/crend")                                       
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j_const.crbegin();                                       json::const_reverse_iterator it = j_const.crbegin();                    
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("key/value")                                                                       SECTION("key/value")                                                        
            {                                                                                          {                                                                           
                auto it = j.begin();                                                                       auto it = j.begin();                                                    
                auto cit = j_const.cbegin();                                                               auto cit = j_const.cbegin();                                            
                CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca                   CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca
                CHECK(it.value() == json(23));                                                             CHECK(it.value() == json(23.42));                                       
                CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c
                CHECK(cit.value() == json(23));                                                            CHECK(cit.value() == json(23.42));                                      
                                                                                                                                                                                   
                auto rit = j.rend();                                                                       auto rit = j.rend();                                                    
                auto crit = j.crend();                                                                     auto crit = j.crend();                                                  
                CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c
                CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]                   CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]
                CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207]                    CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207] 
                CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214                   CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-iterators1.cpp:922                                                  │ json/tests/src/unit-iterators1.cpp:356                                                   
                                                                                                                                                                                   
            json j = 23;                                                                               json j = "hello world";                                                     
            json j_const(j);                                                                           json j_const(j);                                                            
                                                                                                                                                                                   
            SECTION("json + begin/end")                                                                SECTION("json + begin/end")                                                 
            {                                                                                          {                                                                           
                json::iterator it = j.begin();                                                             json::iterator it = j.begin();                                          
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + begin/end")                                                          SECTION("const json + begin/end")                                           
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.begin();                                                 json::const_iterator it = j_const.begin();                              
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + cbegin/cend")                                                              SECTION("json + cbegin/cend")                                               
            {                                                                                          {                                                                           
                json::const_iterator it = j.cbegin();                                                      json::const_iterator it = j.cbegin();                                   
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + cbegin/cend")                                                        SECTION("const json + cbegin/cend")                                         
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.cbegin();                                                json::const_iterator it = j_const.cbegin();                             
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + rbegin/rend")                                                              SECTION("json + rbegin/rend")                                               
            {                                                                                          {                                                                           
                json::reverse_iterator it = j.rbegin();                                                    json::reverse_iterator it = j.rbegin();                                 
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + crbegin/crend")                                                            SECTION("json + crbegin/crend")                                             
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j.crbegin();                                             json::const_reverse_iterator it = j.crbegin();                          
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + crbegin/crend")                                                      SECTION("const json + crbegin/crend")                                       
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j_const.crbegin();                                       json::const_reverse_iterator it = j_const.crbegin();                    
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("key/value")                                                                       SECTION("key/value")                                                        
            {                                                                                          {                                                                           
                auto it = j.begin();                                                                       auto it = j.begin();                                                    
                auto cit = j_const.cbegin();                                                               auto cit = j_const.cbegin();                                            
                CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca                   CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca
                CHECK(it.value() == json(23));                                                             CHECK(it.value() == json("hello world"));                               
                CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c
                CHECK(cit.value() == json(23));                                                            CHECK(cit.value() == json("hello world"));                              
                                                                                                                                                                                   
                auto rit = j.rend();                                                                       auto rit = j.rend();                                                    
                auto crit = j.crend();                                                                     auto crit = j.crend();                                                  
                CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c
                CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]                   CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]
                CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207]                    CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207] 
                CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214                   CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-iterators1.cpp:922                                                  │ json/tests/src/unit-iterators1.cpp:1318                                                  
                                                                                                                                                                                   
            json j = 23;                                                                               json j = 23.42;                                                             
            json j_const(j);                                                                           json j_const(j);                                                            
                                                                                                                                                                                   
            SECTION("json + begin/end")                                                                SECTION("json + begin/end")                                                 
            {                                                                                          {                                                                           
                json::iterator it = j.begin();                                                             json::iterator it = j.begin();                                          
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + begin/end")                                                          SECTION("const json + begin/end")                                           
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.begin();                                                 json::const_iterator it = j_const.begin();                              
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + cbegin/cend")                                                              SECTION("json + cbegin/cend")                                               
            {                                                                                          {                                                                           
                json::const_iterator it = j.cbegin();                                                      json::const_iterator it = j.cbegin();                                   
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + cbegin/cend")                                                        SECTION("const json + cbegin/cend")                                         
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.cbegin();                                                json::const_iterator it = j_const.cbegin();                             
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + rbegin/rend")                                                              SECTION("json + rbegin/rend")                                               
            {                                                                                          {                                                                           
                json::reverse_iterator it = j.rbegin();                                                    json::reverse_iterator it = j.rbegin();                                 
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + crbegin/crend")                                                            SECTION("json + crbegin/crend")                                             
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j.crbegin();                                             json::const_reverse_iterator it = j.crbegin();                          
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + crbegin/crend")                                                      SECTION("const json + crbegin/crend")                                       
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j_const.crbegin();                                       json::const_reverse_iterator it = j_const.crbegin();                    
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("key/value")                                                                       SECTION("key/value")                                                        
            {                                                                                          {                                                                           
                auto it = j.begin();                                                                       auto it = j.begin();                                                    
                auto cit = j_const.cbegin();                                                               auto cit = j_const.cbegin();                                            
                CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca                   CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca
                CHECK(it.value() == json(23));                                                             CHECK(it.value() == json(23.42));                                       
                CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c
                CHECK(cit.value() == json(23));                                                            CHECK(cit.value() == json(23.42));                                      
                                                                                                                                                                                   
                auto rit = j.rend();                                                                       auto rit = j.rend();                                                    
                auto crit = j.crend();                                                                     auto crit = j.crend();                                                  
                CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c
                CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]                   CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]
                CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207]                    CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207] 
                CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214                   CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-iterators1.cpp:922                                                  │ json/tests/src/unit-iterators1.cpp:1120                                                  
                                                                                                                                                                                   
            json j = 23;                                                                               json j = 23u;                                                               
            json j_const(j);                                                                           json j_const(j);                                                            
                                                                                                                                                                                   
            SECTION("json + begin/end")                                                                SECTION("json + begin/end")                                                 
            {                                                                                          {                                                                           
                json::iterator it = j.begin();                                                             json::iterator it = j.begin();                                          
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.begin());                                                                    CHECK(it != j.begin());                                                 
                CHECK(it == j.end());                                                                      CHECK(it == j.end());                                                   
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.begin());                                                                    CHECK(it == j.begin());                                                 
                CHECK(it != j.end());                                                                      CHECK(it != j.end());                                                   
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + begin/end")                                                          SECTION("const json + begin/end")                                           
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.begin();                                                 json::const_iterator it = j_const.begin();                              
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.begin());                                                              CHECK(it != j_const.begin());                                           
                CHECK(it == j_const.end());                                                                CHECK(it == j_const.end());                                             
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.begin());                                                              CHECK(it == j_const.begin());                                           
                CHECK(it != j_const.end());                                                                CHECK(it != j_const.end());                                             
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + cbegin/cend")                                                              SECTION("json + cbegin/cend")                                               
            {                                                                                          {                                                                           
                json::const_iterator it = j.cbegin();                                                      json::const_iterator it = j.cbegin();                                   
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.cbegin());                                                                   CHECK(it != j.cbegin());                                                
                CHECK(it == j.cend());                                                                     CHECK(it == j.cend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.cbegin());                                                                   CHECK(it == j.cbegin());                                                
                CHECK(it != j.cend());                                                                     CHECK(it != j.cend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + cbegin/cend")                                                        SECTION("const json + cbegin/cend")                                         
            {                                                                                          {                                                                           
                json::const_iterator it = j_const.cbegin();                                                json::const_iterator it = j_const.cbegin();                             
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.cbegin());                                                             CHECK(it != j_const.cbegin());                                          
                CHECK(it == j_const.cend());                                                               CHECK(it == j_const.cend());                                            
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.cbegin());                                                             CHECK(it == j_const.cbegin());                                          
                CHECK(it != j_const.cend());                                                               CHECK(it != j_const.cend());                                            
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + rbegin/rend")                                                              SECTION("json + rbegin/rend")                                               
            {                                                                                          {                                                                           
                json::reverse_iterator it = j.rbegin();                                                    json::reverse_iterator it = j.rbegin();                                 
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.rbegin());                                                                   CHECK(it != j.rbegin());                                                
                CHECK(it == j.rend());                                                                     CHECK(it == j.rend());                                                  
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.rbegin());                                                                   CHECK(it == j.rbegin());                                                
                CHECK(it != j.rend());                                                                     CHECK(it != j.rend());                                                  
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + crbegin/crend")                                                            SECTION("json + crbegin/crend")                                             
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j.crbegin();                                             json::const_reverse_iterator it = j.crbegin();                          
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j.crbegin());                                                                  CHECK(it != j.crbegin());                                               
                CHECK(it == j.crend());                                                                    CHECK(it == j.crend());                                                 
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j.crbegin());                                                                  CHECK(it == j.crbegin());                                               
                CHECK(it != j.crend());                                                                    CHECK(it != j.crend());                                                 
                CHECK(*it == j);                                                                           CHECK(*it == j);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + crbegin/crend")                                                      SECTION("const json + crbegin/crend")                                       
            {                                                                                          {                                                                           
                json::const_reverse_iterator it = j_const.crbegin();                                       json::const_reverse_iterator it = j_const.crbegin();                    
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                it--;                                                                                      it--;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != j_const.crbegin());                                                            CHECK(it != j_const.crbegin());                                         
                CHECK(it == j_const.crend());                                                              CHECK(it == j_const.crend());                                           
                                                                                                                                                                                   
                --it;                                                                                      --it;                                                                   
                CHECK(it == j_const.crbegin());                                                            CHECK(it == j_const.crbegin());                                         
                CHECK(it != j_const.crend());                                                              CHECK(it != j_const.crend());                                           
                CHECK(*it == j_const);                                                                     CHECK(*it == j_const);                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("key/value")                                                                       SECTION("key/value")                                                        
            {                                                                                          {                                                                           
                auto it = j.begin();                                                                       auto it = j.begin();                                                    
                auto cit = j_const.cbegin();                                                               auto cit = j_const.cbegin();                                            
                CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca                   CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca
                CHECK(it.value() == json(23));                                                             CHECK(it.value() == json(23));                                          
                CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c
                CHECK(cit.value() == json(23));                                                            CHECK(cit.value() == json(23));                                         
                                                                                                                                                                                   
                auto rit = j.rend();                                                                       auto rit = j.rend();                                                    
                auto crit = j.crend();                                                                     auto crit = j.crend();                                                  
                CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c                   CHECK_THROWS_WITH_AS(rit.key(), "[json.exception.invalid_iterator.207] c
                CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]                   CHECK_THROWS_WITH_AS(rit.value(), "[json.exception.invalid_iterator.214]
                CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207]                    CHECK_THROWS_WITH_AS(crit.key(), "[json.exception.invalid_iterator.207] 
                CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214                   CHECK_THROWS_WITH_AS(crit.value(), "[json.exception.invalid_iterator.214
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode5.cpp:191                                                    │ json/tests/src/unit-unicode4.cpp:191                                                     
                                                                                                                                                                                   
    SECTION("RFC 3629")                                                                        SECTION("RFC 3629")                                                                 
    {                                                                                          {                                                                                   
        /*                                                                                         /*                                                                              
        RFC 3629 describes in Sect. 4 the syntax of UTF-8 byte sequences as                        RFC 3629 describes in Sect. 4 the syntax of UTF-8 byte sequences as             
        follows:                                                                                   follows:                                                                        
                                                                                                                                                                                   
            A UTF-8 string is a sequence of octets representing a sequence of UCS                      A UTF-8 string is a sequence of octets representing a sequence of UCS       
            characters.  An octet sequence is valid UTF-8 only if it matches the                       characters.  An octet sequence is valid UTF-8 only if it matches the        
            following syntax, which is derived from the rules for encoding UTF-8                       following syntax, which is derived from the rules for encoding UTF-8        
            and is expressed in the ABNF of [RFC2234].                                                 and is expressed in the ABNF of [RFC2234].                                  
                                                                                                                                                                                   
            UTF8-octets = *( UTF8-char )                                                               UTF8-octets = *( UTF8-char )                                                
            UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4                                            UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4                             
            UTF8-1      = %x00-7F                                                                      UTF8-1      = %x00-7F                                                       
            UTF8-2      = %xC2-DF UTF8-tail                                                            UTF8-2      = %xC2-DF UTF8-tail                                             
            UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /                            UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /             
                          %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )                                            %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )               
            UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /                       UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /        
                          %xF4 %x80-8F 2( UTF8-tail )                                                                %xF4 %x80-8F 2( UTF8-tail )                                   
            UTF8-tail   = %x80-BF                                                                      UTF8-tail   = %x80-BF                                                       
        */                                                                                         */                                                                              
                                                                                                                                                                                   
        SECTION("UTF8-4 (xF1-F3 UTF8-tail UTF8-tail UTF8-tail)")                                   SECTION("UTF8-4 (xF1-F3 UTF8-tail UTF8-tail UTF8-tail)")                        
        {                                                                                          {                                                                               
            SECTION("well-formed")                                                                     SECTION("well-formed")                                                      
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)                                             for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)              
                            {                                                                                          {                                                           
                                check_utf8string(true, byte1, byte2, byte3, byte4);                                        check_utf8string(true, byte1, byte2, byte3, byte4);     
                                check_utf8dump(true, byte1, byte2, byte3, byte4);                                          check_utf8dump(true, byte1, byte2, byte3, byte4);       
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing second byte")                                                 SECTION("ill-formed: missing second byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    check_utf8string(false, byte1);                                                            check_utf8string(false, byte1);                                     
                    check_utf8dump(false, byte1);                                                              check_utf8dump(false, byte1);                                       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing third byte")                                                  SECTION("ill-formed: missing third byte")                                   
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        check_utf8string(false, byte1, byte2);                                                     check_utf8string(false, byte1, byte2);                          
                        check_utf8dump(false, byte1, byte2);                                                       check_utf8dump(false, byte1, byte2);                            
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing fourth byte")                                                 SECTION("ill-formed: missing fourth byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong second byte")                                                   SECTION("ill-formed: wrong second byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                                             for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                      
                    {                                                                                          {                                                                   
                        // skip correct second byte                                                                // skip correct second byte                                     
                        if (0x80 <= byte2 && byte2 <= 0xBF)                                                        if (0x80 <= byte2 && byte2 <= 0xBF)                             
                        {                                                                                          {                                                               
                            continue;                                                                                  continue;                                                   
                        }                                                                                          }                                                               
                                                                                                                                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)                                             for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)              
                            {                                                                                          {                                                           
                                check_utf8string(false, byte1, byte2, byte3, byte4);                                       check_utf8string(false, byte1, byte2, byte3, byte4);    
                                check_utf8dump(false, byte1, byte2, byte3, byte4);                                         check_utf8dump(false, byte1, byte2, byte3, byte4);      
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong third byte")                                                    SECTION("ill-formed: wrong third byte")                                     
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                                             for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                  
                        {                                                                                          {                                                               
                            // skip correct third byte                                                                 // skip correct third byte                                  
                            if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                         
                            {                                                                                          {                                                           
                                continue;                                                                                  continue;                                               
                            }                                                                                          }                                                           
                                                                                                                                                                                   
                            for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)                                             for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)              
                            {                                                                                          {                                                           
                                check_utf8string(false, byte1, byte2, byte3, byte4);                                       check_utf8string(false, byte1, byte2, byte3, byte4);    
                                check_utf8dump(false, byte1, byte2, byte3, byte4);                                         check_utf8dump(false, byte1, byte2, byte3, byte4);      
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong fourth byte")                                                   SECTION("ill-formed: wrong fourth byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            for (int byte4 = 0x00; byte4 <= 0xFF; ++byte4)                                             for (int byte4 = 0x00; byte4 <= 0xFF; ++byte4)              
                            {                                                                                          {                                                           
                                // skip correct fourth byte                                                                // skip correct fourth byte                             
                                if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                     
                                {                                                                                          {                                                       
                                    continue;                                                                                  continue;                                           
                                }                                                                                          }                                                       
                                                                                                                                                                                   
                                check_utf8string(false, byte1, byte2, byte3, byte4);                                       check_utf8string(false, byte1, byte2, byte3, byte4);    
                                check_utf8dump(false, byte1, byte2, byte3, byte4);                                         check_utf8dump(false, byte1, byte2, byte3, byte4);      
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                          }                                                                                   
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode3.cpp:191                                                    │ json/tests/src/unit-unicode4.cpp:191                                                     
                                                                                                                                                                                   
    SECTION("RFC 3629")                                                                        SECTION("RFC 3629")                                                                 
    {                                                                                          {                                                                                   
        /*                                                                                         /*                                                                              
        RFC 3629 describes in Sect. 4 the syntax of UTF-8 byte sequences as                        RFC 3629 describes in Sect. 4 the syntax of UTF-8 byte sequences as             
        follows:                                                                                   follows:                                                                        
                                                                                                                                                                                   
            A UTF-8 string is a sequence of octets representing a sequence of UCS                      A UTF-8 string is a sequence of octets representing a sequence of UCS       
            characters.  An octet sequence is valid UTF-8 only if it matches the                       characters.  An octet sequence is valid UTF-8 only if it matches the        
            following syntax, which is derived from the rules for encoding UTF-8                       following syntax, which is derived from the rules for encoding UTF-8        
            and is expressed in the ABNF of [RFC2234].                                                 and is expressed in the ABNF of [RFC2234].                                  
                                                                                                                                                                                   
            UTF8-octets = *( UTF8-char )                                                               UTF8-octets = *( UTF8-char )                                                
            UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4                                            UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4                             
            UTF8-1      = %x00-7F                                                                      UTF8-1      = %x00-7F                                                       
            UTF8-2      = %xC2-DF UTF8-tail                                                            UTF8-2      = %xC2-DF UTF8-tail                                             
            UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /                            UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /             
                          %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )                                            %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )               
            UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /                       UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /        
                          %xF4 %x80-8F 2( UTF8-tail )                                                                %xF4 %x80-8F 2( UTF8-tail )                                   
            UTF8-tail   = %x80-BF                                                                      UTF8-tail   = %x80-BF                                                       
        */                                                                                         */                                                                              
                                                                                                                                                                                   
        SECTION("UTF8-4 (xF1-F3 UTF8-tail UTF8-tail UTF8-tail)")                                   SECTION("UTF8-4 (xF1-F3 UTF8-tail UTF8-tail UTF8-tail)")                        
        {                                                                                          {                                                                               
            SECTION("well-formed")                                                                     SECTION("well-formed")                                                      
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)                                             for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)              
                            {                                                                                          {                                                           
                                check_utf8string(true, byte1, byte2, byte3, byte4);                                        check_utf8string(true, byte1, byte2, byte3, byte4);     
                                check_utf8dump(true, byte1, byte2, byte3, byte4);                                          check_utf8dump(true, byte1, byte2, byte3, byte4);       
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing second byte")                                                 SECTION("ill-formed: missing second byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    check_utf8string(false, byte1);                                                            check_utf8string(false, byte1);                                     
                    check_utf8dump(false, byte1);                                                              check_utf8dump(false, byte1);                                       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing third byte")                                                  SECTION("ill-formed: missing third byte")                                   
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        check_utf8string(false, byte1, byte2);                                                     check_utf8string(false, byte1, byte2);                          
                        check_utf8dump(false, byte1, byte2);                                                       check_utf8dump(false, byte1, byte2);                            
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing fourth byte")                                                 SECTION("ill-formed: missing fourth byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong second byte")                                                   SECTION("ill-formed: wrong second byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                                             for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                      
                    {                                                                                          {                                                                   
                        // skip correct second byte                                                                // skip correct second byte                                     
                        if (0x80 <= byte2 && byte2 <= 0xBF)                                                        if (0x80 <= byte2 && byte2 <= 0xBF)                             
                        {                                                                                          {                                                               
                            continue;                                                                                  continue;                                                   
                        }                                                                                          }                                                               
                                                                                                                                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)                                             for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)              
                            {                                                                                          {                                                           
                                check_utf8string(false, byte1, byte2, byte3, byte4);                                       check_utf8string(false, byte1, byte2, byte3, byte4);    
                                check_utf8dump(false, byte1, byte2, byte3, byte4);                                         check_utf8dump(false, byte1, byte2, byte3, byte4);      
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong third byte")                                                    SECTION("ill-formed: wrong third byte")                                     
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                                             for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                  
                        {                                                                                          {                                                               
                            // skip correct third byte                                                                 // skip correct third byte                                  
                            if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                         
                            {                                                                                          {                                                           
                                continue;                                                                                  continue;                                               
                            }                                                                                          }                                                           
                                                                                                                                                                                   
                            for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)                                             for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)              
                            {                                                                                          {                                                           
                                check_utf8string(false, byte1, byte2, byte3, byte4);                                       check_utf8string(false, byte1, byte2, byte3, byte4);    
                                check_utf8dump(false, byte1, byte2, byte3, byte4);                                         check_utf8dump(false, byte1, byte2, byte3, byte4);      
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong fourth byte")                                                   SECTION("ill-formed: wrong fourth byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                                             for (int byte1 = 0xF1; byte1 <= 0xF3; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            for (int byte4 = 0x00; byte4 <= 0xFF; ++byte4)                                             for (int byte4 = 0x00; byte4 <= 0xFF; ++byte4)              
                            {                                                                                          {                                                           
                                // skip correct fourth byte                                                                // skip correct fourth byte                             
                                if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                     
                                {                                                                                          {                                                       
                                    continue;                                                                                  continue;                                           
                                }                                                                                          }                                                       
                                                                                                                                                                                   
                                check_utf8string(false, byte1, byte2, byte3, byte4);                                       check_utf8string(false, byte1, byte2, byte3, byte4);    
                                check_utf8dump(false, byte1, byte2, byte3, byte4);                                         check_utf8dump(false, byte1, byte2, byte3, byte4);      
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                          }                                                                                   
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode3.cpp:191                                                    │ json/tests/src/unit-unicode5.cpp:191                                                     
                                                                                                                                                                                   
    SECTION("RFC 3629")                                                                        SECTION("RFC 3629")                                                                 
    {                                                                                          {                                                                                   
        /*                                                                                         /*                                                                              
        RFC 3629 describes in Sect. 4 the syntax of UTF-8 byte sequences as                        RFC 3629 describes in Sect. 4 the syntax of UTF-8 byte sequences as             
        follows:                                                                                   follows:                                                                        
                                                                                                                                                                                   
            A UTF-8 string is a sequence of octets representing a sequence of UCS                      A UTF-8 string is a sequence of octets representing a sequence of UCS       
            characters.  An octet sequence is valid UTF-8 only if it matches the                       characters.  An octet sequence is valid UTF-8 only if it matches the        
            following syntax, which is derived from the rules for encoding UTF-8                       following syntax, which is derived from the rules for encoding UTF-8        
            and is expressed in the ABNF of [RFC2234].                                                 and is expressed in the ABNF of [RFC2234].                                  
                                                                                                                                                                                   
            UTF8-octets = *( UTF8-char )                                                               UTF8-octets = *( UTF8-char )                                                
            UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4                                            UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4                             
            UTF8-1      = %x00-7F                                                                      UTF8-1      = %x00-7F                                                       
            UTF8-2      = %xC2-DF UTF8-tail                                                            UTF8-2      = %xC2-DF UTF8-tail                                             
            UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /                            UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /             
                          %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )                                            %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )               
            UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /                       UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /        
                          %xF4 %x80-8F 2( UTF8-tail )                                                                %xF4 %x80-8F 2( UTF8-tail )                                   
            UTF8-tail   = %x80-BF                                                                      UTF8-tail   = %x80-BF                                                       
        */                                                                                         */                                                                              
                                                                                                                                                                                   
        SECTION("UTF8-4 (xF4 x80-8F UTF8-tail UTF8-tail)")                                         SECTION("UTF8-4 (xF4 x80-8F UTF8-tail UTF8-tail)")                              
        {                                                                                          {                                                                               
            SECTION("well-formed")                                                                     SECTION("well-formed")                                                      
            {                                                                                          {                                                                           
                for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                                             for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)                                             for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)              
                            {                                                                                          {                                                           
                                check_utf8string(true, byte1, byte2, byte3, byte4);                                        check_utf8string(true, byte1, byte2, byte3, byte4);     
                                check_utf8dump(true, byte1, byte2, byte3, byte4);                                          check_utf8dump(true, byte1, byte2, byte3, byte4);       
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing second byte")                                                 SECTION("ill-formed: missing second byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                                             for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                          
                {                                                                                          {                                                                       
                    check_utf8string(false, byte1);                                                            check_utf8string(false, byte1);                                     
                    check_utf8dump(false, byte1);                                                              check_utf8dump(false, byte1);                                       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing third byte")                                                  SECTION("ill-formed: missing third byte")                                   
            {                                                                                          {                                                                           
                for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                                             for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                      
                    {                                                                                          {                                                                   
                        check_utf8string(false, byte1, byte2);                                                     check_utf8string(false, byte1, byte2);                          
                        check_utf8dump(false, byte1, byte2);                                                       check_utf8dump(false, byte1, byte2);                            
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing fourth byte")                                                 SECTION("ill-formed: missing fourth byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                                             for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong second byte")                                                   SECTION("ill-formed: wrong second byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                                             for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                                             for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                      
                    {                                                                                          {                                                                   
                        // skip correct second byte                                                                // skip correct second byte                                     
                        if (0x80 <= byte2 && byte2 <= 0x8F)                                                        if (0x80 <= byte2 && byte2 <= 0x8F)                             
                        {                                                                                          {                                                               
                            continue;                                                                                  continue;                                                   
                        }                                                                                          }                                                               
                                                                                                                                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)                                             for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)              
                            {                                                                                          {                                                           
                                check_utf8string(false, byte1, byte2, byte3, byte4);                                       check_utf8string(false, byte1, byte2, byte3, byte4);    
                                check_utf8dump(false, byte1, byte2, byte3, byte4);                                         check_utf8dump(false, byte1, byte2, byte3, byte4);      
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong third byte")                                                    SECTION("ill-formed: wrong third byte")                                     
            {                                                                                          {                                                                           
                for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                                             for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                                             for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                  
                        {                                                                                          {                                                               
                            // skip correct third byte                                                                 // skip correct third byte                                  
                            if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                         
                            {                                                                                          {                                                           
                                continue;                                                                                  continue;                                               
                            }                                                                                          }                                                           
                                                                                                                                                                                   
                            for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)                                             for (int byte4 = 0x80; byte4 <= 0xBF; ++byte4)              
                            {                                                                                          {                                                           
                                check_utf8string(false, byte1, byte2, byte3, byte4);                                       check_utf8string(false, byte1, byte2, byte3, byte4);    
                                check_utf8dump(false, byte1, byte2, byte3, byte4);                                         check_utf8dump(false, byte1, byte2, byte3, byte4);      
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong fourth byte")                                                   SECTION("ill-formed: wrong fourth byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                                             for (int byte1 = 0xF4; byte1 <= 0xF4; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0x8F; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            for (int byte4 = 0x00; byte4 <= 0xFF; ++byte4)                                             for (int byte4 = 0x00; byte4 <= 0xFF; ++byte4)              
                            {                                                                                          {                                                           
                                // skip correct fourth byte                                                                // skip correct fourth byte                             
                                if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                     
                                {                                                                                          {                                                       
                                    continue;                                                                                  continue;                                           
                                }                                                                                          }                                                       
                                                                                                                                                                                   
                                check_utf8string(false, byte1, byte2, byte3, byte4);                                       check_utf8string(false, byte1, byte2, byte3, byte4);    
                                check_utf8dump(false, byte1, byte2, byte3, byte4);                                         check_utf8dump(false, byte1, byte2, byte3, byte4);      
                            }                                                                                          }                                                           
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                          }                                                                                   
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-iterators1.cpp:738                                                  │ json/tests/src/unit-iterators1.cpp:554                                                   
                                                                                                                                                                                   
            json j = {{"A", 1}, {"B", 2}, {"C", 3}};                                                   json j = {1, 2, 3};                                                         
            json j_const(j);                                                                           json j_const(j);                                                            
                                                                                                                                                                                   
            SECTION("json + begin/end")                                                                SECTION("json + begin/end")                                                 
            {                                                                                          {                                                                           
                json::iterator it_begin = j.begin();                                                       json::iterator it_begin = j.begin();                                    
                json::iterator it_end = j.end();                                                           json::iterator it_end = j.end();                                        
                                                                                                                                                                                   
                auto it = it_begin;                                                                        auto it = it_begin;                                                     
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["A"]);                                                                      CHECK(*it == j[0]);                                                     
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["B"]);                                                                      CHECK(*it == j[1]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["C"]);                                                                      CHECK(*it == j[2]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it == it_end);                                                                       CHECK(it == it_end);                                                    
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + begin/end")                                                          SECTION("const json + begin/end")                                           
            {                                                                                          {                                                                           
                json::const_iterator it_begin = j_const.begin();                                           json::const_iterator it_begin = j_const.begin();                        
                json::const_iterator it_end = j_const.end();                                               json::const_iterator it_end = j_const.end();                            
                                                                                                                                                                                   
                auto it = it_begin;                                                                        auto it = it_begin;                                                     
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j_const["A"]);                                                                CHECK(*it == j_const[0]);                                               
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j_const["B"]);                                                                CHECK(*it == j_const[1]);                                               
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j_const["C"]);                                                                CHECK(*it == j_const[2]);                                               
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it == it_end);                                                                       CHECK(it == it_end);                                                    
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + cbegin/cend")                                                              SECTION("json + cbegin/cend")                                               
            {                                                                                          {                                                                           
                json::const_iterator it_begin = j.cbegin();                                                json::const_iterator it_begin = j.cbegin();                             
                json::const_iterator it_end = j.cend();                                                    json::const_iterator it_end = j.cend();                                 
                                                                                                                                                                                   
                auto it = it_begin;                                                                        auto it = it_begin;                                                     
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["A"]);                                                                      CHECK(*it == j[0]);                                                     
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["B"]);                                                                      CHECK(*it == j[1]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["C"]);                                                                      CHECK(*it == j[2]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it == it_end);                                                                       CHECK(it == it_end);                                                    
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + cbegin/cend")                                                        SECTION("const json + cbegin/cend")                                         
            {                                                                                          {                                                                           
                json::const_iterator it_begin = j_const.cbegin();                                          json::const_iterator it_begin = j_const.cbegin();                       
                json::const_iterator it_end = j_const.cend();                                              json::const_iterator it_end = j_const.cend();                           
                                                                                                                                                                                   
                auto it = it_begin;                                                                        auto it = it_begin;                                                     
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j_const["A"]);                                                                CHECK(*it == j[0]);                                                     
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j_const["B"]);                                                                CHECK(*it == j[1]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j_const["C"]);                                                                CHECK(*it == j[2]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it == it_end);                                                                       CHECK(it == it_end);                                                    
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + rbegin/rend")                                                              SECTION("json + rbegin/rend")                                               
            {                                                                                          {                                                                           
                json::reverse_iterator it_begin = j.rbegin();                                              json::reverse_iterator it_begin = j.rbegin();                           
                json::reverse_iterator it_end = j.rend();                                                  json::reverse_iterator it_end = j.rend();                               
                                                                                                                                                                                   
                auto it = it_begin;                                                                        auto it = it_begin;                                                     
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["C"]);                                                                      CHECK(*it == j[2]);                                                     
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["B"]);                                                                      CHECK(*it == j[1]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["A"]);                                                                      CHECK(*it == j[0]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it == it_end);                                                                       CHECK(it == it_end);                                                    
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("json + crbegin/crend")                                                            SECTION("json + crbegin/crend")                                             
            {                                                                                          {                                                                           
                json::const_reverse_iterator it_begin = j.crbegin();                                       json::const_reverse_iterator it_begin = j.crbegin();                    
                json::const_reverse_iterator it_end = j.crend();                                           json::const_reverse_iterator it_end = j.crend();                        
                                                                                                                                                                                   
                auto it = it_begin;                                                                        auto it = it_begin;                                                     
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["C"]);                                                                      CHECK(*it == j[2]);                                                     
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["B"]);                                                                      CHECK(*it == j[1]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["A"]);                                                                      CHECK(*it == j[0]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it == it_end);                                                                       CHECK(it == it_end);                                                    
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json + crbegin/crend")                                                      SECTION("const json + crbegin/crend")                                       
            {                                                                                          {                                                                           
                json::const_reverse_iterator it_begin = j_const.crbegin();                                 json::const_reverse_iterator it_begin = j_const.crbegin();              
                json::const_reverse_iterator it_end = j_const.crend();                                     json::const_reverse_iterator it_end = j_const.crend();                  
                                                                                                                                                                                   
                auto it = it_begin;                                                                        auto it = it_begin;                                                     
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["C"]);                                                                      CHECK(*it == j[2]);                                                     
                                                                                                                                                                                   
                it++;                                                                                      it++;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["B"]);                                                                      CHECK(*it == j[1]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it != it_end);                                                                       CHECK(it != it_end);                                                    
                CHECK(*it == j["A"]);                                                                      CHECK(*it == j[0]);                                                     
                                                                                                                                                                                   
                ++it;                                                                                      ++it;                                                                   
                CHECK(it != it_begin);                                                                     CHECK(it != it_begin);                                                  
                CHECK(it == it_end);                                                                       CHECK(it == it_end);                                                    
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("key/value")                                                                       SECTION("key/value")                                                        
            {                                                                                          {                                                                           
                auto it = j.begin();                                                                       auto it = j.begin();                                                    
                auto cit = j_const.cbegin();                                                               auto cit = j_const.cbegin();                                            
                CHECK(it.key() == "A");                                                                    CHECK_THROWS_WITH_AS(it.key(), "[json.exception.invalid_iterator.207] ca
                CHECK(it.value() == json(1));                                                              CHECK(it.value() == json(1));                                           
                CHECK(cit.key() == "A");                                                                   CHECK_THROWS_WITH_AS(cit.key(), "[json.exception.invalid_iterator.207] c
                CHECK(cit.value() == json(1));                                                             CHECK(cit.value() == json(1));                                          
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:1164                                            │ json/tests/src/unit-element_access2.cpp:1313                                             
                                                                                                                                                                                   
            SECTION("existing element")                                                                SECTION("existing element")                                                 
            {                                                                                          {                                                                           
                for (const auto* key :                                                                     for (const auto* key :                                                  
                        {"integer", "unsigned", "floating", "null", "string", "boolean",                           {"integer", "unsigned", "floating", "null", "string", "boolean",
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CHECK(j.count(key) == 1);                                                                  CHECK(j.contains(key) == true);                                     
                    CHECK(j_const.count(key) == 1);                                                            CHECK(j_const.contains(key) == true);                               
                }                                                                                          }                                                                       
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                for (const std::string_view key :                                                          for (const std::string_view key :                                       
                        {"integer", "unsigned", "floating", "null", "string", "boolean",                           {"integer", "unsigned", "floating", "null", "string", "boolean",
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CHECK(j.count(key) == 1);                                                                  CHECK(j.contains(key) == true);                                     
                    CHECK(j_const.count(key) == 1);                                                            CHECK(j_const.contains(key) == true);                               
                }                                                                                          }                                                                       
#endif                                                                                     #endif                                                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("nonexisting element")                                                             SECTION("nonexisting element")                                              
            {                                                                                          {                                                                           
                CHECK(j.count("foo") == 0);                                                                CHECK(j.contains("foo") == false);                                      
                CHECK(j_const.count("foo") == 0);                                                          CHECK(j_const.contains("foo") == false);                                
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                CHECK(j.count(std::string_view("foo")) == 0);                                              CHECK(j.contains(std::string_view("foo")) == false);                    
                CHECK(j_const.count(std::string_view("foo")) == 0);                                        CHECK(j_const.contains(std::string_view("foo")) == false);              
#endif                                                                                     #endif                                                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("all types")                                                                       SECTION("all types")                                                        
            {                                                                                          {                                                                           
                SECTION("null")                                                                            SECTION("null")                                                         
                {                                                                                          {                                                                       
                    json j_nonobject(json::value_t::null);                                                     json j_nonobject(json::value_t::null);                              
                    const json j_nonobject_const(json::value_t::null);                                         const json j_nonobject_const(json::value_t::null);                  
                                                                                                                                                                                   
                    CHECK(j_nonobject.count("foo") == 0);                                                      CHECK(j_nonobject.contains("foo") == false);                        
                    CHECK(j_nonobject_const.count("foo") == 0);                                                CHECK(j_nonobject_const.contains("foo") == false);                  
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK(j.count(std::string_view("foo")) == 0);                                              CHECK(j_nonobject.contains(std::string_view("foo")) == false);      
                    CHECK(j_const.count(std::string_view("foo")) == 0);                                        CHECK(j_nonobject_const.contains(std::string_view("foo")) == false);
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("string")                                                                          SECTION("string")                                                       
                {                                                                                          {                                                                       
                    json j_nonobject(json::value_t::string);                                                   json j_nonobject(json::value_t::string);                            
                    const json j_nonobject_const(json::value_t::string);                                       const json j_nonobject_const(json::value_t::string);                
                                                                                                                                                                                   
                    CHECK(j_nonobject.count("foo") == 0);                                                      CHECK(j_nonobject.contains("foo") == false);                        
                    CHECK(j_nonobject_const.count("foo") == 0);                                                CHECK(j_nonobject_const.contains("foo") == false);                  
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK(j.count(std::string_view("foo")) == 0);                                              CHECK(j_nonobject.contains(std::string_view("foo")) == false);      
                    CHECK(j_const.count(std::string_view("foo")) == 0);                                        CHECK(j_nonobject_const.contains(std::string_view("foo")) == false);
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("object")                                                                          SECTION("object")                                                       
                {                                                                                          {                                                                       
                    json j_nonobject(json::value_t::object);                                                   json j_nonobject(json::value_t::object);                            
                    const json j_nonobject_const(json::value_t::object);                                       const json j_nonobject_const(json::value_t::object);                
                                                                                                                                                                                   
                    CHECK(j_nonobject.count("foo") == 0);                                                      CHECK(j_nonobject.contains("foo") == false);                        
                    CHECK(j_nonobject_const.count("foo") == 0);                                                CHECK(j_nonobject_const.contains("foo") == false);                  
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK(j.count(std::string_view("foo")) == 0);                                              CHECK(j_nonobject.contains(std::string_view("foo")) == false);      
                    CHECK(j_const.count(std::string_view("foo")) == 0);                                        CHECK(j_nonobject_const.contains(std::string_view("foo")) == false);
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("array")                                                                           SECTION("array")                                                        
                {                                                                                          {                                                                       
                    json j_nonobject(json::value_t::array);                                                    json j_nonobject(json::value_t::array);                             
                    const json j_nonobject_const(json::value_t::array);                                        const json j_nonobject_const(json::value_t::array);                 
                                                                                                                                                                                   
                    CHECK(j_nonobject.count("foo") == 0);                                                      CHECK(j_nonobject.contains("foo") == false);                        
                    CHECK(j_nonobject_const.count("foo") == 0);                                                CHECK(j_nonobject_const.contains("foo") == false);                  
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK(j.count(std::string_view("foo")) == 0);                                              CHECK(j_nonobject.contains(std::string_view("foo")) == false);      
                    CHECK(j_const.count(std::string_view("foo")) == 0);                                        CHECK(j_nonobject_const.contains(std::string_view("foo")) == false);
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("boolean")                                                                         SECTION("boolean")                                                      
                {                                                                                          {                                                                       
                    json j_nonobject(json::value_t::boolean);                                                  json j_nonobject(json::value_t::boolean);                           
                    const json j_nonobject_const(json::value_t::boolean);                                      const json j_nonobject_const(json::value_t::boolean);               
                                                                                                                                                                                   
                    CHECK(j_nonobject.count("foo") == 0);                                                      CHECK(j_nonobject.contains("foo") == false);                        
                    CHECK(j_nonobject_const.count("foo") == 0);                                                CHECK(j_nonobject_const.contains("foo") == false);                  
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK(j.count(std::string_view("foo")) == 0);                                              CHECK(j_nonobject.contains(std::string_view("foo")) == false);      
                    CHECK(j_const.count(std::string_view("foo")) == 0);                                        CHECK(j_nonobject_const.contains(std::string_view("foo")) == false);
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("number (integer)")                                                                SECTION("number (integer)")                                             
                {                                                                                          {                                                                       
                    json j_nonobject(json::value_t::number_integer);                                           json j_nonobject(json::value_t::number_integer);                    
                    const json j_nonobject_const(json::value_t::number_integer);                               const json j_nonobject_const(json::value_t::number_integer);        
                                                                                                                                                                                   
                    CHECK(j_nonobject.count("foo") == 0);                                                      CHECK(j_nonobject.contains("foo") == false);                        
                    CHECK(j_nonobject_const.count("foo") == 0);                                                CHECK(j_nonobject_const.contains("foo") == false);                  
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK(j.count(std::string_view("foo")) == 0);                                              CHECK(j_nonobject.contains(std::string_view("foo")) == false);      
                    CHECK(j_const.count(std::string_view("foo")) == 0);                                        CHECK(j_nonobject_const.contains(std::string_view("foo")) == false);
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("number (unsigned)")                                                               SECTION("number (unsigned)")                                            
                {                                                                                          {                                                                       
                    json j_nonobject(json::value_t::number_unsigned);                                          json j_nonobject(json::value_t::number_unsigned);                   
                    const json j_nonobject_const(json::value_t::number_unsigned);                              const json j_nonobject_const(json::value_t::number_unsigned);       
                                                                                                                                                                                   
                    CHECK(j_nonobject.count("foo") == 0);                                                      CHECK(j_nonobject.contains("foo") == false);                        
                    CHECK(j_nonobject_const.count("foo") == 0);                                                CHECK(j_nonobject_const.contains("foo") == false);                  
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK(j.count(std::string_view("foo")) == 0);                                              CHECK(j_nonobject.contains(std::string_view("foo")) == false);      
                    CHECK(j_const.count(std::string_view("foo")) == 0);                                        CHECK(j_nonobject_const.contains(std::string_view("foo")) == false);
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("number (floating-point)")                                                         SECTION("number (floating-point)")                                      
                {                                                                                          {                                                                       
                    json j_nonobject(json::value_t::number_float);                                             json j_nonobject(json::value_t::number_float);                      
                    const json j_nonobject_const(json::value_t::number_float);                                 const json j_nonobject_const(json::value_t::number_float);          
                                                                                                               CHECK(j_nonobject.contains("foo") == false);                        
                    CHECK(j_nonobject.count("foo") == 0);                                                      CHECK(j_nonobject_const.contains("foo") == false);                  
                    CHECK(j_nonobject_const.count("foo") == 0);                                                                                                                    
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK(j.count(std::string_view("foo")) == 0);                                              CHECK(j_nonobject.contains(std::string_view("foo")) == false);      
                    CHECK(j_const.count(std::string_view("foo")) == 0);                                        CHECK(j_nonobject_const.contains(std::string_view("foo")) == false);
#endif                                                                                     #endif                                                                                  
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-testsuites.cpp:1254                                                 │ json/tests/src/unit-testsuites.cpp:1305                                                  
                                                                                                                                                                                   
            for (const auto* filename :                                                                for (const auto* filename :                                                 
                    {                                                                                          {                                                                   
                        TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_                           //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_
                        TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_                           //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe
                        TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_                           //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe
                        TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_                           //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe
                        TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_number_                           //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_numbe
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_objec                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_object_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_strin                           TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_string_
                        TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_structu                           //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_struc
                        TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_structu                           //TEST_DATA_DIRECTORY "/nst_json_testsuite2/test_parsing/i_struc
                    }                                                                                          }                                                                   
                )                                                                                          )                                                                       
            {                                                                                          {                                                                           
                CAPTURE(filename)                                                                          CAPTURE(filename)                                                       
                std::ifstream f(filename);                                                                 std::ifstream f(filename);                                              
                json _;                                                                                    json _;                                                                 
                CHECK_NOTHROW(_ = json::parse(f));                                                         CHECK_THROWS_AS(_ = json::parse(f), json::exception&); // could be parse
                std::ifstream f2(filename);                                                                std::ifstream f2(filename);                                             
                CHECK(json::accept(f2));                                                                   CHECK(!json::accept(f2));                                               
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode4.cpp:49                                                     │ json/tests/src/unit-unicode5.cpp:49                                                      
                                                                                                                                                                                   
extern size_t calls;                                                                       extern size_t calls;                                                                    
size_t calls = 0;                                                                          size_t calls = 0;                                                                       
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4);    void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4); 
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in   void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in
{                                                                                          {                                                                                       
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string.clear();                                                                       json_string.clear();                                                                
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                      
    CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                      
    CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                      
                                                                                                                                                                                   
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    // store the string in a JSON value                                                        // store the string in a JSON value                                                 
    static json j;                                                                             static json j;                                                                      
    static json j2;                                                                            static json j2;                                                                     
    j = json_string;                                                                           j = json_string;                                                                    
    j2 = "abc" + json_string + "xyz";                                                          j2 = "abc" + json_string + "xyz";                                                   
                                                                                                                                                                                   
    static std::string s_ignored;                                                              static std::string s_ignored;                                                       
    static std::string s_ignored2;                                                             static std::string s_ignored2;                                                      
    static std::string s_ignored_ascii;                                                        static std::string s_ignored_ascii;                                                 
    static std::string s_ignored2_ascii;                                                       static std::string s_ignored2_ascii;                                                
    static std::string s_replaced;                                                             static std::string s_replaced;                                                      
    static std::string s_replaced2;                                                            static std::string s_replaced2;                                                     
    static std::string s_replaced_ascii;                                                       static std::string s_replaced_ascii;                                                
    static std::string s_replaced2_ascii;                                                      static std::string s_replaced2_ascii;                                               
                                                                                                                                                                                   
    // dumping with ignore/replace must not throw in any case                                  // dumping with ignore/replace must not throw in any case                           
    s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                         s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                  
    s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                       s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                
    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);                    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);             
    s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);                  s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);           
    s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                       s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                
    s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);                     s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);              
    s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);                  s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);           
    s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);                s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);         
                                                                                                                                                                                   
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        static std::string s_strict;                                                               static std::string s_strict;                                                    
        // strict mode must not throw if success is expected                                       // strict mode must not throw if success is expected                            
        s_strict = j.dump();                                                                       s_strict = j.dump();                                                            
        // all dumps should agree on the string                                                    // all dumps should agree on the string                                         
        CHECK(s_strict == s_ignored);                                                              CHECK(s_strict == s_ignored);                                                   
        CHECK(s_strict == s_replaced);                                                             CHECK(s_strict == s_replaced);                                                  
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        // strict mode must throw if success is not expected                                       // strict mode must throw if success is not expected                            
        CHECK_THROWS_AS(j.dump(), json::type_error&);                                              CHECK_THROWS_AS(j.dump(), json::type_error&);                                   
        // ignore and replace must create different dumps                                          // ignore and replace must create different dumps                               
        CHECK(s_ignored != s_replaced);                                                            CHECK(s_ignored != s_replaced);                                                 
                                                                                                                                                                                   
        // check that replace string contains a replacement character                              // check that replace string contains a replacement character                   
        CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                               CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                    
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    // check that prefix and suffix are preserved                                              // check that prefix and suffix are preserved                                       
    CHECK(s_ignored2.substr(1, 3) == "abc");                                                   CHECK(s_ignored2.substr(1, 3) == "abc");                                            
    CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                               CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                        
    CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                             CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                      
    CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");                   CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");            
    CHECK(s_replaced2.substr(1, 3) == "abc");                                                  CHECK(s_replaced2.substr(1, 3) == "abc");                                           
    CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                             CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                      
    CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                            CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                     
    CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");                 CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");          
}                                                                                          }                                                                                       
                                                                                                                                                                                   
void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)   void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)
                                                                                                                                                                                   
// create and check a JSON string with up to four UTF-8 bytes                              // create and check a JSON string with up to four UTF-8 bytes                           
void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1,    void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, 
{                                                                                          {                                                                                       
    if (++calls % 100000 == 0)                                                                 if (++calls % 100000 == 0)                                                          
    {                                                                                          {                                                                                   
        std::cout << calls << " of 1246225 UTF-8 strings checked" << std::endl;                    std::cout << calls << " of 1246225 UTF-8 strings checked" << std::endl;         
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string = "\"";                                                                        json_string = "\"";                                                                 
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                  
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                  
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                  
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    json_string += "\"";                                                                       json_string += "\"";                                                                
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    json _;                                                                                    json _;                                                                             
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        CHECK_NOTHROW(_ = json::parse(json_string));                                               CHECK_NOTHROW(_ = json::parse(json_string));                                    
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);                         CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);              
    }                                                                                          }                                                                                   
}                                                                                          }                                                                                       
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode3.cpp:49                                                     │ json/tests/src/unit-unicode5.cpp:49                                                      
                                                                                                                                                                                   
extern size_t calls;                                                                       extern size_t calls;                                                                    
size_t calls = 0;                                                                          size_t calls = 0;                                                                       
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4);    void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4); 
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in   void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in
{                                                                                          {                                                                                       
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string.clear();                                                                       json_string.clear();                                                                
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                      
    CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                      
    CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                      
                                                                                                                                                                                   
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    // store the string in a JSON value                                                        // store the string in a JSON value                                                 
    static json j;                                                                             static json j;                                                                      
    static json j2;                                                                            static json j2;                                                                     
    j = json_string;                                                                           j = json_string;                                                                    
    j2 = "abc" + json_string + "xyz";                                                          j2 = "abc" + json_string + "xyz";                                                   
                                                                                                                                                                                   
    static std::string s_ignored;                                                              static std::string s_ignored;                                                       
    static std::string s_ignored2;                                                             static std::string s_ignored2;                                                      
    static std::string s_ignored_ascii;                                                        static std::string s_ignored_ascii;                                                 
    static std::string s_ignored2_ascii;                                                       static std::string s_ignored2_ascii;                                                
    static std::string s_replaced;                                                             static std::string s_replaced;                                                      
    static std::string s_replaced2;                                                            static std::string s_replaced2;                                                     
    static std::string s_replaced_ascii;                                                       static std::string s_replaced_ascii;                                                
    static std::string s_replaced2_ascii;                                                      static std::string s_replaced2_ascii;                                               
                                                                                                                                                                                   
    // dumping with ignore/replace must not throw in any case                                  // dumping with ignore/replace must not throw in any case                           
    s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                         s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                  
    s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                       s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                
    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);                    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);             
    s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);                  s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);           
    s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                       s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                
    s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);                     s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);              
    s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);                  s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);           
    s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);                s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);         
                                                                                                                                                                                   
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        static std::string s_strict;                                                               static std::string s_strict;                                                    
        // strict mode must not throw if success is expected                                       // strict mode must not throw if success is expected                            
        s_strict = j.dump();                                                                       s_strict = j.dump();                                                            
        // all dumps should agree on the string                                                    // all dumps should agree on the string                                         
        CHECK(s_strict == s_ignored);                                                              CHECK(s_strict == s_ignored);                                                   
        CHECK(s_strict == s_replaced);                                                             CHECK(s_strict == s_replaced);                                                  
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        // strict mode must throw if success is not expected                                       // strict mode must throw if success is not expected                            
        CHECK_THROWS_AS(j.dump(), json::type_error&);                                              CHECK_THROWS_AS(j.dump(), json::type_error&);                                   
        // ignore and replace must create different dumps                                          // ignore and replace must create different dumps                               
        CHECK(s_ignored != s_replaced);                                                            CHECK(s_ignored != s_replaced);                                                 
                                                                                                                                                                                   
        // check that replace string contains a replacement character                              // check that replace string contains a replacement character                   
        CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                               CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                    
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    // check that prefix and suffix are preserved                                              // check that prefix and suffix are preserved                                       
    CHECK(s_ignored2.substr(1, 3) == "abc");                                                   CHECK(s_ignored2.substr(1, 3) == "abc");                                            
    CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                               CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                        
    CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                             CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                      
    CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");                   CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");            
    CHECK(s_replaced2.substr(1, 3) == "abc");                                                  CHECK(s_replaced2.substr(1, 3) == "abc");                                           
    CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                             CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                      
    CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                            CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                     
    CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");                 CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");          
}                                                                                          }                                                                                       
                                                                                                                                                                                   
void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)   void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)
                                                                                                                                                                                   
// create and check a JSON string with up to four UTF-8 bytes                              // create and check a JSON string with up to four UTF-8 bytes                           
void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1,    void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, 
{                                                                                          {                                                                                       
    if (++calls % 100000 == 0)                                                                 if (++calls % 100000 == 0)                                                          
    {                                                                                          {                                                                                   
        std::cout << calls << " of 1246225 UTF-8 strings checked" << std::endl;                    std::cout << calls << " of 1246225 UTF-8 strings checked" << std::endl;         
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string = "\"";                                                                        json_string = "\"";                                                                 
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                  
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                  
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                  
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    json_string += "\"";                                                                       json_string += "\"";                                                                
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    json _;                                                                                    json _;                                                                             
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        CHECK_NOTHROW(_ = json::parse(json_string));                                               CHECK_NOTHROW(_ = json::parse(json_string));                                    
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);                         CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);              
    }                                                                                          }                                                                                   
}                                                                                          }                                                                                       
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode3.cpp:49                                                     │ json/tests/src/unit-unicode4.cpp:49                                                      
                                                                                                                                                                                   
extern size_t calls;                                                                       extern size_t calls;                                                                    
size_t calls = 0;                                                                          size_t calls = 0;                                                                       
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4);    void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4); 
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in   void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in
{                                                                                          {                                                                                       
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string.clear();                                                                       json_string.clear();                                                                
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                      
    CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                      
    CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                      
                                                                                                                                                                                   
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    // store the string in a JSON value                                                        // store the string in a JSON value                                                 
    static json j;                                                                             static json j;                                                                      
    static json j2;                                                                            static json j2;                                                                     
    j = json_string;                                                                           j = json_string;                                                                    
    j2 = "abc" + json_string + "xyz";                                                          j2 = "abc" + json_string + "xyz";                                                   
                                                                                                                                                                                   
    static std::string s_ignored;                                                              static std::string s_ignored;                                                       
    static std::string s_ignored2;                                                             static std::string s_ignored2;                                                      
    static std::string s_ignored_ascii;                                                        static std::string s_ignored_ascii;                                                 
    static std::string s_ignored2_ascii;                                                       static std::string s_ignored2_ascii;                                                
    static std::string s_replaced;                                                             static std::string s_replaced;                                                      
    static std::string s_replaced2;                                                            static std::string s_replaced2;                                                     
    static std::string s_replaced_ascii;                                                       static std::string s_replaced_ascii;                                                
    static std::string s_replaced2_ascii;                                                      static std::string s_replaced2_ascii;                                               
                                                                                                                                                                                   
    // dumping with ignore/replace must not throw in any case                                  // dumping with ignore/replace must not throw in any case                           
    s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                         s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                  
    s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                       s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                
    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);                    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);             
    s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);                  s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);           
    s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                       s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                
    s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);                     s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);              
    s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);                  s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);           
    s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);                s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);         
                                                                                                                                                                                   
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        static std::string s_strict;                                                               static std::string s_strict;                                                    
        // strict mode must not throw if success is expected                                       // strict mode must not throw if success is expected                            
        s_strict = j.dump();                                                                       s_strict = j.dump();                                                            
        // all dumps should agree on the string                                                    // all dumps should agree on the string                                         
        CHECK(s_strict == s_ignored);                                                              CHECK(s_strict == s_ignored);                                                   
        CHECK(s_strict == s_replaced);                                                             CHECK(s_strict == s_replaced);                                                  
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        // strict mode must throw if success is not expected                                       // strict mode must throw if success is not expected                            
        CHECK_THROWS_AS(j.dump(), json::type_error&);                                              CHECK_THROWS_AS(j.dump(), json::type_error&);                                   
        // ignore and replace must create different dumps                                          // ignore and replace must create different dumps                               
        CHECK(s_ignored != s_replaced);                                                            CHECK(s_ignored != s_replaced);                                                 
                                                                                                                                                                                   
        // check that replace string contains a replacement character                              // check that replace string contains a replacement character                   
        CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                               CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                    
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    // check that prefix and suffix are preserved                                              // check that prefix and suffix are preserved                                       
    CHECK(s_ignored2.substr(1, 3) == "abc");                                                   CHECK(s_ignored2.substr(1, 3) == "abc");                                            
    CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                               CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                        
    CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                             CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                      
    CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");                   CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");            
    CHECK(s_replaced2.substr(1, 3) == "abc");                                                  CHECK(s_replaced2.substr(1, 3) == "abc");                                           
    CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                             CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                      
    CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                            CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                     
    CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");                 CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");          
}                                                                                          }                                                                                       
                                                                                                                                                                                   
void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)   void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)
                                                                                                                                                                                   
// create and check a JSON string with up to four UTF-8 bytes                              // create and check a JSON string with up to four UTF-8 bytes                           
void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1,    void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, 
{                                                                                          {                                                                                       
    if (++calls % 100000 == 0)                                                                 if (++calls % 100000 == 0)                                                          
    {                                                                                          {                                                                                   
        std::cout << calls << " of 5517507 UTF-8 strings checked" << std::endl;                    std::cout << calls << " of 5517507 UTF-8 strings checked" << std::endl;         
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string = "\"";                                                                        json_string = "\"";                                                                 
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                  
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                  
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                  
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    json_string += "\"";                                                                       json_string += "\"";                                                                
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    json _;                                                                                    json _;                                                                             
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        CHECK_NOTHROW(_ = json::parse(json_string));                                               CHECK_NOTHROW(_ = json::parse(json_string));                                    
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);                         CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);              
    }                                                                                          }                                                                                   
}                                                                                          }                                                                                       
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode2.cpp:49                                                     │ json/tests/src/unit-unicode5.cpp:49                                                      
                                                                                                                                                                                   
extern size_t calls;                                                                       extern size_t calls;                                                                    
size_t calls = 0;                                                                          size_t calls = 0;                                                                       
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4);    void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4); 
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in   void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in
{                                                                                          {                                                                                       
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string.clear();                                                                       json_string.clear();                                                                
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                      
    CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                      
    CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                      
                                                                                                                                                                                   
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    // store the string in a JSON value                                                        // store the string in a JSON value                                                 
    static json j;                                                                             static json j;                                                                      
    static json j2;                                                                            static json j2;                                                                     
    j = json_string;                                                                           j = json_string;                                                                    
    j2 = "abc" + json_string + "xyz";                                                          j2 = "abc" + json_string + "xyz";                                                   
                                                                                                                                                                                   
    static std::string s_ignored;                                                              static std::string s_ignored;                                                       
    static std::string s_ignored2;                                                             static std::string s_ignored2;                                                      
    static std::string s_ignored_ascii;                                                        static std::string s_ignored_ascii;                                                 
    static std::string s_ignored2_ascii;                                                       static std::string s_ignored2_ascii;                                                
    static std::string s_replaced;                                                             static std::string s_replaced;                                                      
    static std::string s_replaced2;                                                            static std::string s_replaced2;                                                     
    static std::string s_replaced_ascii;                                                       static std::string s_replaced_ascii;                                                
    static std::string s_replaced2_ascii;                                                      static std::string s_replaced2_ascii;                                               
                                                                                                                                                                                   
    // dumping with ignore/replace must not throw in any case                                  // dumping with ignore/replace must not throw in any case                           
    s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                         s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                  
    s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                       s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                
    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);                    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);             
    s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);                  s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);           
    s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                       s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                
    s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);                     s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);              
    s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);                  s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);           
    s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);                s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);         
                                                                                                                                                                                   
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        static std::string s_strict;                                                               static std::string s_strict;                                                    
        // strict mode must not throw if success is expected                                       // strict mode must not throw if success is expected                            
        s_strict = j.dump();                                                                       s_strict = j.dump();                                                            
        // all dumps should agree on the string                                                    // all dumps should agree on the string                                         
        CHECK(s_strict == s_ignored);                                                              CHECK(s_strict == s_ignored);                                                   
        CHECK(s_strict == s_replaced);                                                             CHECK(s_strict == s_replaced);                                                  
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        // strict mode must throw if success is not expected                                       // strict mode must throw if success is not expected                            
        CHECK_THROWS_AS(j.dump(), json::type_error&);                                              CHECK_THROWS_AS(j.dump(), json::type_error&);                                   
        // ignore and replace must create different dumps                                          // ignore and replace must create different dumps                               
        CHECK(s_ignored != s_replaced);                                                            CHECK(s_ignored != s_replaced);                                                 
                                                                                                                                                                                   
        // check that replace string contains a replacement character                              // check that replace string contains a replacement character                   
        CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                               CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                    
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    // check that prefix and suffix are preserved                                              // check that prefix and suffix are preserved                                       
    CHECK(s_ignored2.substr(1, 3) == "abc");                                                   CHECK(s_ignored2.substr(1, 3) == "abc");                                            
    CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                               CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                        
    CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                             CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                      
    CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");                   CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");            
    CHECK(s_replaced2.substr(1, 3) == "abc");                                                  CHECK(s_replaced2.substr(1, 3) == "abc");                                           
    CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                             CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                      
    CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                            CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                     
    CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");                 CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");          
}                                                                                          }                                                                                       
                                                                                                                                                                                   
void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)   void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)
                                                                                                                                                                                   
// create and check a JSON string with up to four UTF-8 bytes                              // create and check a JSON string with up to four UTF-8 bytes                           
void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1,    void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, 
{                                                                                          {                                                                                       
    if (++calls % 100000 == 0)                                                                 if (++calls % 100000 == 0)                                                          
    {                                                                                          {                                                                                   
        std::cout << calls << " of 1246225 UTF-8 strings checked" << std::endl;                    std::cout << calls << " of 1246225 UTF-8 strings checked" << std::endl;         
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string = "\"";                                                                        json_string = "\"";                                                                 
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                  
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                  
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                  
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    json_string += "\"";                                                                       json_string += "\"";                                                                
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    json _;                                                                                    json _;                                                                             
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        CHECK_NOTHROW(_ = json::parse(json_string));                                               CHECK_NOTHROW(_ = json::parse(json_string));                                    
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);                         CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);              
    }                                                                                          }                                                                                   
}                                                                                          }                                                                                       
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode2.cpp:49                                                     │ json/tests/src/unit-unicode4.cpp:49                                                      
                                                                                                                                                                                   
extern size_t calls;                                                                       extern size_t calls;                                                                    
size_t calls = 0;                                                                          size_t calls = 0;                                                                       
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4);    void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4); 
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in   void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in
{                                                                                          {                                                                                       
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string.clear();                                                                       json_string.clear();                                                                
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                      
    CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                      
    CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                      
                                                                                                                                                                                   
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    // store the string in a JSON value                                                        // store the string in a JSON value                                                 
    static json j;                                                                             static json j;                                                                      
    static json j2;                                                                            static json j2;                                                                     
    j = json_string;                                                                           j = json_string;                                                                    
    j2 = "abc" + json_string + "xyz";                                                          j2 = "abc" + json_string + "xyz";                                                   
                                                                                                                                                                                   
    static std::string s_ignored;                                                              static std::string s_ignored;                                                       
    static std::string s_ignored2;                                                             static std::string s_ignored2;                                                      
    static std::string s_ignored_ascii;                                                        static std::string s_ignored_ascii;                                                 
    static std::string s_ignored2_ascii;                                                       static std::string s_ignored2_ascii;                                                
    static std::string s_replaced;                                                             static std::string s_replaced;                                                      
    static std::string s_replaced2;                                                            static std::string s_replaced2;                                                     
    static std::string s_replaced_ascii;                                                       static std::string s_replaced_ascii;                                                
    static std::string s_replaced2_ascii;                                                      static std::string s_replaced2_ascii;                                               
                                                                                                                                                                                   
    // dumping with ignore/replace must not throw in any case                                  // dumping with ignore/replace must not throw in any case                           
    s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                         s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                  
    s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                       s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                
    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);                    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);             
    s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);                  s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);           
    s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                       s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                
    s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);                     s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);              
    s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);                  s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);           
    s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);                s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);         
                                                                                                                                                                                   
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        static std::string s_strict;                                                               static std::string s_strict;                                                    
        // strict mode must not throw if success is expected                                       // strict mode must not throw if success is expected                            
        s_strict = j.dump();                                                                       s_strict = j.dump();                                                            
        // all dumps should agree on the string                                                    // all dumps should agree on the string                                         
        CHECK(s_strict == s_ignored);                                                              CHECK(s_strict == s_ignored);                                                   
        CHECK(s_strict == s_replaced);                                                             CHECK(s_strict == s_replaced);                                                  
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        // strict mode must throw if success is not expected                                       // strict mode must throw if success is not expected                            
        CHECK_THROWS_AS(j.dump(), json::type_error&);                                              CHECK_THROWS_AS(j.dump(), json::type_error&);                                   
        // ignore and replace must create different dumps                                          // ignore and replace must create different dumps                               
        CHECK(s_ignored != s_replaced);                                                            CHECK(s_ignored != s_replaced);                                                 
                                                                                                                                                                                   
        // check that replace string contains a replacement character                              // check that replace string contains a replacement character                   
        CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                               CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                    
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    // check that prefix and suffix are preserved                                              // check that prefix and suffix are preserved                                       
    CHECK(s_ignored2.substr(1, 3) == "abc");                                                   CHECK(s_ignored2.substr(1, 3) == "abc");                                            
    CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                               CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                        
    CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                             CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                      
    CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");                   CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");            
    CHECK(s_replaced2.substr(1, 3) == "abc");                                                  CHECK(s_replaced2.substr(1, 3) == "abc");                                           
    CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                             CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                      
    CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                            CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                     
    CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");                 CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");          
}                                                                                          }                                                                                       
                                                                                                                                                                                   
void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)   void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)
                                                                                                                                                                                   
// create and check a JSON string with up to four UTF-8 bytes                              // create and check a JSON string with up to four UTF-8 bytes                           
void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1,    void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, 
{                                                                                          {                                                                                       
    if (++calls % 100000 == 0)                                                                 if (++calls % 100000 == 0)                                                          
    {                                                                                          {                                                                                   
        std::cout << calls << " of 5517507 UTF-8 strings checked" << std::endl;                    std::cout << calls << " of 5517507 UTF-8 strings checked" << std::endl;         
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string = "\"";                                                                        json_string = "\"";                                                                 
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                  
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                  
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                  
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    json_string += "\"";                                                                       json_string += "\"";                                                                
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    json _;                                                                                    json _;                                                                             
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        CHECK_NOTHROW(_ = json::parse(json_string));                                               CHECK_NOTHROW(_ = json::parse(json_string));                                    
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);                         CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);              
    }                                                                                          }                                                                                   
}                                                                                          }                                                                                       
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode2.cpp:49                                                     │ json/tests/src/unit-unicode3.cpp:49                                                      
                                                                                                                                                                                   
extern size_t calls;                                                                       extern size_t calls;                                                                    
size_t calls = 0;                                                                          size_t calls = 0;                                                                       
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4);    void check_utf8dump(bool success_expected, int byte1, int byte2, int byte3, int byte4); 
                                                                                                                                                                                   
void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in   void check_utf8dump(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, in
{                                                                                          {                                                                                       
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string.clear();                                                                       json_string.clear();                                                                
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                      
    CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                      
    CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                      
                                                                                                                                                                                   
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    // store the string in a JSON value                                                        // store the string in a JSON value                                                 
    static json j;                                                                             static json j;                                                                      
    static json j2;                                                                            static json j2;                                                                     
    j = json_string;                                                                           j = json_string;                                                                    
    j2 = "abc" + json_string + "xyz";                                                          j2 = "abc" + json_string + "xyz";                                                   
                                                                                                                                                                                   
    static std::string s_ignored;                                                              static std::string s_ignored;                                                       
    static std::string s_ignored2;                                                             static std::string s_ignored2;                                                      
    static std::string s_ignored_ascii;                                                        static std::string s_ignored_ascii;                                                 
    static std::string s_ignored2_ascii;                                                       static std::string s_ignored2_ascii;                                                
    static std::string s_replaced;                                                             static std::string s_replaced;                                                      
    static std::string s_replaced2;                                                            static std::string s_replaced2;                                                     
    static std::string s_replaced_ascii;                                                       static std::string s_replaced_ascii;                                                
    static std::string s_replaced2_ascii;                                                      static std::string s_replaced2_ascii;                                               
                                                                                                                                                                                   
    // dumping with ignore/replace must not throw in any case                                  // dumping with ignore/replace must not throw in any case                           
    s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                         s_ignored = j.dump(-1, ' ', false, json::error_handler_t::ignore);                  
    s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                       s_ignored2 = j2.dump(-1, ' ', false, json::error_handler_t::ignore);                
    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);                    s_ignored_ascii = j.dump(-1, ' ', true, json::error_handler_t::ignore);             
    s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);                  s_ignored2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::ignore);           
    s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                       s_replaced = j.dump(-1, ' ', false, json::error_handler_t::replace);                
    s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);                     s_replaced2 = j2.dump(-1, ' ', false, json::error_handler_t::replace);              
    s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);                  s_replaced_ascii = j.dump(-1, ' ', true, json::error_handler_t::replace);           
    s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);                s_replaced2_ascii = j2.dump(-1, ' ', true, json::error_handler_t::replace);         
                                                                                                                                                                                   
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        static std::string s_strict;                                                               static std::string s_strict;                                                    
        // strict mode must not throw if success is expected                                       // strict mode must not throw if success is expected                            
        s_strict = j.dump();                                                                       s_strict = j.dump();                                                            
        // all dumps should agree on the string                                                    // all dumps should agree on the string                                         
        CHECK(s_strict == s_ignored);                                                              CHECK(s_strict == s_ignored);                                                   
        CHECK(s_strict == s_replaced);                                                             CHECK(s_strict == s_replaced);                                                  
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        // strict mode must throw if success is not expected                                       // strict mode must throw if success is not expected                            
        CHECK_THROWS_AS(j.dump(), json::type_error&);                                              CHECK_THROWS_AS(j.dump(), json::type_error&);                                   
        // ignore and replace must create different dumps                                          // ignore and replace must create different dumps                               
        CHECK(s_ignored != s_replaced);                                                            CHECK(s_ignored != s_replaced);                                                 
                                                                                                                                                                                   
        // check that replace string contains a replacement character                              // check that replace string contains a replacement character                   
        CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                               CHECK(s_replaced.find("\xEF\xBF\xBD") != std::string::npos);                    
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    // check that prefix and suffix are preserved                                              // check that prefix and suffix are preserved                                       
    CHECK(s_ignored2.substr(1, 3) == "abc");                                                   CHECK(s_ignored2.substr(1, 3) == "abc");                                            
    CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                               CHECK(s_ignored2.substr(s_ignored2.size() - 4, 3) == "xyz");                        
    CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                             CHECK(s_ignored2_ascii.substr(1, 3) == "abc");                                      
    CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");                   CHECK(s_ignored2_ascii.substr(s_ignored2_ascii.size() - 4, 3) == "xyz");            
    CHECK(s_replaced2.substr(1, 3) == "abc");                                                  CHECK(s_replaced2.substr(1, 3) == "abc");                                           
    CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                             CHECK(s_replaced2.substr(s_replaced2.size() - 4, 3) == "xyz");                      
    CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                            CHECK(s_replaced2_ascii.substr(1, 3) == "abc");                                     
    CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");                 CHECK(s_replaced2_ascii.substr(s_replaced2_ascii.size() - 4, 3) == "xyz");          
}                                                                                          }                                                                                       
                                                                                                                                                                                   
void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)   void check_utf8string(bool success_expected, int byte1, int byte2, int byte3, int byte4)
                                                                                                                                                                                   
// create and check a JSON string with up to four UTF-8 bytes                              // create and check a JSON string with up to four UTF-8 bytes                           
void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1,    void check_utf8string(bool success_expected, int byte1, int byte2 = -1, int byte3 = -1, 
{                                                                                          {                                                                                       
    if (++calls % 100000 == 0)                                                                 if (++calls % 100000 == 0)                                                          
    {                                                                                          {                                                                                   
        std::cout << calls << " of 1641521 UTF-8 strings checked" << std::endl;                    std::cout << calls << " of 1641521 UTF-8 strings checked" << std::endl;         
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    static std::string json_string;                                                            static std::string json_string;                                                     
    json_string = "\"";                                                                        json_string = "\"";                                                                 
                                                                                                                                                                                   
    CAPTURE(byte1)                                                                             CAPTURE(byte1)                                                                      
    json_string += std::string(1, static_cast<char>(byte1));                                   json_string += std::string(1, static_cast<char>(byte1));                            
                                                                                                                                                                                   
    if (byte2 != -1)                                                                           if (byte2 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte2)                                                                             CAPTURE(byte2)                                                                  
        json_string += std::string(1, static_cast<char>(byte2));                                   json_string += std::string(1, static_cast<char>(byte2));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte3 != -1)                                                                           if (byte3 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte3)                                                                             CAPTURE(byte3)                                                                  
        json_string += std::string(1, static_cast<char>(byte3));                                   json_string += std::string(1, static_cast<char>(byte3));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    if (byte4 != -1)                                                                           if (byte4 != -1)                                                                    
    {                                                                                          {                                                                                   
        CAPTURE(byte4)                                                                             CAPTURE(byte4)                                                                  
        json_string += std::string(1, static_cast<char>(byte4));                                   json_string += std::string(1, static_cast<char>(byte4));                        
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    json_string += "\"";                                                                       json_string += "\"";                                                                
                                                                                                                                                                                   
    CAPTURE(json_string)                                                                       CAPTURE(json_string)                                                                
                                                                                                                                                                                   
    json _;                                                                                    json _;                                                                             
    if (success_expected)                                                                      if (success_expected)                                                               
    {                                                                                          {                                                                                   
        CHECK_NOTHROW(_ = json::parse(json_string));                                               CHECK_NOTHROW(_ = json::parse(json_string));                                    
    }                                                                                          }                                                                                   
    else                                                                                       else                                                                                
    {                                                                                          {                                                                                   
        CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);                         CHECK_THROWS_AS(_ = json::parse(json_string), json::parse_error&);              
    }                                                                                          }                                                                                   
}                                                                                          }                                                                                       
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-modifiers.cpp:404                                                   │ json/tests/src/unit-modifiers.cpp:176                                                    
                                                                                                                                                                                   
        SECTION("to array")                                                                        SECTION("to array")                                                             
        {                                                                                          {                                                                               
            SECTION("json&&")                                                                          SECTION("json&&")                                                           
            {                                                                                          {                                                                           
                SECTION("null")                                                                            SECTION("null")                                                         
                {                                                                                          {                                                                       
                    json j;                                                                                    json j;                                                             
                    j += 1;                                                                                    j.push_back(1);                                                     
                    j += 2;                                                                                    j.push_back(2);                                                     
                    CHECK(j.type() == json::value_t::array);                                                   CHECK(j.type() == json::value_t::array);                            
                    CHECK(j == json({1, 2}));                                                                  CHECK(j == json({1, 2}));                                           
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("array")                                                                           SECTION("array")                                                        
                {                                                                                          {                                                                       
                    json j = {1, 2, 3};                                                                        json j = {1, 2, 3};                                                 
                    j += "Hello";                                                                              j.push_back("Hello");                                               
                    CHECK(j.type() == json::value_t::array);                                                   CHECK(j.type() == json::value_t::array);                            
                    CHECK(j == json({1, 2, 3, "Hello"}));                                                      CHECK(j == json({1, 2, 3, "Hello"}));                               
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("other type")                                                                      SECTION("other type")                                                   
                {                                                                                          {                                                                       
                    json j = 1;                                                                                json j = 1;                                                         
                    CHECK_THROWS_WITH_AS(j += "Hello", "[json.exception.type_error.308]                        CHECK_THROWS_WITH_AS(j.push_back("Hello"), "[json.exception.type_err
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("const json&")                                                                     SECTION("const json&")                                                      
            {                                                                                          {                                                                           
                SECTION("null")                                                                            SECTION("null")                                                         
                {                                                                                          {                                                                       
                    json j;                                                                                    json j;                                                             
                    json k(1);                                                                                 json k(1);                                                          
                    j += k;                                                                                    j.push_back(k);                                                     
                    j += k;                                                                                    j.push_back(k);                                                     
                    CHECK(j.type() == json::value_t::array);                                                   CHECK(j.type() == json::value_t::array);                            
                    CHECK(j == json({1, 1}));                                                                  CHECK(j == json({1, 1}));                                           
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("array")                                                                           SECTION("array")                                                        
                {                                                                                          {                                                                       
                    json j = {1, 2, 3};                                                                        json j = {1, 2, 3};                                                 
                    json k("Hello");                                                                           json k("Hello");                                                    
                    j += k;                                                                                    j.push_back(k);                                                     
                    CHECK(j.type() == json::value_t::array);                                                   CHECK(j.type() == json::value_t::array);                            
                    CHECK(j == json({1, 2, 3, "Hello"}));                                                      CHECK(j == json({1, 2, 3, "Hello"}));                               
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("other type")                                                                      SECTION("other type")                                                   
                {                                                                                          {                                                                       
                    json j = 1;                                                                                json j = 1;                                                         
                    json k("Hello");                                                                           json k("Hello");                                                    
                    CHECK_THROWS_WITH_AS(j += k, "[json.exception.type_error.308] cannot                       CHECK_THROWS_WITH_AS(j.push_back(k), "[json.exception.type_error.308
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("to object")                                                                       SECTION("to object")                                                            
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j;                                                                                    json j;                                                                 
                j += json::object_t::value_type({"one", 1});                                               j.push_back(json::object_t::value_type({"one", 1}));                    
                j += json::object_t::value_type({"two", 2});                                               j.push_back(json::object_t::value_type({"two", 2}));                    
                CHECK(j.type() == json::value_t::object);                                                  CHECK(j.type() == json::value_t::object);                               
                CHECK(j.size() == 2);                                                                      CHECK(j.size() == 2);                                                   
                CHECK(j["one"] == json(1));                                                                CHECK(j["one"] == json(1));                                             
                CHECK(j["two"] == json(2));                                                                CHECK(j["two"] == json(2));                                             
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j(json::value_t::object);                                                             json j(json::value_t::object);                                          
                j += json::object_t::value_type({"one", 1});                                               j.push_back(json::object_t::value_type({"one", 1}));                    
                j += json::object_t::value_type({"two", 2});                                               j.push_back(json::object_t::value_type({"two", 2}));                    
                CHECK(j.size() == 2);                                                                      CHECK(j.size() == 2);                                                   
                CHECK(j["one"] == json(1));                                                                CHECK(j["one"] == json(1));                                             
                CHECK(j["two"] == json(2));                                                                CHECK(j["two"] == json(2));                                             
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("other type")                                                                      SECTION("other type")                                                       
            {                                                                                          {                                                                           
                json j = 1;                                                                                json j = 1;                                                             
                json k("Hello");                                                                           json k("Hello");                                                        
                CHECK_THROWS_WITH_AS(j += json::object_t::value_type({"one", 1}), "[json                   CHECK_THROWS_WITH_AS(j.push_back(json::object_t::value_type({"one", 1}))
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("with initializer_list")                                                           SECTION("with initializer_list")                                                
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j;                                                                                    json j;                                                                 
                j += {"foo", "bar"};                                                                       j.push_back({"foo", "bar"});                                            
                CHECK(j == json::array({{"foo", "bar"}}));                                                 CHECK(j == json::array({{"foo", "bar"}}));                              
                                                                                                                                                                                   
                json k;                                                                                    json k;                                                                 
                k += {1, 2, 3};                                                                            k.push_back({1, 2, 3});                                                 
                CHECK(k == json::array({{1, 2, 3}}));                                                      CHECK(k == json::array({{1, 2, 3}}));                                   
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                json j = {1, 2, 3};                                                                        json j = {1, 2, 3};                                                     
                j += {"foo", "bar"};                                                                       j.push_back({"foo", "bar"});                                            
                CHECK(j == json({1, 2, 3, {"foo", "bar"}}));                                               CHECK(j == json({1, 2, 3, {"foo", "bar"}}));                            
                                                                                                                                                                                   
                json k = {1, 2, 3};                                                                        json k = {1, 2, 3};                                                     
                k += {1, 2, 3};                                                                            k.push_back({1, 2, 3});                                                 
                CHECK(k == json({1, 2, 3, {1, 2, 3}}));                                                    CHECK(k == json({1, 2, 3, {1, 2, 3}}));                                 
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j = {{"key1", 1}};                                                                    json j = {{"key1", 1}};                                                 
                j += {"key2", "bar"};                                                                      j.push_back({"key2", "bar"});                                           
                CHECK(j == json({{"key1", 1}, {"key2", "bar"}}));                                          CHECK(j == json({{"key1", 1}, {"key2", "bar"}}));                       
                                                                                                                                                                                   
                json k = {{"key1", 1}};                                                                    // invalid values (no string/val pair)                                  
                CHECK_THROWS_WITH_AS((k += {1, 2, 3, 4}), "[json.exception.type_error.30                   CHECK_THROWS_WITH_AS(j.push_back({1}), "[json.exception.type_error.308] 
                                                                                                           CHECK_THROWS_WITH_AS(j.push_back({1, 2}), "[json.exception.type_error.30
                                                                                                           CHECK_THROWS_WITH_AS(j.push_back({1, 2, 3, 4}), "[json.exception.type_er
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access1.cpp:543                                             │ json/tests/src/unit-element_access1.cpp:718                                              
                                                                                                                                                                                   
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    json j;                                                                                    json j;                                                             
                    CHECK_THROWS_WITH_AS(j.erase(j.begin()), "[json.exception.type_error                       CHECK_THROWS_WITH_AS(j.erase(j.begin(), j.end()), "[json.exception.t
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    json j;                                                                                    json j;                                                             
                    CHECK_THROWS_WITH_AS(j.erase(j.begin()),                                                   CHECK_THROWS_WITH_AS(j.erase(j.cbegin(), j.cend()), "[json.exception
                                         "[json.exception.type_error.307] cannot use era                                                                                           
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("string")                                                                          SECTION("string")                                                           
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    json j = "foo";                                                                            json j = "foo";                                                     
                    json::iterator it = j.erase(j.begin());                                                    json::iterator it = j.erase(j.begin(), j.end());                    
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    json j = "bar";                                                                            json j = "bar";                                                     
                    json::const_iterator it = j.erase(j.cbegin());                                             json::const_iterator it = j.erase(j.cbegin(), j.cend());            
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number (boolean)")                                                                SECTION("number (boolean)")                                                 
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    json j = false;                                                                            json j = false;                                                     
                    json::iterator it = j.erase(j.begin());                                                    json::iterator it = j.erase(j.begin(), j.end());                    
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    json j = true;                                                                             json j = true;                                                      
                    json::const_iterator it = j.erase(j.cbegin());                                             json::const_iterator it = j.erase(j.cbegin(), j.cend());            
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number (integer)")                                                                SECTION("number (integer)")                                                 
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    json j = 17;                                                                               json j = 17;                                                        
                    json::iterator it = j.erase(j.begin());                                                    json::iterator it = j.erase(j.begin(), j.end());                    
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    json j = 17;                                                                               json j = 17;                                                        
                    json::const_iterator it = j.erase(j.cbegin());                                             json::const_iterator it = j.erase(j.cbegin(), j.cend());            
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number (unsigned)")                                                               SECTION("number (unsigned)")                                                
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    json j = 17u;                                                                              json j = 17u;                                                       
                    json::iterator it = j.erase(j.begin());                                                    json::iterator it = j.erase(j.begin(), j.end());                    
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    json j = 17u;                                                                              json j = 17u;                                                       
                    json::const_iterator it = j.erase(j.cbegin());                                             json::const_iterator it = j.erase(j.cbegin(), j.cend());            
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number (floating point)")                                                         SECTION("number (floating point)")                                          
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    json j = 23.42;                                                                            json j = 23.42;                                                     
                    json::iterator it = j.erase(j.begin());                                                    json::iterator it = j.erase(j.begin(), j.end());                    
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    json j = 23.42;                                                                            json j = 23.42;                                                     
                    json::const_iterator it = j.erase(j.cbegin());                                             json::const_iterator it = j.erase(j.cbegin(), j.cend());            
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("binary")                                                                          SECTION("binary")                                                           
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    json j = json::binary({1, 2, 3});                                                          json j = json::binary({1, 2, 3});                                   
                    json::iterator it = j.erase(j.begin());                                                    json::iterator it = j.erase(j.begin(), j.end());                    
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
                {                                                                                          {                                                                       
                    json j = json::binary({1, 2, 3});                                                          json j = json::binary({1, 2, 3});                                   
                    json::const_iterator it = j.erase(j.cbegin());                                             json::const_iterator it = j.erase(j.cbegin(), j.cend());            
                    CHECK(j.type() == json::value_t::null);                                                    CHECK(j.type() == json::value_t::null);                             
                    CHECK(it == j.end());                                                                      CHECK(it == j.end());                                               
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-deserialization.cpp:360                                             │ json/tests/src/unit-deserialization.cpp:455                                              
                                                                                                                                                                                   
            SECTION("from std::vector")                                                                SECTION("from std::vector")                                                 
            {                                                                                          {                                                                           
                std::vector<uint8_t> v = {'t', 'r', 'u', 'e'};                                             std::vector<uint8_t> v = {'t', 'r', 'u', 'e'};                          
                CHECK(json::parse(v) == json(true));                                                       CHECK(json::parse(std::begin(v), std::end(v)) == json(true));           
                CHECK(json::accept(v));                                                                    CHECK(json::accept(std::begin(v), std::end(v)));                        
                                                                                                                                                                                   
                SaxEventLogger l;                                                                          SaxEventLogger l;                                                       
                CHECK(json::sax_parse(v, &l));                                                             CHECK(json::sax_parse(std::begin(v), std::end(v), &l));                 
                CHECK(l.events.size() == 1);                                                               CHECK(l.events.size() == 1);                                            
                CHECK(l.events == std::vector<std::string>({"boolean(true)"}));                            CHECK(l.events == std::vector<std::string>({"boolean(true)"}));         
                                                                                                                                                                                   
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("from std::array")                                                                 SECTION("from std::array")                                                  
            {                                                                                          {                                                                           
                std::array<uint8_t, 5> v { {'t', 'r', 'u', 'e'} };                                         std::array<uint8_t, 5> v { {'t', 'r', 'u', 'e'} };                      
                CHECK(json::parse(v) == json(true));                                                       CHECK(json::parse(std::begin(v), std::end(v)) == json(true));           
                CHECK(json::accept(v));                                                                    CHECK(json::accept(std::begin(v), std::end(v)));                        
                                                                                                                                                                                   
                SaxEventLogger l;                                                                          SaxEventLogger l;                                                       
                CHECK(json::sax_parse(v, &l));                                                             CHECK(json::sax_parse(std::begin(v), std::end(v), &l));                 
                CHECK(l.events.size() == 1);                                                               CHECK(l.events.size() == 1);                                            
                CHECK(l.events == std::vector<std::string>({"boolean(true)"}));                            CHECK(l.events == std::vector<std::string>({"boolean(true)"}));         
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("from array")                                                                      SECTION("from array")                                                       
            {                                                                                          {                                                                           
                uint8_t v[] = {'t', 'r', 'u', 'e'}; // NOLINT(cppcoreguidelines-avoid-c-                   uint8_t v[] = {'t', 'r', 'u', 'e'}; // NOLINT(cppcoreguidelines-avoid-c-
                CHECK(json::parse(v) == json(true));                                                       CHECK(json::parse(std::begin(v), std::end(v)) == json(true));           
                CHECK(json::accept(v));                                                                    CHECK(json::accept(std::begin(v), std::end(v)));                        
                                                                                                                                                                                   
                SaxEventLogger l;                                                                          SaxEventLogger l;                                                       
                CHECK(json::sax_parse(v, &l));                                                             CHECK(json::sax_parse(std::begin(v), std::end(v), &l));                 
                CHECK(l.events.size() == 1);                                                               CHECK(l.events.size() == 1);                                            
                CHECK(l.events == std::vector<std::string>({"boolean(true)"}));                            CHECK(l.events == std::vector<std::string>({"boolean(true)"}));         
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("from chars")                                                                      SECTION("from std::string")                                                 
            {                                                                                          {                                                                           
                auto* v = new uint8_t[5]; // NOLINT(cppcoreguidelines-owning-memory)                       std::string v = {'t', 'r', 'u', 'e'};                                   
                v[0] = 't';                                                                                CHECK(json::parse(std::begin(v), std::end(v)) == json(true));           
                v[1] = 'r';                                                                                CHECK(json::accept(std::begin(v), std::end(v)));                        
                v[2] = 'u';                                                                                                                                                        
                v[3] = 'e';                                                                                                                                                        
                v[4] = '\0';                                                                                                                                                       
                CHECK(json::parse(v) == json(true));                                                                                                                               
                CHECK(json::accept(v));                                                                                                                                            
                                                                                                                                                                                   
                SaxEventLogger l;                                                                          SaxEventLogger l;                                                       
                CHECK(json::sax_parse(v, &l));                                                             CHECK(json::sax_parse(std::begin(v), std::end(v), &l));                 
                CHECK(l.events.size() == 1);                                                               CHECK(l.events.size() == 1);                                            
                CHECK(l.events == std::vector<std::string>({"boolean(true)"}));                            CHECK(l.events == std::vector<std::string>({"boolean(true)"}));         
                                                                                                                                                                                   
                delete[] v; // NOLINT(cppcoreguidelines-owning-memory)                                                                                                             
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("from std::string")                                                                SECTION("from std::initializer_list")                                       
            {                                                                                          {                                                                           
                std::string v = {'t', 'r', 'u', 'e'};                                                      std::initializer_list<uint8_t> v = {'t', 'r', 'u', 'e'};                
                CHECK(json::parse(v) == json(true));                                                       CHECK(json::parse(std::begin(v), std::end(v)) == json(true));           
                CHECK(json::accept(v));                                                                    CHECK(json::accept(std::begin(v), std::end(v)));                        
                                                                                                                                                                                   
                SaxEventLogger l;                                                                          SaxEventLogger l;                                                       
                CHECK(json::sax_parse(v, &l));                                                             CHECK(json::sax_parse(std::begin(v), std::end(v), &l));                 
                CHECK(l.events.size() == 1);                                                               CHECK(l.events.size() == 1);                                            
                CHECK(l.events == std::vector<std::string>({"boolean(true)"}));                            CHECK(l.events == std::vector<std::string>({"boolean(true)"}));         
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("from std::initializer_list")                                                      SECTION("from std::valarray")                                               
            {                                                                                          {                                                                           
                std::initializer_list<uint8_t> v = {'t', 'r', 'u', 'e'};                                   std::valarray<uint8_t> v = {'t', 'r', 'u', 'e'};                        
                CHECK(json::parse(v) == json(true));                                                       CHECK(json::parse(std::begin(v), std::end(v)) == json(true));           
                CHECK(json::accept(v));                                                                    CHECK(json::accept(std::begin(v), std::end(v)));                        
                                                                                                                                                                                   
                SaxEventLogger l;                                                                          SaxEventLogger l;                                                       
                CHECK(json::sax_parse(v, &l));                                                             CHECK(json::sax_parse(std::begin(v), std::end(v), &l));                 
                CHECK(l.events.size() == 1);                                                               CHECK(l.events.size() == 1);                                            
                CHECK(l.events == std::vector<std::string>({"boolean(true)"}));                            CHECK(l.events == std::vector<std::string>({"boolean(true)"}));         
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("empty container")                                                                 SECTION("with empty range")                                                 
            {                                                                                          {                                                                           
                std::vector<uint8_t> v;                                                                    std::vector<uint8_t> v;                                                 
                json _;                                                                                    json _;                                                                 
                CHECK_THROWS_AS(_ = json::parse(v), json::parse_error&);                                   CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse
                CHECK(!json::accept(v));                                                                   CHECK(!json::accept(std::begin(v), std::end(v)));                       
                                                                                                                                                                                   
                SaxEventLogger l;                                                                          SaxEventLogger l;                                                       
                CHECK(!json::sax_parse(v, &l));                                                            CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));                
                CHECK(l.events.size() == 1);                                                               CHECK(l.events.size() == 1);                                            
                CHECK(l.events == std::vector<std::string>({"parse_error(1)"}));                           CHECK(l.events == std::vector<std::string>({"parse_error(1)"}));        
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode2.cpp:387                                                    │ json/tests/src/unit-unicode2.cpp:306                                                     
                                                                                                                                                                                   
            SECTION("well-formed")                                                                     SECTION("well-formed")                                                      
            {                                                                                          {                                                                           
                for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0xA0; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(true, byte1, byte2, byte3);                                               check_utf8string(true, byte1, byte2, byte3);                
                            check_utf8dump(true, byte1, byte2, byte3);                                                 check_utf8dump(true, byte1, byte2, byte3);                  
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing second byte")                                                 SECTION("ill-formed: missing second byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    check_utf8string(false, byte1);                                                            check_utf8string(false, byte1);                                     
                    check_utf8dump(false, byte1);                                                              check_utf8dump(false, byte1);                                       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing third byte")                                                  SECTION("ill-formed: missing third byte")                                   
            {                                                                                          {                                                                           
                for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0xA0; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        check_utf8string(false, byte1, byte2);                                                     check_utf8string(false, byte1, byte2);                          
                        check_utf8dump(false, byte1, byte2);                                                       check_utf8dump(false, byte1, byte2);                            
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong second byte")                                                   SECTION("ill-formed: wrong second byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                                             for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                      
                    {                                                                                          {                                                                   
                        // skip correct second byte                                                                // skip correct second byte                                     
                        if (0x80 <= byte2 && byte2 <= 0xBF)                                                        if (0xA0 <= byte2 && byte2 <= 0xBF)                             
                        {                                                                                          {                                                               
                            continue;                                                                                  continue;                                                   
                        }                                                                                          }                                                               
                                                                                                                                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong third byte")                                                    SECTION("ill-formed: wrong third byte")                                     
            {                                                                                          {                                                                           
                for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0xA0; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                                             for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                  
                        {                                                                                          {                                                               
                            // skip correct third byte                                                                 // skip correct third byte                                  
                            if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                         
                            {                                                                                          {                                                           
                                continue;                                                                                  continue;                                               
                            }                                                                                          }                                                           
                                                                                                                                                                                   
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode2.cpp:468                                                    │ json/tests/src/unit-unicode2.cpp:306                                                     
                                                                                                                                                                                   
            SECTION("well-formed")                                                                     SECTION("well-formed")                                                      
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x9F; ++byte2)                                             for (int byte2 = 0xA0; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(true, byte1, byte2, byte3);                                               check_utf8string(true, byte1, byte2, byte3);                
                            check_utf8dump(true, byte1, byte2, byte3);                                                 check_utf8dump(true, byte1, byte2, byte3);                  
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing second byte")                                                 SECTION("ill-formed: missing second byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    check_utf8string(false, byte1);                                                            check_utf8string(false, byte1);                                     
                    check_utf8dump(false, byte1);                                                              check_utf8dump(false, byte1);                                       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing third byte")                                                  SECTION("ill-formed: missing third byte")                                   
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x9F; ++byte2)                                             for (int byte2 = 0xA0; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        check_utf8string(false, byte1, byte2);                                                     check_utf8string(false, byte1, byte2);                          
                        check_utf8dump(false, byte1, byte2);                                                       check_utf8dump(false, byte1, byte2);                            
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong second byte")                                                   SECTION("ill-formed: wrong second byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                                             for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                      
                    {                                                                                          {                                                                   
                        // skip correct second byte                                                                // skip correct second byte                                     
                        if (0x80 <= byte2 && byte2 <= 0x9F)                                                        if (0xA0 <= byte2 && byte2 <= 0xBF)                             
                        {                                                                                          {                                                               
                            continue;                                                                                  continue;                                                   
                        }                                                                                          }                                                               
                                                                                                                                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong third byte")                                                    SECTION("ill-formed: wrong third byte")                                     
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x9F; ++byte2)                                             for (int byte2 = 0xA0; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                                             for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                  
                        {                                                                                          {                                                               
                            // skip correct third byte                                                                 // skip correct third byte                                  
                            if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                         
                            {                                                                                          {                                                           
                                continue;                                                                                  continue;                                               
                            }                                                                                          }                                                           
                                                                                                                                                                                   
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode2.cpp:549                                                    │ json/tests/src/unit-unicode2.cpp:306                                                     
                                                                                                                                                                                   
            SECTION("well-formed")                                                                     SECTION("well-formed")                                                      
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0xA0; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(true, byte1, byte2, byte3);                                               check_utf8string(true, byte1, byte2, byte3);                
                            check_utf8dump(true, byte1, byte2, byte3);                                                 check_utf8dump(true, byte1, byte2, byte3);                  
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing second byte")                                                 SECTION("ill-formed: missing second byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    check_utf8string(false, byte1);                                                            check_utf8string(false, byte1);                                     
                    check_utf8dump(false, byte1);                                                              check_utf8dump(false, byte1);                                       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing third byte")                                                  SECTION("ill-formed: missing third byte")                                   
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0xA0; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        check_utf8string(false, byte1, byte2);                                                     check_utf8string(false, byte1, byte2);                          
                        check_utf8dump(false, byte1, byte2);                                                       check_utf8dump(false, byte1, byte2);                            
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong second byte")                                                   SECTION("ill-formed: wrong second byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                                             for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                      
                    {                                                                                          {                                                                   
                        // skip correct second byte                                                                // skip correct second byte                                     
                        if (0x80 <= byte2 && byte2 <= 0xBF)                                                        if (0xA0 <= byte2 && byte2 <= 0xBF)                             
                        {                                                                                          {                                                               
                            continue;                                                                                  continue;                                                   
                        }                                                                                          }                                                               
                                                                                                                                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong third byte")                                                    SECTION("ill-formed: wrong third byte")                                     
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE0; byte1 <= 0xE0; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0xA0; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                                             for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                  
                        {                                                                                          {                                                               
                            // skip correct third byte                                                                 // skip correct third byte                                  
                            if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                         
                            {                                                                                          {                                                           
                                continue;                                                                                  continue;                                               
                            }                                                                                          }                                                           
                                                                                                                                                                                   
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode2.cpp:468                                                    │ json/tests/src/unit-unicode2.cpp:387                                                     
                                                                                                                                                                                   
            SECTION("well-formed")                                                                     SECTION("well-formed")                                                      
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x9F; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(true, byte1, byte2, byte3);                                               check_utf8string(true, byte1, byte2, byte3);                
                            check_utf8dump(true, byte1, byte2, byte3);                                                 check_utf8dump(true, byte1, byte2, byte3);                  
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing second byte")                                                 SECTION("ill-formed: missing second byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    check_utf8string(false, byte1);                                                            check_utf8string(false, byte1);                                     
                    check_utf8dump(false, byte1);                                                              check_utf8dump(false, byte1);                                       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing third byte")                                                  SECTION("ill-formed: missing third byte")                                   
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x9F; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        check_utf8string(false, byte1, byte2);                                                     check_utf8string(false, byte1, byte2);                          
                        check_utf8dump(false, byte1, byte2);                                                       check_utf8dump(false, byte1, byte2);                            
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong second byte")                                                   SECTION("ill-formed: wrong second byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                                             for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                      
                    {                                                                                          {                                                                   
                        // skip correct second byte                                                                // skip correct second byte                                     
                        if (0x80 <= byte2 && byte2 <= 0x9F)                                                        if (0x80 <= byte2 && byte2 <= 0xBF)                             
                        {                                                                                          {                                                               
                            continue;                                                                                  continue;                                                   
                        }                                                                                          }                                                               
                                                                                                                                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong third byte")                                                    SECTION("ill-formed: wrong third byte")                                     
            {                                                                                          {                                                                           
                for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0x9F; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                                             for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                  
                        {                                                                                          {                                                               
                            // skip correct third byte                                                                 // skip correct third byte                                  
                            if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                         
                            {                                                                                          {                                                           
                                continue;                                                                                  continue;                                               
                            }                                                                                          }                                                           
                                                                                                                                                                                   
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode2.cpp:549                                                    │ json/tests/src/unit-unicode2.cpp:387                                                     
                                                                                                                                                                                   
            SECTION("well-formed")                                                                     SECTION("well-formed")                                                      
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(true, byte1, byte2, byte3);                                               check_utf8string(true, byte1, byte2, byte3);                
                            check_utf8dump(true, byte1, byte2, byte3);                                                 check_utf8dump(true, byte1, byte2, byte3);                  
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing second byte")                                                 SECTION("ill-formed: missing second byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    check_utf8string(false, byte1);                                                            check_utf8string(false, byte1);                                     
                    check_utf8dump(false, byte1);                                                              check_utf8dump(false, byte1);                                       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing third byte")                                                  SECTION("ill-formed: missing third byte")                                   
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        check_utf8string(false, byte1, byte2);                                                     check_utf8string(false, byte1, byte2);                          
                        check_utf8dump(false, byte1, byte2);                                                       check_utf8dump(false, byte1, byte2);                            
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong second byte")                                                   SECTION("ill-formed: wrong second byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                                             for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                      
                    {                                                                                          {                                                                   
                        // skip correct second byte                                                                // skip correct second byte                                     
                        if (0x80 <= byte2 && byte2 <= 0xBF)                                                        if (0x80 <= byte2 && byte2 <= 0xBF)                             
                        {                                                                                          {                                                               
                            continue;                                                                                  continue;                                                   
                        }                                                                                          }                                                               
                                                                                                                                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong third byte")                                                    SECTION("ill-formed: wrong third byte")                                     
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xE1; byte1 <= 0xEC; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                                             for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                  
                        {                                                                                          {                                                               
                            // skip correct third byte                                                                 // skip correct third byte                                  
                            if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                         
                            {                                                                                          {                                                           
                                continue;                                                                                  continue;                                               
                            }                                                                                          }                                                           
                                                                                                                                                                                   
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-unicode2.cpp:549                                                    │ json/tests/src/unit-unicode2.cpp:468                                                     
                                                                                                                                                                                   
            SECTION("well-formed")                                                                     SECTION("well-formed")                                                      
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0x9F; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(true, byte1, byte2, byte3);                                               check_utf8string(true, byte1, byte2, byte3);                
                            check_utf8dump(true, byte1, byte2, byte3);                                                 check_utf8dump(true, byte1, byte2, byte3);                  
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing second byte")                                                 SECTION("ill-formed: missing second byte")                                  
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                          
                {                                                                                          {                                                                       
                    check_utf8string(false, byte1);                                                            check_utf8string(false, byte1);                                     
                    check_utf8dump(false, byte1);                                                              check_utf8dump(false, byte1);                                       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: missing third byte")                                                  SECTION("ill-formed: missing third byte")                                   
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0x9F; ++byte2)                      
                    {                                                                                          {                                                                   
                        check_utf8string(false, byte1, byte2);                                                     check_utf8string(false, byte1, byte2);                          
                        check_utf8dump(false, byte1, byte2);                                                       check_utf8dump(false, byte1, byte2);                            
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong second byte")                                                   SECTION("ill-formed: wrong second byte")                                    
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                                             for (int byte2 = 0x00; byte2 <= 0xFF; ++byte2)                      
                    {                                                                                          {                                                                   
                        // skip correct second byte                                                                // skip correct second byte                                     
                        if (0x80 <= byte2 && byte2 <= 0xBF)                                                        if (0x80 <= byte2 && byte2 <= 0x9F)                             
                        {                                                                                          {                                                               
                            continue;                                                                                  continue;                                                   
                        }                                                                                          }                                                               
                                                                                                                                                                                   
                        for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                                             for (int byte3 = 0x80; byte3 <= 0xBF; ++byte3)                  
                        {                                                                                          {                                                               
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("ill-formed: wrong third byte")                                                    SECTION("ill-formed: wrong third byte")                                     
            {                                                                                          {                                                                           
                for (int byte1 = 0xEE; byte1 <= 0xEF; ++byte1)                                             for (int byte1 = 0xED; byte1 <= 0xED; ++byte1)                          
                {                                                                                          {                                                                       
                    for (int byte2 = 0x80; byte2 <= 0xBF; ++byte2)                                             for (int byte2 = 0x80; byte2 <= 0x9F; ++byte2)                      
                    {                                                                                          {                                                                   
                        for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                                             for (int byte3 = 0x00; byte3 <= 0xFF; ++byte3)                  
                        {                                                                                          {                                                               
                            // skip correct third byte                                                                 // skip correct third byte                                  
                            if (0x80 <= byte3 && byte3 <= 0xBF)                                                        if (0x80 <= byte3 && byte3 <= 0xBF)                         
                            {                                                                                          {                                                           
                                continue;                                                                                  continue;                                               
                            }                                                                                          }                                                           
                                                                                                                                                                                   
                            check_utf8string(false, byte1, byte2, byte3);                                              check_utf8string(false, byte1, byte2, byte3);               
                            check_utf8dump(false, byte1, byte2, byte3);                                                check_utf8dump(false, byte1, byte2, byte3);                 
                        }                                                                                          }                                                               
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:2342                                                     │ json/tests/src/unit-bjdata.cpp:2263                                                      
                                                                                                                                                                                   
                // create vector with two elements of the same type                                        // create vector with two elements of the same type                     
                std::vector<uint8_t> v_0 = {'[', '$', 'i', '#', '[', ']'};                                 std::vector<uint8_t> v_0 = {'[', '$', 'i', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_i = {'[', '$', 'i', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_1 = {'[', '$', 'i', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_U = {'[', '$', 'U', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_i = {'[', '$', 'i', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_I = {'[', '$', 'I', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_U = {'[', '$', 'U', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_u = {'[', '$', 'u', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_I = {'[', '$', 'I', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_l = {'[', '$', 'l', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_u = {'[', '$', 'u', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_m = {'[', '$', 'm', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_l = {'[', '$', 'l', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_L = {'[', '$', 'L', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_m = {'[', '$', 'm', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_M = {'[', '$', 'M', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_L = {'[', '$', 'L', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_D = {'[', '$', 'D', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_M = {'[', '$', 'M', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_S = {'[', '#', '[', 'i', 1, 'i', 2, ']', 'S', 'i'                   std::vector<uint8_t> v_D = {'[', '$', 'D', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_C = {'[', '$', 'C', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_S = {'[', '#', '[', '$', 'i', '#', 'i', 2, 1, 2, 
                                                                                                           std::vector<uint8_t> v_C = {'[', '$', 'C', '#', '[', '$', 'i', '#', 'i',
                                                                                                                                                                                   
                // check if vector is parsed correctly                                                     // check if vector is parsed correctly                                  
                CHECK(json::from_bjdata(v_0) == json::array());                                            CHECK(json::from_bjdata(v_0) == json::array());                         
                                                                                                           CHECK(json::from_bjdata(v_1) == json({127, 127}));                      
                CHECK(json::from_bjdata(v_i) == json({127, 127}));                                         CHECK(json::from_bjdata(v_i) == json({127, 127}));                      
                CHECK(json::from_bjdata(v_U) == json({255, 255}));                                         CHECK(json::from_bjdata(v_U) == json({255, 255}));                      
                CHECK(json::from_bjdata(v_I) == json({32767, 32767}));                                     CHECK(json::from_bjdata(v_I) == json({32767, 32767}));                  
                CHECK(json::from_bjdata(v_u) == json({42767, 42767}));                                     CHECK(json::from_bjdata(v_u) == json({42767, 42767}));                  
                CHECK(json::from_bjdata(v_l) == json({2147483647, 2147483647}));                           CHECK(json::from_bjdata(v_l) == json({2147483647, 2147483647}));        
                CHECK(json::from_bjdata(v_m) == json({3147483647, 3147483647}));                           CHECK(json::from_bjdata(v_m) == json({3147483647, 3147483647}));        
                CHECK(json::from_bjdata(v_L) == json({9223372036854775807, 9223372036854                   CHECK(json::from_bjdata(v_L) == json({9223372036854775807, 9223372036854
                CHECK(json::from_bjdata(v_M) == json({10223372036854775807ull, 102233720                   CHECK(json::from_bjdata(v_M) == json({10223372036854775807ull, 102233720
                CHECK(json::from_bjdata(v_D) == json({3.1415926, 3.1415926}));                             CHECK(json::from_bjdata(v_D) == json({3.1415926, 3.1415926}));          
                CHECK(json::from_bjdata(v_S) == json({"a", "a"}));                                         CHECK(json::from_bjdata(v_S) == json({"a", "a"}));                      
                CHECK(json::from_bjdata(v_C) == json({"a", "a"}));                                         CHECK(json::from_bjdata(v_C) == json({"a", "a"}));                      
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:2373                                                     │ json/tests/src/unit-bjdata.cpp:2263                                                      
                                                                                                                                                                                   
                // create vector with two elements of the same type                                        // create vector with two elements of the same type                     
                std::vector<uint8_t> v_i = {'[', '$', 'i', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_0 = {'[', '$', 'i', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_U = {'[', '$', 'U', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_1 = {'[', '$', 'i', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_I = {'[', '$', 'I', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_i = {'[', '$', 'i', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_u = {'[', '$', 'u', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_U = {'[', '$', 'U', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_l = {'[', '$', 'l', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_I = {'[', '$', 'I', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_m = {'[', '$', 'm', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_u = {'[', '$', 'u', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_L = {'[', '$', 'L', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_l = {'[', '$', 'l', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_M = {'[', '$', 'M', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_m = {'[', '$', 'm', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_D = {'[', '$', 'D', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_L = {'[', '$', 'L', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_S = {'[', '#', '[', '#', 'i', 2, 'i', 1, 'i', 2,                    std::vector<uint8_t> v_M = {'[', '$', 'M', '#', '[', '$', 'i', '#', 'i',
                std::vector<uint8_t> v_C = {'[', '$', 'C', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_D = {'[', '$', 'D', '#', '[', '$', 'i', '#', 'i',
                                                                                                           std::vector<uint8_t> v_S = {'[', '#', '[', '$', 'i', '#', 'i', 2, 1, 2, 
                                                                                                           std::vector<uint8_t> v_C = {'[', '$', 'C', '#', '[', '$', 'i', '#', 'i',
                                                                                                                                                                                   
                // check if vector is parsed correctly                                                     // check if vector is parsed correctly                                  
                                                                                                           CHECK(json::from_bjdata(v_0) == json::array());                         
                                                                                                           CHECK(json::from_bjdata(v_1) == json({127, 127}));                      
                CHECK(json::from_bjdata(v_i) == json({127, 127}));                                         CHECK(json::from_bjdata(v_i) == json({127, 127}));                      
                CHECK(json::from_bjdata(v_U) == json({255, 255}));                                         CHECK(json::from_bjdata(v_U) == json({255, 255}));                      
                CHECK(json::from_bjdata(v_I) == json({32767, 32767}));                                     CHECK(json::from_bjdata(v_I) == json({32767, 32767}));                  
                CHECK(json::from_bjdata(v_u) == json({42767, 42767}));                                     CHECK(json::from_bjdata(v_u) == json({42767, 42767}));                  
                CHECK(json::from_bjdata(v_l) == json({2147483647, 2147483647}));                           CHECK(json::from_bjdata(v_l) == json({2147483647, 2147483647}));        
                CHECK(json::from_bjdata(v_m) == json({3147483647, 3147483647}));                           CHECK(json::from_bjdata(v_m) == json({3147483647, 3147483647}));        
                CHECK(json::from_bjdata(v_L) == json({9223372036854775807, 9223372036854                   CHECK(json::from_bjdata(v_L) == json({9223372036854775807, 9223372036854
                CHECK(json::from_bjdata(v_M) == json({10223372036854775807ull, 102233720                   CHECK(json::from_bjdata(v_M) == json({10223372036854775807ull, 102233720
                CHECK(json::from_bjdata(v_D) == json({3.1415926, 3.1415926}));                             CHECK(json::from_bjdata(v_D) == json({3.1415926, 3.1415926}));          
                CHECK(json::from_bjdata(v_S) == json({"a", "a"}));                                         CHECK(json::from_bjdata(v_S) == json({"a", "a"}));                      
                CHECK(json::from_bjdata(v_C) == json({"a", "a"}));                                         CHECK(json::from_bjdata(v_C) == json({"a", "a"}));                      
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:2373                                                     │ json/tests/src/unit-bjdata.cpp:2342                                                      
                                                                                                                                                                                   
                // create vector with two elements of the same type                                        // create vector with two elements of the same type                     
                std::vector<uint8_t> v_i = {'[', '$', 'i', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_0 = {'[', '$', 'i', '#', '[', ']'};              
                std::vector<uint8_t> v_U = {'[', '$', 'U', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_i = {'[', '$', 'i', '#', '[', 'i', 1, 'i', 2, ']'
                std::vector<uint8_t> v_I = {'[', '$', 'I', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_U = {'[', '$', 'U', '#', '[', 'i', 1, 'i', 2, ']'
                std::vector<uint8_t> v_u = {'[', '$', 'u', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_I = {'[', '$', 'I', '#', '[', 'i', 1, 'i', 2, ']'
                std::vector<uint8_t> v_l = {'[', '$', 'l', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_u = {'[', '$', 'u', '#', '[', 'i', 1, 'i', 2, ']'
                std::vector<uint8_t> v_m = {'[', '$', 'm', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_l = {'[', '$', 'l', '#', '[', 'i', 1, 'i', 2, ']'
                std::vector<uint8_t> v_L = {'[', '$', 'L', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_m = {'[', '$', 'm', '#', '[', 'i', 1, 'i', 2, ']'
                std::vector<uint8_t> v_M = {'[', '$', 'M', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_L = {'[', '$', 'L', '#', '[', 'i', 1, 'i', 2, ']'
                std::vector<uint8_t> v_D = {'[', '$', 'D', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_M = {'[', '$', 'M', '#', '[', 'i', 1, 'i', 2, ']'
                std::vector<uint8_t> v_S = {'[', '#', '[', '#', 'i', 2, 'i', 1, 'i', 2,                    std::vector<uint8_t> v_D = {'[', '$', 'D', '#', '[', 'i', 1, 'i', 2, ']'
                std::vector<uint8_t> v_C = {'[', '$', 'C', '#', '[', '#', 'i', 2, 'i', 1                   std::vector<uint8_t> v_S = {'[', '#', '[', 'i', 1, 'i', 2, ']', 'S', 'i'
                                                                                                           std::vector<uint8_t> v_C = {'[', '$', 'C', '#', '[', 'i', 1, 'i', 2, ']'
                                                                                                                                                                                   
                // check if vector is parsed correctly                                                     // check if vector is parsed correctly                                  
                                                                                                           CHECK(json::from_bjdata(v_0) == json::array());                         
                CHECK(json::from_bjdata(v_i) == json({127, 127}));                                         CHECK(json::from_bjdata(v_i) == json({127, 127}));                      
                CHECK(json::from_bjdata(v_U) == json({255, 255}));                                         CHECK(json::from_bjdata(v_U) == json({255, 255}));                      
                CHECK(json::from_bjdata(v_I) == json({32767, 32767}));                                     CHECK(json::from_bjdata(v_I) == json({32767, 32767}));                  
                CHECK(json::from_bjdata(v_u) == json({42767, 42767}));                                     CHECK(json::from_bjdata(v_u) == json({42767, 42767}));                  
                CHECK(json::from_bjdata(v_l) == json({2147483647, 2147483647}));                           CHECK(json::from_bjdata(v_l) == json({2147483647, 2147483647}));        
                CHECK(json::from_bjdata(v_m) == json({3147483647, 3147483647}));                           CHECK(json::from_bjdata(v_m) == json({3147483647, 3147483647}));        
                CHECK(json::from_bjdata(v_L) == json({9223372036854775807, 9223372036854                   CHECK(json::from_bjdata(v_L) == json({9223372036854775807, 9223372036854
                CHECK(json::from_bjdata(v_M) == json({10223372036854775807ull, 102233720                   CHECK(json::from_bjdata(v_M) == json({10223372036854775807ull, 102233720
                CHECK(json::from_bjdata(v_D) == json({3.1415926, 3.1415926}));                             CHECK(json::from_bjdata(v_D) == json({3.1415926, 3.1415926}));          
                CHECK(json::from_bjdata(v_S) == json({"a", "a"}));                                         CHECK(json::from_bjdata(v_S) == json({"a", "a"}));                      
                CHECK(json::from_bjdata(v_C) == json({"a", "a"}));                                         CHECK(json::from_bjdata(v_C) == json({"a", "a"}));                      
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:527                                                     │ json/tests/src/unit-msgpack.cpp:349                                                      
                                                                                                                                                                                   
                    std::vector<int64_t> numbers;                                                              for (uint64_t i :                                                   
                    numbers.push_back(INT64_MIN);                                                                      {                                                           
                    numbers.push_back(-2147483649LL);                                                                      4294967296LU, 9223372036854775807LU                     
                    for (auto i : numbers)                                                                             })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd3);                                                                  expected.push_back(0xcf);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd3);                                                                  CHECK(result[0] == 0xcf);                                       
                        int64_t restored = (static_cast<int64_t>(result[1]) << 070) +                              uint64_t restored = (static_cast<uint64_t>(result[1]) << 070) + 
                                           (static_cast<int64_t>(result[2]) << 060) +                                                  (static_cast<uint64_t>(result[2]) << 060) + 
                                           (static_cast<int64_t>(result[3]) << 050) +                                                  (static_cast<uint64_t>(result[3]) << 050) + 
                                           (static_cast<int64_t>(result[4]) << 040) +                                                  (static_cast<uint64_t>(result[4]) << 040) + 
                                           (static_cast<int64_t>(result[5]) << 030) +                                                  (static_cast<uint64_t>(result[5]) << 030) + 
                                           (static_cast<int64_t>(result[6]) << 020) +                                                  (static_cast<uint64_t>(result[6]) << 020) + 
                                           (static_cast<int64_t>(result[7]) << 010) +                                                  (static_cast<uint64_t>(result[7]) << 010) + 
                                           static_cast<int64_t>(result[8]);                                                            static_cast<uint64_t>(result[8]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:719                                                     │ json/tests/src/unit-msgpack.cpp:349                                                      
                                                                                                                                                                                   
                    for (uint64_t i :                                                                          for (uint64_t i :                                                   
                            {                                                                                          {                                                           
                                4294967296LU, 18446744073709551615LU                                                       4294967296LU, 9223372036854775807LU                     
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xcf);                                                                  expected.push_back(0xcf);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xcf);                                                                  CHECK(result[0] == 0xcf);                                       
                        uint64_t restored = (static_cast<uint64_t>(result[1]) << 070) +                            uint64_t restored = (static_cast<uint64_t>(result[1]) << 070) + 
                                            (static_cast<uint64_t>(result[2]) << 060) +                                                (static_cast<uint64_t>(result[2]) << 060) + 
                                            (static_cast<uint64_t>(result[3]) << 050) +                                                (static_cast<uint64_t>(result[3]) << 050) + 
                                            (static_cast<uint64_t>(result[4]) << 040) +                                                (static_cast<uint64_t>(result[4]) << 040) + 
                                            (static_cast<uint64_t>(result[5]) << 030) +                                                (static_cast<uint64_t>(result[5]) << 030) + 
                                            (static_cast<uint64_t>(result[6]) << 020) +                                                (static_cast<uint64_t>(result[6]) << 020) + 
                                            (static_cast<uint64_t>(result[7]) << 010) +                                                (static_cast<uint64_t>(result[7]) << 010) + 
                                            static_cast<uint64_t>(result[8]);                                                          static_cast<uint64_t>(result[8]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:719                                                     │ json/tests/src/unit-msgpack.cpp:527                                                      
                                                                                                                                                                                   
                    for (uint64_t i :                                                                          std::vector<int64_t> numbers;                                       
                            {                                                                                  numbers.push_back(INT64_MIN);                                       
                                4294967296LU, 18446744073709551615LU                                           numbers.push_back(-2147483649LL);                                   
                            })                                                                                 for (auto i : numbers)                                              
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xcf);                                                                  expected.push_back(0xd3);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xcf);                                                                  CHECK(result[0] == 0xd3);                                       
                        uint64_t restored = (static_cast<uint64_t>(result[1]) << 070) +                            int64_t restored = (static_cast<int64_t>(result[1]) << 070) +   
                                            (static_cast<uint64_t>(result[2]) << 060) +                                               (static_cast<int64_t>(result[2]) << 060) +   
                                            (static_cast<uint64_t>(result[3]) << 050) +                                               (static_cast<int64_t>(result[3]) << 050) +   
                                            (static_cast<uint64_t>(result[4]) << 040) +                                               (static_cast<int64_t>(result[4]) << 040) +   
                                            (static_cast<uint64_t>(result[5]) << 030) +                                               (static_cast<int64_t>(result[5]) << 030) +   
                                            (static_cast<uint64_t>(result[6]) << 020) +                                               (static_cast<int64_t>(result[6]) << 020) +   
                                            (static_cast<uint64_t>(result[7]) << 010) +                                               (static_cast<int64_t>(result[7]) << 010) +   
                                            static_cast<uint64_t>(result[8]);                                                         static_cast<int64_t>(result[8]);             
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:787                                                        │ json/tests/src/unit-cbor.cpp:561                                                         
                                                                                                                                                                                   
                    for (uint64_t i :                                                                          for (uint64_t i :                                                   
                            {                                                                                          {                                                           
                                4294967296ul, 4611686018427387903ul                                                        4294967296ul, 4611686018427387903ul                     
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0x1b);                                                                  expected.push_back(0x1b);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0x1b);                                                                  CHECK(result[0] == 0x1b);                                       
                        uint64_t restored = (static_cast<uint64_t>(result[1]) << 070) +                            uint64_t restored = (static_cast<uint64_t>(result[1]) << 070) + 
                                            (static_cast<uint64_t>(result[2]) << 060) +                                                (static_cast<uint64_t>(result[2]) << 060) + 
                                            (static_cast<uint64_t>(result[3]) << 050) +                                                (static_cast<uint64_t>(result[3]) << 050) + 
                                            (static_cast<uint64_t>(result[4]) << 040) +                                                (static_cast<uint64_t>(result[4]) << 040) + 
                                            (static_cast<uint64_t>(result[5]) << 030) +                                                (static_cast<uint64_t>(result[5]) << 030) + 
                                            (static_cast<uint64_t>(result[6]) << 020) +                                                (static_cast<uint64_t>(result[6]) << 020) + 
                                            (static_cast<uint64_t>(result[7]) << 010) +                                                (static_cast<uint64_t>(result[7]) << 010) + 
                                            static_cast<uint64_t>(result[8]);                                                          static_cast<uint64_t>(result[8]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:641                                                      │ json/tests/src/unit-bjdata.cpp:592                                                       
                                                                                                                                                                                   
                    std::vector<uint64_t> v = {9223372036854775808ull, 18446744073709551                       std::vector<uint64_t> v = {4294967296LU, 9223372036854775807LU};    
                    for (uint64_t i : v)                                                                       for (uint64_t i : v)                                                
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('M');                                                                   expected.push_back('L');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'M');                                                                   CHECK(result[0] == 'L');                                        
                        uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) +                            uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) + 
                                            (static_cast<uint64_t>(result[7]) << 060) +                                                (static_cast<uint64_t>(result[7]) << 060) + 
                                            (static_cast<uint64_t>(result[6]) << 050) +                                                (static_cast<uint64_t>(result[6]) << 050) + 
                                            (static_cast<uint64_t>(result[5]) << 040) +                                                (static_cast<uint64_t>(result[5]) << 040) + 
                                            (static_cast<uint64_t>(result[4]) << 030) +                                                (static_cast<uint64_t>(result[4]) << 030) + 
                                            (static_cast<uint64_t>(result[3]) << 020) +                                                (static_cast<uint64_t>(result[3]) << 020) + 
                                            (static_cast<uint64_t>(result[2]) << 010) +                                                (static_cast<uint64_t>(result[2]) << 010) + 
                                            static_cast<uint64_t>(result[1]);                                                          static_cast<uint64_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:960                                                      │ json/tests/src/unit-bjdata.cpp:592                                                       
                                                                                                                                                                                   
                    std::vector<uint64_t> v = {9223372036854775808ull, 18446744073709551                       std::vector<uint64_t> v = {4294967296LU, 9223372036854775807LU};    
                    for (uint64_t i : v)                                                                       for (uint64_t i : v)                                                
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('M');                                                                   expected.push_back('L');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'M');                                                                   CHECK(result[0] == 'L');                                        
                        uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) +                            uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) + 
                                            (static_cast<uint64_t>(result[7]) << 060) +                                                (static_cast<uint64_t>(result[7]) << 060) + 
                                            (static_cast<uint64_t>(result[6]) << 050) +                                                (static_cast<uint64_t>(result[6]) << 050) + 
                                            (static_cast<uint64_t>(result[5]) << 040) +                                                (static_cast<uint64_t>(result[5]) << 040) + 
                                            (static_cast<uint64_t>(result[4]) << 030) +                                                (static_cast<uint64_t>(result[4]) << 030) + 
                                            (static_cast<uint64_t>(result[3]) << 020) +                                                (static_cast<uint64_t>(result[3]) << 020) + 
                                            (static_cast<uint64_t>(result[2]) << 010) +                                                (static_cast<uint64_t>(result[2]) << 010) + 
                                            static_cast<uint64_t>(result[1]);                                                          static_cast<uint64_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:960                                                      │ json/tests/src/unit-bjdata.cpp:641                                                       
                                                                                                                                                                                   
                    std::vector<uint64_t> v = {9223372036854775808ull, 18446744073709551                       std::vector<uint64_t> v = {9223372036854775808ull, 18446744073709551
                    for (uint64_t i : v)                                                                       for (uint64_t i : v)                                                
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('M');                                                                   expected.push_back('M');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'M');                                                                   CHECK(result[0] == 'M');                                        
                        uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) +                            uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) + 
                                            (static_cast<uint64_t>(result[7]) << 060) +                                                (static_cast<uint64_t>(result[7]) << 060) + 
                                            (static_cast<uint64_t>(result[6]) << 050) +                                                (static_cast<uint64_t>(result[6]) << 050) + 
                                            (static_cast<uint64_t>(result[5]) << 040) +                                                (static_cast<uint64_t>(result[5]) << 040) + 
                                            (static_cast<uint64_t>(result[4]) << 030) +                                                (static_cast<uint64_t>(result[4]) << 030) + 
                                            (static_cast<uint64_t>(result[3]) << 020) +                                                (static_cast<uint64_t>(result[3]) << 020) + 
                                            (static_cast<uint64_t>(result[2]) << 010) +                                                (static_cast<uint64_t>(result[2]) << 010) + 
                                            static_cast<uint64_t>(result[1]);                                                          static_cast<uint64_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:705                                                      │ json/tests/src/unit-ubjson.cpp:511                                                       
                                                                                                                                                                                   
                    std::vector<uint64_t> v = {2147483648ul, 9223372036854775807ul};                           std::vector<uint64_t> v = {2147483648ul, 9223372036854775807ul};    
                    for (uint64_t i : v)                                                                       for (uint64_t i : v)                                                
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('L');                                                                   expected.push_back('L');                                        
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'L');                                                                   CHECK(result[0] == 'L');                                        
                        uint64_t restored = (static_cast<uint64_t>(result[1]) << 070) +                            uint64_t restored = (static_cast<uint64_t>(result[1]) << 070) + 
                                            (static_cast<uint64_t>(result[2]) << 060) +                                                (static_cast<uint64_t>(result[2]) << 060) + 
                                            (static_cast<uint64_t>(result[3]) << 050) +                                                (static_cast<uint64_t>(result[3]) << 050) + 
                                            (static_cast<uint64_t>(result[4]) << 040) +                                                (static_cast<uint64_t>(result[4]) << 040) + 
                                            (static_cast<uint64_t>(result[5]) << 030) +                                                (static_cast<uint64_t>(result[5]) << 030) + 
                                            (static_cast<uint64_t>(result[6]) << 020) +                                                (static_cast<uint64_t>(result[6]) << 020) + 
                                            (static_cast<uint64_t>(result[7]) << 010) +                                                (static_cast<uint64_t>(result[7]) << 010) + 
                                            static_cast<uint64_t>(result[8]);                                                          static_cast<uint64_t>(result[8]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:912                                                      │ json/tests/src/unit-bjdata.cpp:592                                                       
                                                                                                                                                                                   
                    std::vector<uint64_t> v = {4294967296ul, 9223372036854775807ul};                           std::vector<uint64_t> v = {4294967296LU, 9223372036854775807LU};    
                    for (uint64_t i : v)                                                                       for (uint64_t i : v)                                                
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('L');                                                                   expected.push_back('L');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'L');                                                                   CHECK(result[0] == 'L');                                        
                        uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) +                            uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) + 
                                            (static_cast<uint64_t>(result[7]) << 060) +                                                (static_cast<uint64_t>(result[7]) << 060) + 
                                            (static_cast<uint64_t>(result[6]) << 050) +                                                (static_cast<uint64_t>(result[6]) << 050) + 
                                            (static_cast<uint64_t>(result[5]) << 040) +                                                (static_cast<uint64_t>(result[5]) << 040) + 
                                            (static_cast<uint64_t>(result[4]) << 030) +                                                (static_cast<uint64_t>(result[4]) << 030) + 
                                            (static_cast<uint64_t>(result[3]) << 020) +                                                (static_cast<uint64_t>(result[3]) << 020) + 
                                            (static_cast<uint64_t>(result[2]) << 010) +                                                (static_cast<uint64_t>(result[2]) << 010) + 
                                            static_cast<uint64_t>(result[1]);                                                          static_cast<uint64_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:912                                                      │ json/tests/src/unit-bjdata.cpp:641                                                       
                                                                                                                                                                                   
                    std::vector<uint64_t> v = {4294967296ul, 9223372036854775807ul};                           std::vector<uint64_t> v = {9223372036854775808ull, 18446744073709551
                    for (uint64_t i : v)                                                                       for (uint64_t i : v)                                                
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('L');                                                                   expected.push_back('M');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'L');                                                                   CHECK(result[0] == 'M');                                        
                        uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) +                            uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) + 
                                            (static_cast<uint64_t>(result[7]) << 060) +                                                (static_cast<uint64_t>(result[7]) << 060) + 
                                            (static_cast<uint64_t>(result[6]) << 050) +                                                (static_cast<uint64_t>(result[6]) << 050) + 
                                            (static_cast<uint64_t>(result[5]) << 040) +                                                (static_cast<uint64_t>(result[5]) << 040) + 
                                            (static_cast<uint64_t>(result[4]) << 030) +                                                (static_cast<uint64_t>(result[4]) << 030) + 
                                            (static_cast<uint64_t>(result[3]) << 020) +                                                (static_cast<uint64_t>(result[3]) << 020) + 
                                            (static_cast<uint64_t>(result[2]) << 010) +                                                (static_cast<uint64_t>(result[2]) << 010) + 
                                            static_cast<uint64_t>(result[1]);                                                          static_cast<uint64_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:912                                                      │ json/tests/src/unit-bjdata.cpp:960                                                       
                                                                                                                                                                                   
                    std::vector<uint64_t> v = {4294967296ul, 9223372036854775807ul};                           std::vector<uint64_t> v = {9223372036854775808ull, 18446744073709551
                    for (uint64_t i : v)                                                                       for (uint64_t i : v)                                                
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('L');                                                                   expected.push_back('M');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 010) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 020) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 030) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 040) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 050) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 060) & 0xff));    
                        expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));                               expected.push_back(static_cast<uint8_t>((i >> 070) & 0xff));    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 9);                                                                 CHECK(result.size() == 9);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'L');                                                                   CHECK(result[0] == 'M');                                        
                        uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) +                            uint64_t restored = (static_cast<uint64_t>(result[8]) << 070) + 
                                            (static_cast<uint64_t>(result[7]) << 060) +                                                (static_cast<uint64_t>(result[7]) << 060) + 
                                            (static_cast<uint64_t>(result[6]) << 050) +                                                (static_cast<uint64_t>(result[6]) << 050) + 
                                            (static_cast<uint64_t>(result[5]) << 040) +                                                (static_cast<uint64_t>(result[5]) << 040) + 
                                            (static_cast<uint64_t>(result[4]) << 030) +                                                (static_cast<uint64_t>(result[4]) << 030) + 
                                            (static_cast<uint64_t>(result[3]) << 020) +                                                (static_cast<uint64_t>(result[3]) << 020) + 
                                            (static_cast<uint64_t>(result[2]) << 010) +                                                (static_cast<uint64_t>(result[2]) << 010) + 
                                            static_cast<uint64_t>(result[1]);                                                          static_cast<uint64_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access1.cpp:376                                             │ json/tests/src/unit-element_access2.cpp:918                                              
                                                                                                                                                                                   
                    {                                                                                          {                                                                   
                        json jarray = {1, 1u, true, nullptr, "string", 42.23, json::obje                           json jobject = {{"a", "a"}, {"b", 1}, {"c", 17u}, {"d", false}, 
                        json jarray2 = {"foo", "bar"};                                                             json jobject2 = {{"a", "a"}, {"b", 1}, {"c", 17u}};             
                                                                                                                   CHECK_THROWS_WITH_AS(jobject.erase(jobject2.begin()),           
                        CHECK_THROWS_WITH_AS(jarray.erase(jarray2.begin()),                                                                                                        
                                             "[json.exception.invalid_iterator.202] iter                                                "[json.exception.invalid_iterator.202] iter
                        CHECK_THROWS_WITH_AS(jarray.erase(jarray.begin(), jarray2.end())                           CHECK_THROWS_WITH_AS(jobject.erase(jobject.begin(), jobject2.end
                                             "[json.exception.invalid_iterator.203] iter                                                "[json.exception.invalid_iterator.203] iter
                        CHECK_THROWS_WITH_AS(jarray.erase(jarray2.begin(), jarray.end())                           CHECK_THROWS_WITH_AS(jobject.erase(jobject2.begin(), jobject.end
                                             "[json.exception.invalid_iterator.203] iter                                                "[json.exception.invalid_iterator.203] iter
                        CHECK_THROWS_WITH_AS(jarray.erase(jarray2.begin(), jarray2.end()                           CHECK_THROWS_WITH_AS(jobject.erase(jobject2.begin(), jobject2.en
                                             "[json.exception.invalid_iterator.203] iter                                                "[json.exception.invalid_iterator.203] iter
                    }                                                                                          }                                                                   
                    {                                                                                          {                                                                   
                        json jarray = {1, 1u, true, nullptr, "string", 42.23, json::obje                           json jobject = {{"a", "a"}, {"b", 1}, {"c", 17u}, {"d", false}, 
                        json jarray2 = {"foo", "bar"};                                                             json jobject2 = {{"a", "a"}, {"b", 1}, {"c", 17u}};             
                                                                                                                   CHECK_THROWS_WITH_AS(jobject.erase(jobject2.cbegin()),          
                        CHECK_THROWS_WITH_AS(jarray.erase(jarray2.cbegin()),                                                                                                       
                                             "[json.exception.invalid_iterator.202] iter                                                "[json.exception.invalid_iterator.202] iter
                        CHECK_THROWS_WITH_AS(jarray.erase(jarray.cbegin(), jarray2.cend(                           CHECK_THROWS_WITH_AS(jobject.erase(jobject.cbegin(), jobject2.ce
                                             "[json.exception.invalid_iterator.203] iter                                                "[json.exception.invalid_iterator.203] iter
                        CHECK_THROWS_WITH_AS(jarray.erase(jarray2.cbegin(), jarray.cend(                           CHECK_THROWS_WITH_AS(jobject.erase(jobject2.cbegin(), jobject.ce
                                             "[json.exception.invalid_iterator.203] iter                                                "[json.exception.invalid_iterator.203] iter
                        CHECK_THROWS_WITH_AS(jarray.erase(jarray2.cbegin(), jarray2.cend                           CHECK_THROWS_WITH_AS(jobject.erase(jobject2.cbegin(), jobject2.c
                                             "[json.exception.invalid_iterator.203] iter                                                "[json.exception.invalid_iterator.203] iter
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:2123                                                       │ json/tests/src/unit-bson.cpp:1246                                                        
                                                                                                                                                                                   
            CAPTURE(filename)                                                                          CAPTURE(filename)                                                           
                                                                                                                                                                                   
            {                                                                                          {                                                                           
                INFO_WITH_TEMP(filename + ": std::vector<uint8_t>");                                       INFO_WITH_TEMP(filename + ": std::vector<std::uint8_t>");               
                // parse JSON file                                                                         // parse JSON file                                                      
                std::ifstream f_json(filename);                                                            std::ifstream f_json(filename);                                         
                json j1 = json::parse(f_json);                                                             json j1 = json::parse(f_json);                                          
                                                                                                                                                                                   
                // parse CBOR file                                                                         // parse BSON file                                                      
                auto packed = utils::read_binary_file(filename + ".cbor");                                 auto packed = utils::read_binary_file(filename + ".bson");              
                json j2;                                                                                   json j2;                                                                
                CHECK_NOTHROW(j2 = json::from_cbor(packed));                                               CHECK_NOTHROW(j2 = json::from_bson(packed));                            
                                                                                                                                                                                   
                // compare parsed JSON values                                                              // compare parsed JSON values                                           
                CHECK(j1 == j2);                                                                           CHECK(j1 == j2);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            {                                                                                          {                                                                           
                INFO_WITH_TEMP(filename + ": std::ifstream");                                              INFO_WITH_TEMP(filename + ": std::ifstream");                           
                // parse JSON file                                                                         // parse JSON file                                                      
                std::ifstream f_json(filename);                                                            std::ifstream f_json(filename);                                         
                json j1 = json::parse(f_json);                                                             json j1 = json::parse(f_json);                                          
                                                                                                                                                                                   
                // parse CBOR file                                                                         // parse BSON file                                                      
                std::ifstream f_cbor(filename + ".cbor", std::ios::binary);                                std::ifstream f_bson(filename + ".bson", std::ios::binary);             
                json j2;                                                                                   json j2;                                                                
                CHECK_NOTHROW(j2 = json::from_cbor(f_cbor));                                               CHECK_NOTHROW(j2 = json::from_bson(f_bson));                            
                                                                                                                                                                                   
                // compare parsed JSON values                                                              // compare parsed JSON values                                           
                CHECK(j1 == j2);                                                                           CHECK(j1 == j2);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            {                                                                                          {                                                                           
                INFO_WITH_TEMP(filename + ": uint8_t* and size");                                          INFO_WITH_TEMP(filename + ": uint8_t* and size");                       
                // parse JSON file                                                                         // parse JSON file                                                      
                std::ifstream f_json(filename);                                                            std::ifstream f_json(filename);                                         
                json j1 = json::parse(f_json);                                                             json j1 = json::parse(f_json);                                          
                                                                                                                                                                                   
                // parse CBOR file                                                                         // parse BSON file                                                      
                auto packed = utils::read_binary_file(filename + ".cbor");                                 auto packed = utils::read_binary_file(filename + ".bson");              
                json j2;                                                                                   json j2;                                                                
                CHECK_NOTHROW(j2 = json::from_cbor({packed.data(), packed.size()}));                       CHECK_NOTHROW(j2 = json::from_bson({packed.data(), packed.size()}));    
                                                                                                                                                                                   
                // compare parsed JSON values                                                              // compare parsed JSON values                                           
                CHECK(j1 == j2);                                                                           CHECK(j1 == j2);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            {                                                                                          {                                                                           
                INFO_WITH_TEMP(filename + ": output to output adapters");                                  INFO_WITH_TEMP(filename + ": output to output adapters");               
                // parse JSON file                                                                         // parse JSON file                                                      
                std::ifstream f_json(filename);                                                            std::ifstream f_json(filename);                                         
                json j1 = json::parse(f_json);                                                             json j1 = json::parse(f_json);                                          
                                                                                                                                                                                   
                // parse CBOR file                                                                         // parse BSON file                                                      
                auto packed = utils::read_binary_file(filename + ".cbor");                                 auto packed = utils::read_binary_file(filename + ".bson");              
                                                                                                                                                                                   
                if (exclude_packed.count(filename) == 0u)                                                                                                                          
                {                                                                                          {                                                                       
                                                                                                               INFO_WITH_TEMP(filename + ": output adapters: std::vector<std::uint8
                                                                                                               std::vector<std::uint8_t> vec;                                      
                                                                                                               json::to_bson(j1, vec);                                             
                                                                                                                                                                                   
                                                                                                               if (vec != packed)                                                  
                    {                                                                                          {                                                                   
                        INFO_WITH_TEMP(filename + ": output adapters: std::vector<uint8_                           // the exact serializations may differ due to the order of      
                        std::vector<uint8_t> vec;                                                                  // object keys; in these cases, just compare whether both       
                        json::to_cbor(j1, vec);                                                                    // serializations create the same JSON value                    
                        CHECK(vec == packed);                                                                      CHECK(json::from_bson(vec) == json::from_bson(packed));         
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/input/binary_reader.hpp:825                                │ json/include/nlohmann/detail/input/binary_reader.hpp:2296                                
                                                                                                                                                                                   
                                                                                                           if (input_format != input_format_t::bjdata)                             
                                                                                                           {                                                                       
                                                                                                               break;                                                              
                                                                                                           }                                                                       
                const auto byte1_raw = get();                                                              const auto byte1_raw = get();                                           
                if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number")))                   if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format, "number")))        
                {                                                                                          {                                                                       
                    return false;                                                                              return false;                                                       
                }                                                                                          }                                                                       
                const auto byte2_raw = get();                                                              const auto byte2_raw = get();                                           
                if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number")))                   if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format, "number")))        
                {                                                                                          {                                                                       
                    return false;                                                                              return false;                                                       
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                const auto byte1 = static_cast<unsigned char>(byte1_raw);                                  const auto byte1 = static_cast<unsigned char>(byte1_raw);               
                const auto byte2 = static_cast<unsigned char>(byte2_raw);                                  const auto byte2 = static_cast<unsigned char>(byte2_raw);               
                                                                                                                                                                                   
                // code from RFC 7049, Appendix D, Figure 3:                                               // code from RFC 7049, Appendix D, Figure 3:                            
                // As half-precision floating-point numbers were only added                                // As half-precision floating-point numbers were only added             
                // to IEEE 754 in 2008, today's programming platforms often                                // to IEEE 754 in 2008, today's programming platforms often             
                // still only have limited support for them. It is very                                    // still only have limited support for them. It is very                 
                // easy to include at least decoding support for them even                                 // easy to include at least decoding support for them even              
                // without such support. An example of a small decoder for                                 // without such support. An example of a small decoder for              
                // half-precision floating-point numbers in the C language                                 // half-precision floating-point numbers in the C language              
                // is shown in Fig. 3.                                                                     // is shown in Fig. 3.                                                  
                const auto half = static_cast<unsigned int>((byte1 << 8u) + byte2);                        const auto half = static_cast<unsigned int>((byte2 << 8u) + byte1);     
                const double val = [&half]                                                                 const double val = [&half]                                              
                {                                                                                          {                                                                       
                    const int exp = (half >> 10u) & 0x1Fu;                                                     const int exp = (half >> 10u) & 0x1Fu;                              
                    const unsigned int mant = half & 0x3FFu;                                                   const unsigned int mant = half & 0x3FFu;                            
                    JSON_ASSERT(0 <= exp&& exp <= 32);                                                         JSON_ASSERT(0 <= exp&& exp <= 32);                                  
                    JSON_ASSERT(mant <= 1024);                                                                 JSON_ASSERT(mant <= 1024);                                          
                    switch (exp)                                                                               switch (exp)                                                        
                    {                                                                                          {                                                                   
                        case 0:                                                                                    case 0:                                                         
                            return std::ldexp(mant, -24);                                                              return std::ldexp(mant, -24);                               
                        case 31:                                                                                   case 31:                                                        
                            return (mant == 0)                                                                         return (mant == 0)                                          
                            ? std::numeric_limits<double>::infinity()                                                  ? std::numeric_limits<double>::infinity()                   
                            : std::numeric_limits<double>::quiet_NaN();                                                : std::numeric_limits<double>::quiet_NaN();                 
                        default:                                                                                   default:                                                        
                            return std::ldexp(mant + 1024, exp - 25);                                                  return std::ldexp(mant + 1024, exp - 25);                   
                    }                                                                                          }                                                                   
                }();                                                                                       }();                                                                    
                return sax->number_float((half & 0x8000u) != 0                                             return sax->number_float((half & 0x8000u) != 0                          
                                         ? static_cast<number_float_t>(-val)                                                        ? static_cast<number_float_t>(-val)            
                                         : static_cast<number_float_t>(val), "");                                                   : static_cast<number_float_t>(val), "");       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/single_include/nlohmann/json.hpp:9299                                              │ json/single_include/nlohmann/json.hpp:10770                                              
                                                                                                                                                                                   
                                                                                                           if (input_format != input_format_t::bjdata)                             
                                                                                                           {                                                                       
                                                                                                               break;                                                              
                                                                                                           }                                                                       
                const auto byte1_raw = get();                                                              const auto byte1_raw = get();                                           
                if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number")))                   if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format, "number")))        
                {                                                                                          {                                                                       
                    return false;                                                                              return false;                                                       
                }                                                                                          }                                                                       
                const auto byte2_raw = get();                                                              const auto byte2_raw = get();                                           
                if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number")))                   if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format, "number")))        
                {                                                                                          {                                                                       
                    return false;                                                                              return false;                                                       
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                const auto byte1 = static_cast<unsigned char>(byte1_raw);                                  const auto byte1 = static_cast<unsigned char>(byte1_raw);               
                const auto byte2 = static_cast<unsigned char>(byte2_raw);                                  const auto byte2 = static_cast<unsigned char>(byte2_raw);               
                                                                                                                                                                                   
                // code from RFC 7049, Appendix D, Figure 3:                                               // code from RFC 7049, Appendix D, Figure 3:                            
                // As half-precision floating-point numbers were only added                                // As half-precision floating-point numbers were only added             
                // to IEEE 754 in 2008, today's programming platforms often                                // to IEEE 754 in 2008, today's programming platforms often             
                // still only have limited support for them. It is very                                    // still only have limited support for them. It is very                 
                // easy to include at least decoding support for them even                                 // easy to include at least decoding support for them even              
                // without such support. An example of a small decoder for                                 // without such support. An example of a small decoder for              
                // half-precision floating-point numbers in the C language                                 // half-precision floating-point numbers in the C language              
                // is shown in Fig. 3.                                                                     // is shown in Fig. 3.                                                  
                const auto half = static_cast<unsigned int>((byte1 << 8u) + byte2);                        const auto half = static_cast<unsigned int>((byte2 << 8u) + byte1);     
                const double val = [&half]                                                                 const double val = [&half]                                              
                {                                                                                          {                                                                       
                    const int exp = (half >> 10u) & 0x1Fu;                                                     const int exp = (half >> 10u) & 0x1Fu;                              
                    const unsigned int mant = half & 0x3FFu;                                                   const unsigned int mant = half & 0x3FFu;                            
                    JSON_ASSERT(0 <= exp&& exp <= 32);                                                         JSON_ASSERT(0 <= exp&& exp <= 32);                                  
                    JSON_ASSERT(mant <= 1024);                                                                 JSON_ASSERT(mant <= 1024);                                          
                    switch (exp)                                                                               switch (exp)                                                        
                    {                                                                                          {                                                                   
                        case 0:                                                                                    case 0:                                                         
                            return std::ldexp(mant, -24);                                                              return std::ldexp(mant, -24);                               
                        case 31:                                                                                   case 31:                                                        
                            return (mant == 0)                                                                         return (mant == 0)                                          
                            ? std::numeric_limits<double>::infinity()                                                  ? std::numeric_limits<double>::infinity()                   
                            : std::numeric_limits<double>::quiet_NaN();                                                : std::numeric_limits<double>::quiet_NaN();                 
                        default:                                                                                   default:                                                        
                            return std::ldexp(mant + 1024, exp - 25);                                                  return std::ldexp(mant + 1024, exp - 25);                   
                    }                                                                                          }                                                                   
                }();                                                                                       }();                                                                    
                return sax->number_float((half & 0x8000u) != 0                                             return sax->number_float((half & 0x8000u) != 0                          
                                         ? static_cast<number_float_t>(-val)                                                        ? static_cast<number_float_t>(-val)            
                                         : static_cast<number_float_t>(val), "");                                                   : static_cast<number_float_t>(val), "");       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bson.cpp:1011                                                       │ json/tests/src/unit-bson.cpp:886                                                         
                                                                                                                                                                                   
                std::vector<int64_t> numbers                                                               std::vector<int64_t> numbers                                            
                {                                                                                          {                                                                       
                    INT64_MAX,                                                                                 INT64_MIN,                                                          
                    1000000000000000000LL,                                                                     -1000000000000000000LL,                                             
                    100000000000000000LL,                                                                      -100000000000000000LL,                                              
                    10000000000000000LL,                                                                       -10000000000000000LL,                                               
                    1000000000000000LL,                                                                        -1000000000000000LL,                                                
                    100000000000000LL,                                                                         -100000000000000LL,                                                 
                    10000000000000LL,                                                                          -10000000000000LL,                                                  
                    1000000000000LL,                                                                           -1000000000000LL,                                                   
                    100000000000LL,                                                                            -100000000000LL,                                                    
                    10000000000LL,                                                                             -10000000000LL,                                                     
                    static_cast<std::int64_t>(INT32_MAX) + 1,                                                  static_cast<std::int64_t>(INT32_MIN) - 1,                           
                };                                                                                         };                                                                      
                                                                                                                                                                                   
                for (auto i : numbers)                                                                     for (auto i : numbers)                                                  
                {                                                                                          {                                                                       
                                                                                                                                                                                   
                    CAPTURE(i)                                                                                 CAPTURE(i)                                                          
                                                                                                                                                                                   
                    json j =                                                                                   json j =                                                            
                    {                                                                                          {                                                                   
                        { "entry", i }                                                                             { "entry", i }                                                  
                    };                                                                                         };                                                                  
                    CHECK(j.at("entry").is_number_integer());                                                  CHECK(j.at("entry").is_number_integer());                           
                                                                                                                                                                                   
                    std::uint64_t iu = *reinterpret_cast<std::uint64_t*>(&i);                                  std::uint64_t iu = *reinterpret_cast<std::uint64_t*>(&i);           
                    std::vector<std::uint8_t> expected_bson =                                                  std::vector<std::uint8_t> expected_bson =                           
                    {                                                                                          {                                                                   
                        0x14u, 0x00u, 0x00u, 0x00u, // size (little endian)                                        0x14u, 0x00u, 0x00u, 0x00u, // size (little endian)             
                        0x12u, /// entry: int64                                                                    0x12u, /// entry: int64                                         
                        'e', 'n', 't', 'r', 'y', '\x00',                                                           'e', 'n', 't', 'r', 'y', '\x00',                                
                        static_cast<std::uint8_t>((iu >> (8u * 0u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 0u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 1u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 1u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 2u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 2u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 3u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 3u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 4u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 4u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 5u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 5u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 6u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 6u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 7u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 7u)) & 0xffu),           
                        0x00u // end marker                                                                        0x00u // end marker                                             
                    };                                                                                         };                                                                  
                                                                                                                                                                                   
                    const auto bson = json::to_bson(j);                                                        const auto bson = json::to_bson(j);                                 
                    CHECK(bson == expected_bson);                                                              CHECK(bson == expected_bson);                                       
                                                                                                                                                                                   
                    auto j_roundtrip = json::from_bson(bson);                                                  auto j_roundtrip = json::from_bson(bson);                           
                                                                                                                                                                                   
                    CHECK(j_roundtrip.at("entry").is_number_integer());                                        CHECK(j_roundtrip.at("entry").is_number_integer());                 
                    CHECK(j_roundtrip == j);                                                                   CHECK(j_roundtrip == j);                                            
                    CHECK(json::from_bson(bson, true, false) == j);                                            CHECK(json::from_bson(bson, true, false) == j);                     
                                                                                                                                                                                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:2472                                                     │ json/tests/src/unit-bson.cpp:1246                                                        
                                                                                                                                                                                   
            CAPTURE(filename)                                                                          CAPTURE(filename)                                                           
                                                                                                                                                                                   
            {                                                                                          {                                                                           
                INFO_WITH_TEMP(filename + ": std::vector<uint8_t>");                                       INFO_WITH_TEMP(filename + ": std::vector<std::uint8_t>");               
                // parse JSON file                                                                         // parse JSON file                                                      
                std::ifstream f_json(filename);                                                            std::ifstream f_json(filename);                                         
                json j1 = json::parse(f_json);                                                             json j1 = json::parse(f_json);                                          
                                                                                                                                                                                   
                // parse UBJSON file                                                                       // parse BSON file                                                      
                auto packed = utils::read_binary_file(filename + ".ubjson");                               auto packed = utils::read_binary_file(filename + ".bson");              
                json j2;                                                                                   json j2;                                                                
                CHECK_NOTHROW(j2 = json::from_ubjson(packed));                                             CHECK_NOTHROW(j2 = json::from_bson(packed));                            
                                                                                                                                                                                   
                // compare parsed JSON values                                                              // compare parsed JSON values                                           
                CHECK(j1 == j2);                                                                           CHECK(j1 == j2);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            {                                                                                          {                                                                           
                INFO_WITH_TEMP(filename + ": std::ifstream");                                              INFO_WITH_TEMP(filename + ": std::ifstream");                           
                // parse JSON file                                                                         // parse JSON file                                                      
                std::ifstream f_json(filename);                                                            std::ifstream f_json(filename);                                         
                json j1 = json::parse(f_json);                                                             json j1 = json::parse(f_json);                                          
                                                                                                                                                                                   
                // parse UBJSON file                                                                       // parse BSON file                                                      
                std::ifstream f_ubjson(filename + ".ubjson", std::ios::binary);                            std::ifstream f_bson(filename + ".bson", std::ios::binary);             
                json j2;                                                                                   json j2;                                                                
                CHECK_NOTHROW(j2 = json::from_ubjson(f_ubjson));                                           CHECK_NOTHROW(j2 = json::from_bson(f_bson));                            
                                                                                                                                                                                   
                // compare parsed JSON values                                                              // compare parsed JSON values                                           
                CHECK(j1 == j2);                                                                           CHECK(j1 == j2);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            {                                                                                          {                                                                           
                INFO_WITH_TEMP(filename + ": uint8_t* and size");                                          INFO_WITH_TEMP(filename + ": uint8_t* and size");                       
                // parse JSON file                                                                         // parse JSON file                                                      
                std::ifstream f_json(filename);                                                            std::ifstream f_json(filename);                                         
                json j1 = json::parse(f_json);                                                             json j1 = json::parse(f_json);                                          
                                                                                                                                                                                   
                // parse UBJSON file                                                                       // parse BSON file                                                      
                auto packed = utils::read_binary_file(filename + ".ubjson");                               auto packed = utils::read_binary_file(filename + ".bson");              
                json j2;                                                                                   json j2;                                                                
                CHECK_NOTHROW(j2 = json::from_ubjson({packed.data(), packed.size()}));                     CHECK_NOTHROW(j2 = json::from_bson({packed.data(), packed.size()}));    
                                                                                                                                                                                   
                // compare parsed JSON values                                                              // compare parsed JSON values                                           
                CHECK(j1 == j2);                                                                           CHECK(j1 == j2);                                                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            {                                                                                          {                                                                           
                INFO_WITH_TEMP(filename + ": output to output adapters");                                  INFO_WITH_TEMP(filename + ": output to output adapters");               
                // parse JSON file                                                                         // parse JSON file                                                      
                std::ifstream f_json(filename);                                                            std::ifstream f_json(filename);                                         
                json j1 = json::parse(f_json);                                                             json j1 = json::parse(f_json);                                          
                                                                                                                                                                                   
                // parse UBJSON file                                                                       // parse BSON file                                                      
                auto packed = utils::read_binary_file(filename + ".ubjson");                               auto packed = utils::read_binary_file(filename + ".bson");              
                                                                                                                                                                                   
                {                                                                                          {                                                                       
                    INFO_WITH_TEMP(filename + ": output adapters: std::vector<uint8_t>")                       INFO_WITH_TEMP(filename + ": output adapters: std::vector<std::uint8
                    std::vector<uint8_t> vec;                                                                  std::vector<std::uint8_t> vec;                                      
                    json::to_ubjson(j1, vec);                                                                  json::to_bson(j1, vec);                                             
                    CHECK(vec == packed);                                                                                                                                          
                                                                                                               if (vec != packed)                                                  
                                                                                                               {                                                                   
                                                                                                                   // the exact serializations may differ due to the order of      
                                                                                                                   // object keys; in these cases, just compare whether both       
                                                                                                                   // serializations create the same JSON value                    
                                                                                                                   CHECK(json::from_bson(vec) == json::from_bson(packed));         
                                                                                                               }                                                                   
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/include/nlohmann/json.hpp:2401                                                     │ json/include/nlohmann/json.hpp:2471                                                      
                                                                                                                                                                                   
        // make sure iterator fits the current value                                               // make sure iterator fits the current value                                    
        if (JSON_HEDLEY_UNLIKELY(this != pos.m_object))                                            if (JSON_HEDLEY_UNLIKELY(this != first.m_object || this != last.m_object))      
        {                                                                                          {                                                                               
            JSON_THROW(invalid_iterator::create(202, "iterator does not fit current valu               JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        IteratorType result = end();                                                               IteratorType result = end();                                                    
                                                                                                                                                                                   
        switch (m_type)                                                                            switch (m_type)                                                                 
        {                                                                                          {                                                                               
            case value_t::boolean:                                                                     case value_t::boolean:                                                      
            case value_t::number_float:                                                                case value_t::number_float:                                                 
            case value_t::number_integer:                                                              case value_t::number_integer:                                               
            case value_t::number_unsigned:                                                             case value_t::number_unsigned:                                              
            case value_t::string:                                                                      case value_t::string:                                                       
            case value_t::binary:                                                                      case value_t::binary:                                                       
            {                                                                                          {                                                                           
                if (JSON_HEDLEY_UNLIKELY(!pos.m_it.primitive_iterator.is_begin()))                         if (JSON_HEDLEY_LIKELY(!first.m_it.primitive_iterator.is_begin()        
                                                                                                                                  || !last.m_it.primitive_iterator.is_end()))      
                {                                                                                          {                                                                       
                    JSON_THROW(invalid_iterator::create(205, "iterator out of range", th                       JSON_THROW(invalid_iterator::create(204, "iterators out of range", t
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                if (is_string())                                                                           if (is_string())                                                        
                {                                                                                          {                                                                       
                    AllocatorType<string_t> alloc;                                                             AllocatorType<string_t> alloc;                                      
                    std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.strin                       std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.strin
                    std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.st                       std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.st
                    m_value.string = nullptr;                                                                  m_value.string = nullptr;                                           
                }                                                                                          }                                                                       
                else if (is_binary())                                                                      else if (is_binary())                                                   
                {                                                                                          {                                                                       
                    AllocatorType<binary_t> alloc;                                                             AllocatorType<binary_t> alloc;                                      
                    std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binar                       std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binar
                    std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.bi                       std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.bi
                    m_value.binary = nullptr;                                                                  m_value.binary = nullptr;                                           
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                m_type = value_t::null;                                                                    m_type = value_t::null;                                                 
                assert_invariant();                                                                        assert_invariant();                                                     
                break;                                                                                     break;                                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            case value_t::object:                                                                      case value_t::object:                                                       
            {                                                                                          {                                                                           
                result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iter                   result.m_it.object_iterator = m_value.object->erase(first.m_it.object_it
                                                                                                                                         last.m_it.object_iterator);               
                break;                                                                                     break;                                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            case value_t::array:                                                                       case value_t::array:                                                        
            {                                                                                          {                                                                           
                result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterato                   result.m_it.array_iterator = m_value.array->erase(first.m_it.array_itera
                                                                                                                                        last.m_it.array_iterator);                 
                break;                                                                                     break;                                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            case value_t::null:                                                                        case value_t::null:                                                         
            case value_t::discarded:                                                                   case value_t::discarded:                                                    
            default:                                                                                   default:                                                                    
                JSON_THROW(type_error::create(307, detail::concat("cannot use erase() wi                   JSON_THROW(type_error::create(307, detail::concat("cannot use erase() wi
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        return result;                                                                             return result;                                                                  
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/single_include/nlohmann/json.hpp:20485                                             │ json/single_include/nlohmann/json.hpp:20555                                              
                                                                                                                                                                                   
        // make sure iterator fits the current value                                               // make sure iterator fits the current value                                    
        if (JSON_HEDLEY_UNLIKELY(this != pos.m_object))                                            if (JSON_HEDLEY_UNLIKELY(this != first.m_object || this != last.m_object))      
        {                                                                                          {                                                                               
            JSON_THROW(invalid_iterator::create(202, "iterator does not fit current valu               JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        IteratorType result = end();                                                               IteratorType result = end();                                                    
                                                                                                                                                                                   
        switch (m_type)                                                                            switch (m_type)                                                                 
        {                                                                                          {                                                                               
            case value_t::boolean:                                                                     case value_t::boolean:                                                      
            case value_t::number_float:                                                                case value_t::number_float:                                                 
            case value_t::number_integer:                                                              case value_t::number_integer:                                               
            case value_t::number_unsigned:                                                             case value_t::number_unsigned:                                              
            case value_t::string:                                                                      case value_t::string:                                                       
            case value_t::binary:                                                                      case value_t::binary:                                                       
            {                                                                                          {                                                                           
                if (JSON_HEDLEY_UNLIKELY(!pos.m_it.primitive_iterator.is_begin()))                         if (JSON_HEDLEY_LIKELY(!first.m_it.primitive_iterator.is_begin()        
                                                                                                                                  || !last.m_it.primitive_iterator.is_end()))      
                {                                                                                          {                                                                       
                    JSON_THROW(invalid_iterator::create(205, "iterator out of range", th                       JSON_THROW(invalid_iterator::create(204, "iterators out of range", t
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                if (is_string())                                                                           if (is_string())                                                        
                {                                                                                          {                                                                       
                    AllocatorType<string_t> alloc;                                                             AllocatorType<string_t> alloc;                                      
                    std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.strin                       std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.strin
                    std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.st                       std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.st
                    m_value.string = nullptr;                                                                  m_value.string = nullptr;                                           
                }                                                                                          }                                                                       
                else if (is_binary())                                                                      else if (is_binary())                                                   
                {                                                                                          {                                                                       
                    AllocatorType<binary_t> alloc;                                                             AllocatorType<binary_t> alloc;                                      
                    std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binar                       std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binar
                    std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.bi                       std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.bi
                    m_value.binary = nullptr;                                                                  m_value.binary = nullptr;                                           
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                m_type = value_t::null;                                                                    m_type = value_t::null;                                                 
                assert_invariant();                                                                        assert_invariant();                                                     
                break;                                                                                     break;                                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            case value_t::object:                                                                      case value_t::object:                                                       
            {                                                                                          {                                                                           
                result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iter                   result.m_it.object_iterator = m_value.object->erase(first.m_it.object_it
                                                                                                                                         last.m_it.object_iterator);               
                break;                                                                                     break;                                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            case value_t::array:                                                                       case value_t::array:                                                        
            {                                                                                          {                                                                           
                result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterato                   result.m_it.array_iterator = m_value.array->erase(first.m_it.array_itera
                                                                                                                                        last.m_it.array_iterator);                 
                break;                                                                                     break;                                                                  
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            case value_t::null:                                                                        case value_t::null:                                                         
            case value_t::discarded:                                                                   case value_t::discarded:                                                    
            default:                                                                                   default:                                                                    
                JSON_THROW(type_error::create(307, detail::concat("cannot use erase() wi                   JSON_THROW(type_error::create(307, detail::concat("cannot use erase() wi
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        return result;                                                                             return result;                                                                  
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-class_iterator.cpp:134                                              │ json/tests/src/unit-class_const_iterator.cpp:144                                         
                                                                                                                                                                                   
        SECTION("operator*")                                                                       SECTION("operator*")                                                            
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j(json::value_t::null);                                                               json j(json::value_t::null);                                            
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK_THROWS_WITH_AS(*it, "[json.exception.invalid_iterator.214] cannot                    CHECK_THROWS_WITH_AS(*it, "[json.exception.invalid_iterator.214] cannot 
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number")                                                                          SECTION("number")                                                           
            {                                                                                          {                                                                           
                json j(17);                                                                                json j(17);                                                             
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK(*it == json(17));                                                                    CHECK(*it == json(17));                                                 
                it = j.end();                                                                              it = j.cend();                                                          
                CHECK_THROWS_WITH_AS(*it, "[json.exception.invalid_iterator.214] cannot                    CHECK_THROWS_WITH_AS(*it, "[json.exception.invalid_iterator.214] cannot 
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j({{"foo", "bar"}});                                                                  json j({{"foo", "bar"}});                                               
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK(*it == json("bar"));                                                                 CHECK(*it == json("bar"));                                              
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                json j({1, 2, 3, 4});                                                                      json j({1, 2, 3, 4});                                                   
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK(*it == json(1));                                                                     CHECK(*it == json(1));                                                  
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("operator->")                                                                      SECTION("operator->")                                                           
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j(json::value_t::null);                                                               json j(json::value_t::null);                                            
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK_THROWS_WITH_AS(std::string(it->type_name()), "[json.exception.inva                   CHECK_THROWS_WITH_AS(std::string(it->type_name()), "[json.exception.inva
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("number")                                                                          SECTION("number")                                                           
            {                                                                                          {                                                                           
                json j(17);                                                                                json j(17);                                                             
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK(std::string(it->type_name()) == "number");                                           CHECK(std::string(it->type_name()) == "number");                        
                it = j.end();                                                                              it = j.cend();                                                          
                CHECK_THROWS_WITH_AS(std::string(it->type_name()), "[json.exception.inva                   CHECK_THROWS_WITH_AS(std::string(it->type_name()), "[json.exception.inva
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j({{"foo", "bar"}});                                                                  json j({{"foo", "bar"}});                                               
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK(std::string(it->type_name()) == "string");                                           CHECK(std::string(it->type_name()) == "string");                        
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                json j({1, 2, 3, 4});                                                                      json j({1, 2, 3, 4});                                                   
                json::iterator it = j.begin();                                                             json::const_iterator it = j.cbegin();                                   
                CHECK(std::string(it->type_name()) == "number");                                           CHECK(std::string(it->type_name()) == "number");                        
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/input/input_adapters.hpp:184                               │ json/include/nlohmann/detail/input/input_adapters.hpp:242                                
                                                                                                                                                                                   
            // get the current character                                                               // get the current character                                                
            const auto wc = input.get_character();                                                     const auto wc = input.get_character();                                      
                                                                                                                                                                                   
            // UTF-32 to UTF-8 encoding                                                                // UTF-16 to UTF-8 encoding                                                 
            if (wc < 0x80)                                                                             if (wc < 0x80)                                                              
            {                                                                                          {                                                                           
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);                         utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);      
                utf8_bytes_filled = 1;                                                                     utf8_bytes_filled = 1;                                                  
            }                                                                                          }                                                                           
            else if (wc <= 0x7FF)                                                                      else if (wc <= 0x7FF)                                                       
            {                                                                                          {                                                                           
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((                   utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((
                utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (s                   utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (s
                utf8_bytes_filled = 2;                                                                     utf8_bytes_filled = 2;                                                  
            }                                                                                          }                                                                           
            else if (wc <= 0xFFFF)                                                                     else if (0xD800 > wc || wc >= 0xE000)                                       
            {                                                                                          {                                                                           
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((                   utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((
                utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((                   utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((
                utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (s                   utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (s
                utf8_bytes_filled = 3;                                                                     utf8_bytes_filled = 3;                                                  
            }                                                                                          }                                                                           
            else if (wc <= 0x10FFFF)                                                                                                                                               
            {                                                                                                                                                                      
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | ((                                                                                           
                utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((                                                                                           
                utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((                                                                                           
                utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (s                                                                                           
                utf8_bytes_filled = 4;                                                                                                                                             
            }                                                                                                                                                                      
            else                                                                                       else                                                                        
            {                                                                                          {                                                                           
                // unknown character                                                                       if (JSON_HEDLEY_UNLIKELY(!input.empty()))                               
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);                         {                                                                       
                utf8_bytes_filled = 1;                                                                         const auto wc2 = static_cast<unsigned int>(input.get_character());  
                                                                                                               const auto charcode = 0x10000u + (((static_cast<unsigned int>(wc) & 
                                                                                                               utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u 
                                                                                                               utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u 
                                                                                                               utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u 
                                                                                                               utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u 
                                                                                                               utf8_bytes_filled = 4;                                              
                                                                                                           }                                                                       
                                                                                                           else                                                                    
                                                                                                           {                                                                       
                                                                                                               utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);  
                                                                                                               utf8_bytes_filled = 1;                                              
                                                                                                           }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/single_include/nlohmann/json.hpp:5693                                              │ json/single_include/nlohmann/json.hpp:5751                                               
                                                                                                                                                                                   
            // get the current character                                                               // get the current character                                                
            const auto wc = input.get_character();                                                     const auto wc = input.get_character();                                      
                                                                                                                                                                                   
            // UTF-32 to UTF-8 encoding                                                                // UTF-16 to UTF-8 encoding                                                 
            if (wc < 0x80)                                                                             if (wc < 0x80)                                                              
            {                                                                                          {                                                                           
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);                         utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);      
                utf8_bytes_filled = 1;                                                                     utf8_bytes_filled = 1;                                                  
            }                                                                                          }                                                                           
            else if (wc <= 0x7FF)                                                                      else if (wc <= 0x7FF)                                                       
            {                                                                                          {                                                                           
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((                   utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((
                utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (s                   utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (s
                utf8_bytes_filled = 2;                                                                     utf8_bytes_filled = 2;                                                  
            }                                                                                          }                                                                           
            else if (wc <= 0xFFFF)                                                                     else if (0xD800 > wc || wc >= 0xE000)                                       
            {                                                                                          {                                                                           
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((                   utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((
                utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((                   utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((
                utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (s                   utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (s
                utf8_bytes_filled = 3;                                                                     utf8_bytes_filled = 3;                                                  
            }                                                                                          }                                                                           
            else if (wc <= 0x10FFFF)                                                                                                                                               
            {                                                                                                                                                                      
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | ((                                                                                           
                utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((                                                                                           
                utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((                                                                                           
                utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (s                                                                                           
                utf8_bytes_filled = 4;                                                                                                                                             
            }                                                                                                                                                                      
            else                                                                                       else                                                                        
            {                                                                                          {                                                                           
                // unknown character                                                                       if (JSON_HEDLEY_UNLIKELY(!input.empty()))                               
                utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);                         {                                                                       
                utf8_bytes_filled = 1;                                                                         const auto wc2 = static_cast<unsigned int>(input.get_character());  
                                                                                                               const auto charcode = 0x10000u + (((static_cast<unsigned int>(wc) & 
                                                                                                               utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u 
                                                                                                               utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u 
                                                                                                               utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u 
                                                                                                               utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u 
                                                                                                               utf8_bytes_filled = 4;                                              
                                                                                                           }                                                                       
                                                                                                           else                                                                    
                                                                                                           {                                                                       
                                                                                                               utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);  
                                                                                                               utf8_bytes_filled = 1;                                              
                                                                                                           }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:306                                                     │ json/tests/src/unit-msgpack.cpp:482                                                      
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          std::vector<int32_t> numbers;                                       
                            {                                                                                  numbers.push_back(-32769);                                          
                                65536u, 77777u, 1048576u, 4294967295u                                          numbers.push_back(-65536);                                          
                            })                                                                                 numbers.push_back(-77777);                                          
                                                                                                               numbers.push_back(-1048576);                                        
                                                                                                               numbers.push_back(-2147483648LL);                                   
                                                                                                               for (auto i : numbers)                                              
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xce);                                                                  expected.push_back(0xd2);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xce);                                                                  CHECK(result[0] == 0xd2);                                       
                        uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) + 
                                            (static_cast<uint32_t>(result[2]) << 020) +                                                (static_cast<uint32_t>(result[2]) << 020) + 
                                            (static_cast<uint32_t>(result[3]) << 010) +                                                (static_cast<uint32_t>(result[3]) << 010) + 
                                            static_cast<uint32_t>(result[4]);                                                          static_cast<uint32_t>(result[4]);           
                        CHECK(restored == i);                                                                      CHECK(static_cast<std::int32_t>(restored) == i);                
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:549                                                      │ json/tests/src/unit-bjdata.cpp:234                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          std::vector<int32_t> numbers;                                       
                            {                                                                                  numbers.push_back(-32769);                                          
                                2147483648u, 3333333333u, 4294967295u                                          numbers.push_back(-100000);                                         
                            })                                                                                 numbers.push_back(-1000000);                                        
                                                                                                               numbers.push_back(-10000000);                                       
                                                                                                               numbers.push_back(-100000000);                                      
                                                                                                               numbers.push_back(-1000000000);                                     
                                                                                                               numbers.push_back(-2147483647 - 1); // https://stackoverflow.com/a/2
                                                                                                               for (auto i : numbers)                                              
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('m');                                                                   expected.push_back(static_cast<uint8_t>('l'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'm');                                                                   CHECK(result[0] == 'l');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            int32_t restored = (static_cast<int32_t>(result[4]) << 030) +   
                                            (static_cast<uint32_t>(result[3]) << 020) +                                               (static_cast<int32_t>(result[3]) << 020) +   
                                            (static_cast<uint32_t>(result[2]) << 010) +                                               (static_cast<int32_t>(result[2]) << 010) +   
                                            static_cast<uint32_t>(result[1]);                                                         static_cast<int32_t>(result[1]);             
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:506                                                      │ json/tests/src/unit-bjdata.cpp:234                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          std::vector<int32_t> numbers;                                       
                            {                                                                                  numbers.push_back(-32769);                                          
                                65536u, 77777u, 2147483647u                                                    numbers.push_back(-100000);                                         
                            })                                                                                 numbers.push_back(-1000000);                                        
                                                                                                               numbers.push_back(-10000000);                                       
                                                                                                               numbers.push_back(-100000000);                                      
                                                                                                               numbers.push_back(-1000000000);                                     
                                                                                                               numbers.push_back(-2147483647 - 1); // https://stackoverflow.com/a/2
                                                                                                               for (auto i : numbers)                                              
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('l');                                                                   expected.push_back(static_cast<uint8_t>('l'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'l');                                                                   CHECK(result[0] == 'l');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            int32_t restored = (static_cast<int32_t>(result[4]) << 030) +   
                                            (static_cast<uint32_t>(result[3]) << 020) +                                               (static_cast<int32_t>(result[3]) << 020) +   
                                            (static_cast<uint32_t>(result[2]) << 010) +                                               (static_cast<int32_t>(result[2]) << 010) +   
                                            static_cast<uint32_t>(result[1]);                                                         static_cast<int32_t>(result[1]);             
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:506                                                      │ json/tests/src/unit-bjdata.cpp:549                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                65536u, 77777u, 2147483647u                                                                2147483648u, 3333333333u, 4294967295u                   
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('l');                                                                   expected.push_back('m');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'l');                                                                   CHECK(result[0] == 'm');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                            (static_cast<uint32_t>(result[3]) << 020) +                                                (static_cast<uint32_t>(result[3]) << 020) + 
                                            (static_cast<uint32_t>(result[2]) << 010) +                                                (static_cast<uint32_t>(result[2]) << 010) + 
                                            static_cast<uint32_t>(result[1]);                                                          static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:468                                                      │ json/tests/src/unit-ubjson.cpp:234                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          std::vector<int32_t> numbers;                                       
                            {                                                                                  numbers.push_back(-32769);                                          
                                65536u, 77777u, 1048576u                                                       numbers.push_back(-100000);                                         
                            })                                                                                 numbers.push_back(-1000000);                                        
                                                                                                               numbers.push_back(-10000000);                                       
                                                                                                               numbers.push_back(-100000000);                                      
                                                                                                               numbers.push_back(-1000000000);                                     
                                                                                                               numbers.push_back(-2147483647 - 1); // https://stackoverflow.com/a/2
                                                                                                               for (auto i : numbers)                                              
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('l');                                                                   expected.push_back(static_cast<uint8_t>('l'));                  
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'l');                                                                   CHECK(result[0] == 'l');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) +                            int32_t restored = (static_cast<int32_t>(result[1]) << 030) +   
                                            (static_cast<uint32_t>(result[2]) << 020) +                                               (static_cast<int32_t>(result[2]) << 020) +   
                                            (static_cast<uint32_t>(result[3]) << 010) +                                               (static_cast<int32_t>(result[3]) << 010) +   
                                            static_cast<uint32_t>(result[4]);                                                         static_cast<int32_t>(result[4]);             
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:2517                                                     │ json/tests/src/unit-bjdata.cpp:2492                                                      
                                                                                                                                                                                   
                json _;                                                                                    json _;                                                                 
                std::vector<uint8_t> v_N = {'[', '$', 'N', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_N = {'[', '$', 'N', '#', '[', '#', 'i', 2, 'i', 1
                std::vector<uint8_t> v_T = {'[', '$', 'T', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_T = {'[', '$', 'T', '#', '[', '#', 'i', 2, 'i', 1
                std::vector<uint8_t> v_F = {'[', '$', 'F', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_F = {'[', '$', 'F', '#', '[', '#', 'i', 2, 'i', 1
                std::vector<uint8_t> v_Z = {'[', '$', 'Z', '#', '[', 'i', 1, 'i', 2, ']'                   std::vector<uint8_t> v_Z = {'[', '$', 'Z', '#', '[', '#', 'i', 2, 'i', 1
                                                                                                                                                                                   
                CHECK_THROWS_AS(_ = json::from_bjdata(v_N), json::parse_error&);                           CHECK_THROWS_AS(_ = json::from_bjdata(v_N), json::parse_error&);        
                CHECK_THROWS_WITH(_ = json::from_bjdata(v_N), "[json.exception.parse_err                   CHECK_THROWS_WITH(_ = json::from_bjdata(v_N), "[json.exception.parse_err
                CHECK(json::from_bjdata(v_N, true, false).is_discarded());                                 CHECK(json::from_bjdata(v_N, true, false).is_discarded());              
                                                                                                                                                                                   
                CHECK_THROWS_AS(_ = json::from_bjdata(v_T), json::parse_error&);                           CHECK_THROWS_AS(_ = json::from_bjdata(v_T), json::parse_error&);        
                CHECK_THROWS_WITH(_ = json::from_bjdata(v_T), "[json.exception.parse_err                   CHECK_THROWS_WITH(_ = json::from_bjdata(v_T), "[json.exception.parse_err
                CHECK(json::from_bjdata(v_T, true, false).is_discarded());                                 CHECK(json::from_bjdata(v_T, true, false).is_discarded());              
                                                                                                                                                                                   
                CHECK_THROWS_AS(_ = json::from_bjdata(v_F), json::parse_error&);                           CHECK_THROWS_AS(_ = json::from_bjdata(v_F), json::parse_error&);        
                CHECK_THROWS_WITH(_ = json::from_bjdata(v_F), "[json.exception.parse_err                   CHECK_THROWS_WITH(_ = json::from_bjdata(v_F), "[json.exception.parse_err
                CHECK(json::from_bjdata(v_F, true, false).is_discarded());                                 CHECK(json::from_bjdata(v_F, true, false).is_discarded());              
                                                                                                                                                                                   
                CHECK_THROWS_AS(_ = json::from_bjdata(v_Z), json::parse_error&);                           CHECK_THROWS_AS(_ = json::from_bjdata(v_Z), json::parse_error&);        
                CHECK_THROWS_WITH(_ = json::from_bjdata(v_Z), "[json.exception.parse_err                   CHECK_THROWS_WITH(_ = json::from_bjdata(v_Z), "[json.exception.parse_err
                CHECK(json::from_bjdata(v_Z, true, false).is_discarded());                                 CHECK(json::from_bjdata(v_Z, true, false).is_discarded());              
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1360                                                     │ json/tests/src/unit-ubjson.cpp:1406                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j(257, nullptr);                                                                      json j(65793, nullptr);                                             
                    std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null                              std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null       
                    expected[0] = '['; // opening array                                                        expected[0] = '['; // opening array                                 
                    expected[258] = ']'; // closing array                                                      expected[65794] = ']'; // closing array                             
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j(257, nullptr);                                                                      json j(65793, nullptr);                                             
                    std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null                              std::vector<uint8_t> expected(j.size() + 7, 'Z'); // all null       
                    expected[0] = '['; // opening array                                                        expected[0] = '['; // opening array                                 
                    expected[1] = '#'; // array size                                                           expected[1] = '#'; // array size                                    
                    expected[2] = 'I'; // int16                                                                expected[2] = 'l'; // int32                                         
                    expected[3] = 0x01; // 0x0101, first byte                                                  expected[3] = 0x00; // 0x00010101, first byte                       
                    expected[4] = 0x01; // 0x0101, second byte                                                 expected[4] = 0x01; // 0x00010101, second byte                      
                                                                                                               expected[5] = 0x01; // 0x00010101, third byte                       
                                                                                                               expected[6] = 0x01; // 0x00010101, fourth byte                      
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j(257, nullptr);                                                                      json j(65793, nullptr);                                             
                    std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'I', 0x01, 0x01                       std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'l', 0x00, 0x01
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:677                                                     │ json/tests/src/unit-msgpack.cpp:482                                                      
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          std::vector<int32_t> numbers;                                       
                            {                                                                                  numbers.push_back(-32769);                                          
                                65536u, 77777u, 1048576u, 4294967295u                                          numbers.push_back(-65536);                                          
                            })                                                                                 numbers.push_back(-77777);                                          
                                                                                                               numbers.push_back(-1048576);                                        
                                                                                                               numbers.push_back(-2147483648LL);                                   
                                                                                                               for (auto i : numbers)                                              
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xce);                                                                  expected.push_back(0xd2);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xce);                                                                  CHECK(result[0] == 0xd2);                                       
                        uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) + 
                                            (static_cast<uint32_t>(result[2]) << 020) +                                                (static_cast<uint32_t>(result[2]) << 020) + 
                                            (static_cast<uint32_t>(result[3]) << 010) +                                                (static_cast<uint32_t>(result[3]) << 010) + 
                                            static_cast<uint32_t>(result[4]);                                                          static_cast<uint32_t>(result[4]);           
                        CHECK(restored == i);                                                                      CHECK(static_cast<std::int32_t>(restored) == i);                
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:677                                                     │ json/tests/src/unit-msgpack.cpp:306                                                      
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                65536u, 77777u, 1048576u, 4294967295u                                                      65536u, 77777u, 1048576u, 4294967295u                   
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xce);                                                                  expected.push_back(0xce);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xce);                                                                  CHECK(result[0] == 0xce);                                       
                        uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) + 
                                            (static_cast<uint32_t>(result[2]) << 020) +                                                (static_cast<uint32_t>(result[2]) << 020) + 
                                            (static_cast<uint32_t>(result[3]) << 010) +                                                (static_cast<uint32_t>(result[3]) << 010) + 
                                            static_cast<uint32_t>(result[4]);                                                          static_cast<uint32_t>(result[4]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:870                                                      │ json/tests/src/unit-bjdata.cpp:234                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          std::vector<int32_t> numbers;                                       
                            {                                                                                  numbers.push_back(-32769);                                          
                                2147483648u, 3333333333u, 4294967295u                                          numbers.push_back(-100000);                                         
                            })                                                                                 numbers.push_back(-1000000);                                        
                                                                                                               numbers.push_back(-10000000);                                       
                                                                                                               numbers.push_back(-100000000);                                      
                                                                                                               numbers.push_back(-1000000000);                                     
                                                                                                               numbers.push_back(-2147483647 - 1); // https://stackoverflow.com/a/2
                                                                                                               for (auto i : numbers)                                              
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('m');                                                                   expected.push_back(static_cast<uint8_t>('l'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'm');                                                                   CHECK(result[0] == 'l');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            int32_t restored = (static_cast<int32_t>(result[4]) << 030) +   
                                            (static_cast<uint32_t>(result[3]) << 020) +                                               (static_cast<int32_t>(result[3]) << 020) +   
                                            (static_cast<uint32_t>(result[2]) << 010) +                                               (static_cast<int32_t>(result[2]) << 010) +   
                                            static_cast<uint32_t>(result[1]);                                                         static_cast<int32_t>(result[1]);             
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:870                                                      │ json/tests/src/unit-bjdata.cpp:549                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                2147483648u, 3333333333u, 4294967295u                                                      2147483648u, 3333333333u, 4294967295u                   
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('m');                                                                   expected.push_back('m');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'm');                                                                   CHECK(result[0] == 'm');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                            (static_cast<uint32_t>(result[3]) << 020) +                                                (static_cast<uint32_t>(result[3]) << 020) + 
                                            (static_cast<uint32_t>(result[2]) << 010) +                                                (static_cast<uint32_t>(result[2]) << 010) + 
                                            static_cast<uint32_t>(result[1]);                                                          static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:870                                                      │ json/tests/src/unit-bjdata.cpp:506                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                2147483648u, 3333333333u, 4294967295u                                                      65536u, 77777u, 2147483647u                             
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('m');                                                                   expected.push_back('l');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'm');                                                                   CHECK(result[0] == 'l');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                            (static_cast<uint32_t>(result[3]) << 020) +                                                (static_cast<uint32_t>(result[3]) << 020) + 
                                            (static_cast<uint32_t>(result[2]) << 010) +                                                (static_cast<uint32_t>(result[2]) << 010) + 
                                            static_cast<uint32_t>(result[1]);                                                          static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:157                                            │ json/tests/src/unit-reference_access.cpp:53                                              
                                                                                                                                                                                   
        using test_type = json::boolean_t;                                                         using test_type = json::object_t;                                               
        json value = false;                                                                        json value = {{"one", 1}, {"two", 2}};                                          
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_NOTHROW(value.get_ref<json::object_t&>());                                
                             "[json.exception.type_error.303] incompatible ReferenceType                                                                                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::boolean_t&>());                                          CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                             CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:187                                            │ json/tests/src/unit-reference_access.cpp:53                                              
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = json::object_t;                                               
        json value = -23;                                                                          json value = {{"one", 1}, {"two", 2}};                                          
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_NOTHROW(value.get_ref<json::object_t&>());                                
                             "[json.exception.type_error.303] incompatible ReferenceType                                                                                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::number_integer_t&>());                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:187                                            │ json/tests/src/unit-reference_access.cpp:157                                             
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = json::boolean_t;                                              
        json value = -23;                                                                          json value = false;                                                             
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_NOTHROW(value.get_ref<json::boolean_t&>());                               
                             "[json.exception.type_error.303] incompatible ReferenceType           CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
        CHECK_NOTHROW(value.get_ref<json::number_integer_t&>());                                                        "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:127                                            │ json/tests/src/unit-reference_access.cpp:53                                              
                                                                                                                                                                                   
        using test_type = json::string_t;                                                          using test_type = json::object_t;                                               
        json value = "hello";                                                                      json value = {{"one", 1}, {"two", 2}};                                          
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_NOTHROW(value.get_ref<json::object_t&>());                                
                             "[json.exception.type_error.303] incompatible ReferenceType                                                                                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::string_t&>());                                           CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                             CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:127                                            │ json/tests/src/unit-reference_access.cpp:157                                             
                                                                                                                                                                                   
        using test_type = json::string_t;                                                          using test_type = json::boolean_t;                                              
        json value = "hello";                                                                      json value = false;                                                             
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::string_t&>());                                           CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                                         "[json.exception.type_error.303] incompatible ReferenceType
                             "[json.exception.type_error.303] incompatible ReferenceType           CHECK_NOTHROW(value.get_ref<json::boolean_t&>());                               
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                             CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:127                                            │ json/tests/src/unit-reference_access.cpp:187                                             
                                                                                                                                                                                   
        using test_type = json::string_t;                                                          using test_type = json::number_integer_t;                                       
        json value = "hello";                                                                      json value = -23;                                                               
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::string_t&>());                                           CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                             CHECK_NOTHROW(value.get_ref<json::number_integer_t&>());                        
                             "[json.exception.type_error.303] incompatible ReferenceType                                                                                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:97                                             │ json/tests/src/unit-reference_access.cpp:53                                              
                                                                                                                                                                                   
        using test_type = json::array_t;                                                           using test_type = json::object_t;                                               
        json value = {1, 2, 3, 4};                                                                 json value = {{"one", 1}, {"two", 2}};                                          
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_NOTHROW(value.get_ref<json::object_t&>());                                
                             "[json.exception.type_error.303] incompatible ReferenceType           CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
        CHECK_NOTHROW(value.get_ref<json::array_t&>());                                                                 "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                             CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:97                                             │ json/tests/src/unit-reference_access.cpp:157                                             
                                                                                                                                                                                   
        using test_type = json::array_t;                                                           using test_type = json::boolean_t;                                              
        json value = {1, 2, 3, 4};                                                                 json value = false;                                                             
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::array_t&>());                                            CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_NOTHROW(value.get_ref<json::boolean_t&>());                               
                             "[json.exception.type_error.303] incompatible ReferenceType                                                                                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                             CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:97                                             │ json/tests/src/unit-reference_access.cpp:187                                             
                                                                                                                                                                                   
        using test_type = json::array_t;                                                           using test_type = json::number_integer_t;                                       
        json value = {1, 2, 3, 4};                                                                 json value = -23;                                                               
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::array_t&>());                                            CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                             CHECK_NOTHROW(value.get_ref<json::number_integer_t&>());                        
                             "[json.exception.type_error.303] incompatible ReferenceType                                                                                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:97                                             │ json/tests/src/unit-reference_access.cpp:127                                             
                                                                                                                                                                                   
        using test_type = json::array_t;                                                           using test_type = json::string_t;                                               
        json value = {1, 2, 3, 4};                                                                 json value = "hello";                                                           
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::array_t&>());                                            CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                                          "[json.exception.type_error.303] incompatible ReferenceType
                             "[json.exception.type_error.303] incompatible ReferenceType           CHECK_NOTHROW(value.get_ref<json::string_t&>());                                
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                             CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                            CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                               CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:828                                                      │ json/tests/src/unit-bjdata.cpp:234                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          std::vector<int32_t> numbers;                                       
                            {                                                                                  numbers.push_back(-32769);                                          
                                65536u, 77777u, 2147483647u                                                    numbers.push_back(-100000);                                         
                            })                                                                                 numbers.push_back(-1000000);                                        
                                                                                                               numbers.push_back(-10000000);                                       
                                                                                                               numbers.push_back(-100000000);                                      
                                                                                                               numbers.push_back(-1000000000);                                     
                                                                                                               numbers.push_back(-2147483647 - 1); // https://stackoverflow.com/a/2
                                                                                                               for (auto i : numbers)                                              
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('l');                                                                   expected.push_back(static_cast<uint8_t>('l'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'l');                                                                   CHECK(result[0] == 'l');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            int32_t restored = (static_cast<int32_t>(result[4]) << 030) +   
                                            (static_cast<uint32_t>(result[3]) << 020) +                                               (static_cast<int32_t>(result[3]) << 020) +   
                                            (static_cast<uint32_t>(result[2]) << 010) +                                               (static_cast<int32_t>(result[2]) << 010) +   
                                            static_cast<uint32_t>(result[1]);                                                         static_cast<int32_t>(result[1]);             
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:828                                                      │ json/tests/src/unit-bjdata.cpp:549                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                65536u, 77777u, 2147483647u                                                                2147483648u, 3333333333u, 4294967295u                   
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('l');                                                                   expected.push_back('m');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'l');                                                                   CHECK(result[0] == 'm');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                            (static_cast<uint32_t>(result[3]) << 020) +                                                (static_cast<uint32_t>(result[3]) << 020) + 
                                            (static_cast<uint32_t>(result[2]) << 010) +                                                (static_cast<uint32_t>(result[2]) << 010) + 
                                            static_cast<uint32_t>(result[1]);                                                          static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:828                                                      │ json/tests/src/unit-bjdata.cpp:506                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                65536u, 77777u, 2147483647u                                                                65536u, 77777u, 2147483647u                             
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('l');                                                                   expected.push_back('l');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'l');                                                                   CHECK(result[0] == 'l');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                            (static_cast<uint32_t>(result[3]) << 020) +                                                (static_cast<uint32_t>(result[3]) << 020) + 
                                            (static_cast<uint32_t>(result[2]) << 010) +                                                (static_cast<uint32_t>(result[2]) << 010) + 
                                            static_cast<uint32_t>(result[1]);                                                          static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:828                                                      │ json/tests/src/unit-bjdata.cpp:870                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                65536u, 77777u, 2147483647u                                                                2147483648u, 3333333333u, 4294967295u                   
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('l');                                                                   expected.push_back('m');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'l');                                                                   CHECK(result[0] == 'm');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                            (static_cast<uint32_t>(result[3]) << 020) +                                                (static_cast<uint32_t>(result[3]) << 020) + 
                                            (static_cast<uint32_t>(result[2]) << 010) +                                                (static_cast<uint32_t>(result[2]) << 010) + 
                                            static_cast<uint32_t>(result[1]);                                                          static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:663                                                      │ json/tests/src/unit-ubjson.cpp:234                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          std::vector<int32_t> numbers;                                       
                            {                                                                                  numbers.push_back(-32769);                                          
                                65536u, 77777u, 1048576u                                                       numbers.push_back(-100000);                                         
                            })                                                                                 numbers.push_back(-1000000);                                        
                                                                                                               numbers.push_back(-10000000);                                       
                                                                                                               numbers.push_back(-100000000);                                      
                                                                                                               numbers.push_back(-1000000000);                                     
                                                                                                               numbers.push_back(-2147483647 - 1); // https://stackoverflow.com/a/2
                                                                                                               for (auto i : numbers)                                              
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('l');                                                                   expected.push_back(static_cast<uint8_t>('l'));                  
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'l');                                                                   CHECK(result[0] == 'l');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) +                            int32_t restored = (static_cast<int32_t>(result[1]) << 030) +   
                                            (static_cast<uint32_t>(result[2]) << 020) +                                               (static_cast<int32_t>(result[2]) << 020) +   
                                            (static_cast<uint32_t>(result[3]) << 010) +                                               (static_cast<int32_t>(result[3]) << 010) +   
                                            static_cast<uint32_t>(result[4]);                                                         static_cast<int32_t>(result[4]);             
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:663                                                      │ json/tests/src/unit-ubjson.cpp:468                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                65536u, 77777u, 1048576u                                                                   65536u, 77777u, 1048576u                                
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('l');                                                                   expected.push_back('l');                                        
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'l');                                                                   CHECK(result[0] == 'l');                                        
                        uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) + 
                                            (static_cast<uint32_t>(result[2]) << 020) +                                                (static_cast<uint32_t>(result[2]) << 020) + 
                                            (static_cast<uint32_t>(result[3]) << 010) +                                                (static_cast<uint32_t>(result[3]) << 010) + 
                                            static_cast<uint32_t>(result[4]);                                                          static_cast<uint32_t>(result[4]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:745                                                        │ json/tests/src/unit-cbor.cpp:518                                                         
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                65536u, 77777u, 1048576u                                                                   65536u, 77777u, 1048576u                                
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0x1a);                                                                  expected.push_back(0x1a);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));                                expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 5);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0x1a);                                                                  CHECK(result[0] == 0x1a);                                       
                        uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) +                            uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) + 
                                            (static_cast<uint32_t>(result[2]) << 020) +                                                (static_cast<uint32_t>(result[2]) << 020) + 
                                            (static_cast<uint32_t>(result[3]) << 010) +                                                (static_cast<uint32_t>(result[3]) << 010) + 
                                            static_cast<uint32_t>(result[4]);                                                          static_cast<uint32_t>(result[4]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:217                                            │ json/tests/src/unit-reference_access.cpp:53                                              
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = json::object_t;                                               
        json value = 23u;                                                                          json value = {{"one", 1}, {"two", 2}};                                          
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_NOTHROW(value.get_ref<json::object_t&>());                                
                             "[json.exception.type_error.303] incompatible ReferenceType                                                                                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        //CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                           CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
        //    "[json.exception.type_error.303] incompatible ReferenceType for get_ref, a                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::number_unsigned_t&>());                                  CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(), "[json.exception.ty                                "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:217                                            │ json/tests/src/unit-reference_access.cpp:157                                             
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = json::boolean_t;                                              
        json value = 23u;                                                                          json value = false;                                                             
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_NOTHROW(value.get_ref<json::boolean_t&>());                               
                             "[json.exception.type_error.303] incompatible ReferenceType           CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
        //CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                                                "[json.exception.type_error.303] incompatible ReferenceType
        //    "[json.exception.type_error.303] incompatible ReferenceType for get_ref, a           CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
        CHECK_NOTHROW(value.get_ref<json::number_unsigned_t&>());                                                       "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(), "[json.exception.ty           CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:217                                            │ json/tests/src/unit-reference_access.cpp:187                                             
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = json::number_integer_t;                                       
        json value = 23u;                                                                          json value = -23;                                                               
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        //CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                           CHECK_NOTHROW(value.get_ref<json::number_integer_t&>());                        
        //    "[json.exception.type_error.303] incompatible ReferenceType for get_ref, a           CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
        CHECK_NOTHROW(value.get_ref<json::number_unsigned_t&>());                                                       "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(), "[json.exception.ty           CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:217                                            │ json/tests/src/unit-reference_access.cpp:127                                             
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = json::string_t;                                               
        json value = 23u;                                                                          json value = "hello";                                                           
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_NOTHROW(value.get_ref<json::string_t&>());                                
                             "[json.exception.type_error.303] incompatible ReferenceType                                                                                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        //CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                           CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
        //    "[json.exception.type_error.303] incompatible ReferenceType for get_ref, a                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::number_unsigned_t&>());                                  CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(), "[json.exception.ty                                "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:217                                            │ json/tests/src/unit-reference_access.cpp:97                                              
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = json::array_t;                                                
        json value = 23u;                                                                          json value = {1, 2, 3, 4};                                                      
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                                      CHECK_NOTHROW(value.get_ref<json::array_t&>());                                 
                             "[json.exception.type_error.303] incompatible ReferenceType                                                                                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                                     CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                                    CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                             "[json.exception.type_error.303] incompatible ReferenceType                                "[json.exception.type_error.303] incompatible ReferenceType
        //CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                           CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
        //    "[json.exception.type_error.303] incompatible ReferenceType for get_ref, a                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::number_unsigned_t&>());                                  CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(), "[json.exception.ty                                "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:246                                            │ json/tests/src/unit-reference_access.cpp:53                                              
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = json::object_t;                                               
        json value = 42.23;                                                                        json value = {{"one", 1}, {"two", 2}};                                          
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(), "[json.exception.type_err           CHECK_NOTHROW(value.get_ref<json::object_t&>());                                
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(), "[json.exception.type_erro           CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(), "[json.exception.type_err                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(), "[json.exception.type_er           CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(), "[json.exception.                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(), "[json.exception           CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
        CHECK_NOTHROW(value.get_ref<json::number_float_t&>());                                                          "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:246                                            │ json/tests/src/unit-reference_access.cpp:157                                             
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = json::boolean_t;                                              
        json value = 42.23;                                                                        json value = false;                                                             
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(), "[json.exception.type_err           CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(), "[json.exception.type_erro                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(), "[json.exception.type_err           CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(), "[json.exception.type_er                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(), "[json.exception.           CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(), "[json.exception                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::number_float_t&>());                                     CHECK_NOTHROW(value.get_ref<json::boolean_t&>());                               
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:246                                            │ json/tests/src/unit-reference_access.cpp:187                                             
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = json::number_integer_t;                                       
        json value = 42.23;                                                                        json value = -23;                                                               
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(), "[json.exception.type_err           CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(), "[json.exception.type_erro                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(), "[json.exception.type_err           CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(), "[json.exception.type_er                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(), "[json.exception.           CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(), "[json.exception                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::number_float_t&>());                                     CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_NOTHROW(value.get_ref<json::number_integer_t&>());                        
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:246                                            │ json/tests/src/unit-reference_access.cpp:127                                             
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = json::string_t;                                               
        json value = 42.23;                                                                        json value = "hello";                                                           
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(), "[json.exception.type_err           CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(), "[json.exception.type_erro                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(), "[json.exception.type_err           CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(), "[json.exception.type_er                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(), "[json.exception.           CHECK_NOTHROW(value.get_ref<json::string_t&>());                                
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(), "[json.exception           CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
        CHECK_NOTHROW(value.get_ref<json::number_float_t&>());                                                          "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:246                                            │ json/tests/src/unit-reference_access.cpp:97                                              
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = json::array_t;                                                
        json value = 42.23;                                                                        json value = {1, 2, 3, 4};                                                      
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(), "[json.exception.type_err           CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(), "[json.exception.type_erro                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(), "[json.exception.type_err           CHECK_NOTHROW(value.get_ref<json::array_t&>());                                 
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(), "[json.exception.type_er           CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(), "[json.exception.                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(), "[json.exception           CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
        CHECK_NOTHROW(value.get_ref<json::number_float_t&>());                                                          "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                  
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(),                 
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(),                    
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-reference_access.cpp:246                                            │ json/tests/src/unit-reference_access.cpp:217                                             
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = json::number_unsigned_t;                                      
        json value = 42.23;                                                                        json value = 23u;                                                               
                                                                                                                                                                                   
        // check if references are returned correctly                                              // check if references are returned correctly                                   
        auto& p1 = value.get_ref<test_type&>();                                                    auto& p1 = value.get_ref<test_type&>();                                         
        CHECK(&p1 == value.get_ptr<test_type*>());                                                 CHECK(&p1 == value.get_ptr<test_type*>());                                      
        CHECK(p1 == value.get<test_type>());                                                       CHECK(p1 == value.get<test_type>());                                            
                                                                                                                                                                                   
        const auto& p2 = value.get_ref<const test_type&>();                                        const auto& p2 = value.get_ref<const test_type&>();                             
        CHECK(&p2 == value.get_ptr<const test_type*>());                                           CHECK(&p2 == value.get_ptr<const test_type*>());                                
        CHECK(p2 == value.get<test_type>());                                                       CHECK(p2 == value.get<test_type>());                                            
                                                                                                                                                                                   
        // check if mismatching references throw correctly                                         // check if mismatching references throw correctly                              
        CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(), "[json.exception.type_err           CHECK_THROWS_WITH_AS(value.get_ref<json::object_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(), "[json.exception.type_erro                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(), "[json.exception.type_err           CHECK_THROWS_WITH_AS(value.get_ref<json::array_t&>(),                           
        CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(), "[json.exception.type_er                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(), "[json.exception.           CHECK_THROWS_WITH_AS(value.get_ref<json::string_t&>(),                          
        CHECK_THROWS_WITH_AS(value.get_ref<json::number_unsigned_t&>(), "[json.exception                                "[json.exception.type_error.303] incompatible ReferenceType
        CHECK_NOTHROW(value.get_ref<json::number_float_t&>());                                     CHECK_THROWS_WITH_AS(value.get_ref<json::boolean_t&>(),                         
                                                                                                                        "[json.exception.type_error.303] incompatible ReferenceType
                                                                                                   //CHECK_THROWS_WITH_AS(value.get_ref<json::number_integer_t&>(),                
                                                                                                   //    "[json.exception.type_error.303] incompatible ReferenceType for get_ref, a
                                                                                                   CHECK_NOTHROW(value.get_ref<json::number_unsigned_t&>());                       
                                                                                                   CHECK_THROWS_WITH_AS(value.get_ref<json::number_float_t&>(), "[json.exception.ty
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1321                                                     │ json/tests/src/unit-ubjson.cpp:1535                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::parse("[[[[]]]]");                                                          json j = json::parse(R"({"a": {"b": {"c": {}}}})");                 
                    std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']',                        std::vector<uint8_t> expected =                                     
                                                                                                               {                                                                   
                                                                                                                   '{', 'i', 1, 'a', '{', 'i', 1, 'b', '{', 'i', 1, 'c', '{', '}', 
                                                                                                               };                                                                  
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::parse("[[[[]]]]");                                                          json j = json::parse(R"({"a": {"b": {"c": {}}}})");                 
                    std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,                       std::vector<uint8_t> expected =                                     
                                                                                                               {                                                                   
                                                                                                                   '{', '#', 'i', 1, 'i', 1, 'a', '{', '#', 'i', 1, 'i', 1, 'b', '{
                                                                                                               };                                                                  
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::parse("[[[[]]]]");                                                          json j = json::parse(R"({"a": {"b": {"c": {}}}})");                 
                    std::vector<uint8_t> expected = {'[', '$', '[', '#', 'i', 1, '$', '[                       std::vector<uint8_t> expected =                                     
                                                                                                               {                                                                   
                                                                                                                   '{', '$', '{', '#', 'i', 1, 'i', 1, 'a', '$', '{', '#', 'i', 1, 
                                                                                                               };                                                                  
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/json_pointer.hpp:509                                       │ json/include/nlohmann/detail/json_pointer.hpp:402                                        
                                                                                                                                                                                   
        for (const auto& reference_token : reference_tokens)                                       for (const auto& reference_token : reference_tokens)                            
        {                                                                                          {                                                                               
            switch (ptr->type())                                                                       switch (ptr->type())                                                        
            {                                                                                          {                                                                           
                case detail::value_t::object:                                                              case detail::value_t::object:                                           
                {                                                                                          {                                                                       
                    // note: at performs range check                                                           // note: at performs range check                                    
                    ptr = &ptr->at(reference_token);                                                           ptr = &ptr->at(reference_token);                                    
                    break;                                                                                     break;                                                              
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                case detail::value_t::array:                                                               case detail::value_t::array:                                            
                {                                                                                          {                                                                       
                    if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))                                          if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))                   
                    {                                                                                          {                                                                   
                        // "-" always fails the range check                                                        // "-" always fails the range check                             
                        JSON_THROW(detail::out_of_range::create(402, detail::concat(                               JSON_THROW(detail::out_of_range::create(402, detail::concat(    
                                "array index '-' (", std::to_string(ptr->m_value.array->                                   "array index '-' (", std::to_string(ptr->m_value.array->
                                ") is out of range"), ptr));                                                               ") is out of range"), ptr));                            
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // note: at performs range check                                                           // note: at performs range check                                    
                    ptr = &ptr->at(array_index<BasicJsonType>(reference_token));                               ptr = &ptr->at(array_index<BasicJsonType>(reference_token));        
                    break;                                                                                     break;                                                              
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                case detail::value_t::null:                                                                case detail::value_t::null:                                             
                case detail::value_t::string:                                                              case detail::value_t::string:                                           
                case detail::value_t::boolean:                                                             case detail::value_t::boolean:                                          
                case detail::value_t::number_integer:                                                      case detail::value_t::number_integer:                                   
                case detail::value_t::number_unsigned:                                                     case detail::value_t::number_unsigned:                                  
                case detail::value_t::number_float:                                                        case detail::value_t::number_float:                                     
                case detail::value_t::binary:                                                              case detail::value_t::binary:                                           
                case detail::value_t::discarded:                                                           case detail::value_t::discarded:                                        
                default:                                                                                   default:                                                                
                    JSON_THROW(detail::out_of_range::create(404, detail::concat("unresol                       JSON_THROW(detail::out_of_range::create(404, detail::concat("unresol
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        return *ptr;                                                                               return *ptr;                                                                    
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1282                                                     │ json/tests/src/unit-ubjson.cpp:1535                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j = json::parse(R"({"a": {"b": {"c": {}}}})");                 
                    std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4                       std::vector<uint8_t> expected =                                     
                                                                                                               {                                                                   
                                                                                                                   '{', 'i', 1, 'a', '{', 'i', 1, 'b', '{', 'i', 1, 'c', '{', '}', 
                                                                                                               };                                                                  
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j = json::parse(R"({"a": {"b": {"c": {}}}})");                 
                    std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '                       std::vector<uint8_t> expected =                                     
                                                                                                               {                                                                   
                                                                                                                   '{', '#', 'i', 1, 'i', 1, 'a', '{', '#', 'i', 1, 'i', 1, 'b', '{
                                                                                                               };                                                                  
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j = json::parse(R"({"a": {"b": {"c": {}}}})");                 
                    std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3                       std::vector<uint8_t> expected =                                     
                                                                                                               {                                                                   
                                                                                                                   '{', '$', '{', '#', 'i', 1, 'i', 1, 'a', '$', '{', '#', 'i', 1, 
                                                                                                               };                                                                  
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1282                                                     │ json/tests/src/unit-ubjson.cpp:1360                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4                       std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[258] = ']'; // closing array                               
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '                       std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[1] = '#'; // array size                                    
                                                                                                               expected[2] = 'I'; // int16                                         
                                                                                                               expected[3] = 0x01; // 0x0101, first byte                           
                                                                                                               expected[4] = 0x01; // 0x0101, second byte                          
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3                       std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'I', 0x01, 0x01
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1282                                                     │ json/tests/src/unit-ubjson.cpp:1321                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4                       std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']', 
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '                       std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3                       std::vector<uint8_t> expected = {'[', '$', '[', '#', 'i', 1, '$', '[
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1711                                                     │ json/tests/src/unit-bjdata.cpp:1750                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4                       std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']', 
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '                       std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::parse("[1,2,3,4,5]");                                                       json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3                       std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1030                                                     │ json/tests/src/unit-ubjson.cpp:979                                                       
                                                                                                                                                                                   
                for (std::size_t N = 128; N <= 255; ++N)                                                   for (std::size_t N = 0; N <= 127; ++N)                                  
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with byte array containing of N * 'x'                                 // create JSON value with byte array containing of N * 'x'          
                    const auto s = std::vector<std::uint8_t>(N, 'x');                                          const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<uint8_t> expected;                                                             std::vector<std::uint8_t> expected;                                 
                    expected.push_back(static_cast<std::uint8_t>('['));                                        expected.push_back(static_cast<std::uint8_t>('['));                 
                    expected.push_back(static_cast<std::uint8_t>('$'));                                        if (N != 0)                                                         
                    expected.push_back(static_cast<std::uint8_t>('U'));                                        {                                                                   
                                                                                                                   expected.push_back(static_cast<std::uint8_t>('$'));             
                                                                                                                   expected.push_back(static_cast<std::uint8_t>('U'));             
                                                                                                               }                                                                   
                    expected.push_back(static_cast<std::uint8_t>('#'));                                        expected.push_back(static_cast<std::uint8_t>('#'));                 
                    expected.push_back(static_cast<std::uint8_t>('U'));                                        expected.push_back(static_cast<std::uint8_t>('i'));                 
                    expected.push_back(static_cast<std::uint8_t>(N));                                          expected.push_back(static_cast<std::uint8_t>(N));                   
                    for (size_t i = 0; i < N; ++i)                                                             for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back(0x78);                                                                  expected.push_back(0x78);                                       
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 6);                                                             if (N == 0)                                                         
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.size() == N + 4);                                  
                                                                                                               }                                                                   
                                                                                                               else                                                                
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.size() == N + 6);                                  
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            if (N > 0)                                                          
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.back() != '\x00');                                 
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // roundtrip only works to an array of numbers                                             // roundtrip only works to an array of numbers                      
                    json j_out = s;                                                                            json j_out = s;                                                     
                    CHECK(json::from_ubjson(result) == j_out);                                                 CHECK(json::from_ubjson(result) == j_out);                          
                    CHECK(json::from_ubjson(result, true, false) == j_out);                                    CHECK(json::from_ubjson(result, true, false) == j_out);             
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1423                                                     │ json/tests/src/unit-bjdata.cpp:1372                                                      
                                                                                                                                                                                   
                for (std::size_t N = 128; N <= 255; ++N)                                                   for (std::size_t N = 0; N <= 127; ++N)                                  
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with byte array containing of N * 'x'                                 // create JSON value with byte array containing of N * 'x'          
                    const auto s = std::vector<std::uint8_t>(N, 'x');                                          const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<uint8_t> expected;                                                             std::vector<std::uint8_t> expected;                                 
                    expected.push_back(static_cast<std::uint8_t>('['));                                        expected.push_back(static_cast<std::uint8_t>('['));                 
                    expected.push_back(static_cast<std::uint8_t>('$'));                                        if (N != 0)                                                         
                    expected.push_back(static_cast<std::uint8_t>('U'));                                        {                                                                   
                                                                                                                   expected.push_back(static_cast<std::uint8_t>('$'));             
                                                                                                                   expected.push_back(static_cast<std::uint8_t>('U'));             
                                                                                                               }                                                                   
                    expected.push_back(static_cast<std::uint8_t>('#'));                                        expected.push_back(static_cast<std::uint8_t>('#'));                 
                    expected.push_back(static_cast<std::uint8_t>('U'));                                        expected.push_back(static_cast<std::uint8_t>('i'));                 
                    expected.push_back(static_cast<std::uint8_t>(N));                                          expected.push_back(static_cast<std::uint8_t>(N));                   
                    for (size_t i = 0; i < N; ++i)                                                             for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back(0x78);                                                                  expected.push_back(0x78);                                       
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 6);                                                             if (N == 0)                                                         
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.size() == N + 4);                                  
                                                                                                               }                                                                   
                                                                                                               else                                                                
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.size() == N + 6);                                  
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            if (N > 0)                                                          
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.back() != '\x00');                                 
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // roundtrip only works to an array of numbers                                             // roundtrip only works to an array of numbers                      
                    json j_out = s;                                                                            json j_out = s;                                                     
                    CHECK(json::from_bjdata(result) == j_out);                                                 CHECK(json::from_bjdata(result) == j_out);                          
                    CHECK(json::from_bjdata(result, true, false) == j_out);                                    CHECK(json::from_bjdata(result, true, false) == j_out);             
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:468                                                      │ json/tests/src/unit-bjdata.cpp:549                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                32768u, 55555u, 65535u                                                                     2147483648u, 3333333333u, 4294967295u                   
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('u'));                                             expected.push_back('m');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'm');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:468                                                      │ json/tests/src/unit-bjdata.cpp:506                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                32768u, 55555u, 65535u                                                                     65536u, 77777u, 2147483647u                             
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('u'));                                             expected.push_back('l');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'l');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:468                                                      │ json/tests/src/unit-bjdata.cpp:870                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                32768u, 55555u, 65535u                                                                     2147483648u, 3333333333u, 4294967295u                   
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('u'));                                             expected.push_back('m');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'm');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:468                                                      │ json/tests/src/unit-bjdata.cpp:828                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                32768u, 55555u, 65535u                                                                     65536u, 77777u, 2147483647u                             
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('u'));                                             expected.push_back('l');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'l');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/json_pointer.hpp:460                                       │ json/include/nlohmann/detail/json_pointer.hpp:402                                        
                                                                                                                                                                                   
        for (const auto& reference_token : reference_tokens)                                       for (const auto& reference_token : reference_tokens)                            
        {                                                                                          {                                                                               
            switch (ptr->type())                                                                       switch (ptr->type())                                                        
            {                                                                                          {                                                                           
                case detail::value_t::object:                                                              case detail::value_t::object:                                           
                {                                                                                          {                                                                       
                    // use unchecked object access                                                             // note: at performs range check                                    
                    ptr = &ptr->operator[](reference_token);                                                   ptr = &ptr->at(reference_token);                                    
                    break;                                                                                     break;                                                              
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                case detail::value_t::array:                                                               case detail::value_t::array:                                            
                {                                                                                          {                                                                       
                    if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))                                          if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))                   
                    {                                                                                          {                                                                   
                        // "-" cannot be used for const access                                                     // "-" always fails the range check                             
                        JSON_THROW(detail::out_of_range::create(402, detail::concat("arr                           JSON_THROW(detail::out_of_range::create(402, detail::concat(    
                                                                                                                           "array index '-' (", std::to_string(ptr->m_value.array->
                                                                                                                           ") is out of range"), ptr));                            
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // use unchecked array access                                                              // note: at performs range check                                    
                    ptr = &ptr->operator[](array_index<BasicJsonType>(reference_token));                       ptr = &ptr->at(array_index<BasicJsonType>(reference_token));        
                    break;                                                                                     break;                                                              
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                case detail::value_t::null:                                                                case detail::value_t::null:                                             
                case detail::value_t::string:                                                              case detail::value_t::string:                                           
                case detail::value_t::boolean:                                                             case detail::value_t::boolean:                                          
                case detail::value_t::number_integer:                                                      case detail::value_t::number_integer:                                   
                case detail::value_t::number_unsigned:                                                     case detail::value_t::number_unsigned:                                  
                case detail::value_t::number_float:                                                        case detail::value_t::number_float:                                     
                case detail::value_t::binary:                                                              case detail::value_t::binary:                                           
                case detail::value_t::discarded:                                                           case detail::value_t::discarded:                                        
                default:                                                                                   default:                                                                
                    JSON_THROW(detail::out_of_range::create(404, detail::concat("unresol                       JSON_THROW(detail::out_of_range::create(404, detail::concat("unresol
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        return *ptr;                                                                               return *ptr;                                                                    
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/json_pointer.hpp:460                                       │ json/include/nlohmann/detail/json_pointer.hpp:509                                        
                                                                                                                                                                                   
        for (const auto& reference_token : reference_tokens)                                       for (const auto& reference_token : reference_tokens)                            
        {                                                                                          {                                                                               
            switch (ptr->type())                                                                       switch (ptr->type())                                                        
            {                                                                                          {                                                                           
                case detail::value_t::object:                                                              case detail::value_t::object:                                           
                {                                                                                          {                                                                       
                    // use unchecked object access                                                             // note: at performs range check                                    
                    ptr = &ptr->operator[](reference_token);                                                   ptr = &ptr->at(reference_token);                                    
                    break;                                                                                     break;                                                              
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                case detail::value_t::array:                                                               case detail::value_t::array:                                            
                {                                                                                          {                                                                       
                    if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))                                          if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))                   
                    {                                                                                          {                                                                   
                        // "-" cannot be used for const access                                                     // "-" always fails the range check                             
                        JSON_THROW(detail::out_of_range::create(402, detail::concat("arr                           JSON_THROW(detail::out_of_range::create(402, detail::concat(    
                                                                                                                           "array index '-' (", std::to_string(ptr->m_value.array->
                                                                                                                           ") is out of range"), ptr));                            
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // use unchecked array access                                                              // note: at performs range check                                    
                    ptr = &ptr->operator[](array_index<BasicJsonType>(reference_token));                       ptr = &ptr->at(array_index<BasicJsonType>(reference_token));        
                    break;                                                                                     break;                                                              
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                case detail::value_t::null:                                                                case detail::value_t::null:                                             
                case detail::value_t::string:                                                              case detail::value_t::string:                                           
                case detail::value_t::boolean:                                                             case detail::value_t::boolean:                                          
                case detail::value_t::number_integer:                                                      case detail::value_t::number_integer:                                   
                case detail::value_t::number_unsigned:                                                     case detail::value_t::number_unsigned:                                  
                case detail::value_t::number_float:                                                        case detail::value_t::number_float:                                     
                case detail::value_t::binary:                                                              case detail::value_t::binary:                                           
                case detail::value_t::discarded:                                                           case detail::value_t::discarded:                                        
                default:                                                                                   default:                                                                
                    JSON_THROW(detail::out_of_range::create(404, detail::concat("unresol                       JSON_THROW(detail::out_of_range::create(404, detail::concat("unresol
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        return *ptr;                                                                               return *ptr;                                                                    
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:1235                                                    │ json/tests/src/unit-msgpack.cpp:1271                                                     
                                                                                                                                                                                   
                for (std::size_t N :                                                                       for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::vector<uint8_t>(N, 'x');                                               const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                    std::uint8_t subtype = 42;                                                                 std::uint8_t subtype = 42;                                          
                    j.get_binary().set_subtype(subtype);                                                       j.get_binary().set_subtype(subtype);                                
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), subtype);                                                expected.insert(expected.begin(), subtype);                         
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0xC8);                                                   expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), 0xC9);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 4);                                                             CHECK(result.size() == N + 6);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:1235                                                    │ json/tests/src/unit-msgpack.cpp:1380                                                     
                                                                                                                                                                                   
                for (std::size_t N :                                                                       for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::vector<uint8_t>(N, 'x');                                               const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                    std::uint8_t subtype = 42;                                                                                                                                     
                    j.get_binary().set_subtype(subtype);                                                                                                                           
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), subtype);                                                expected.insert(expected.begin(), static_cast<std::uint8_t>(N & 0xff
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 8)
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 16
                    expected.insert(expected.begin(), 0xC8);                                                   expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 24
                                                                                                               expected.insert(expected.begin(), 0xC6);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 4);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/output/binary_writer.hpp:217                               │ json/include/nlohmann/detail/output/binary_writer.hpp:357                                
                                                                                                                                                                                   
                // step 1: write control byte and the string length                                        // step 1: write control byte and the object size                       
                const auto N = j.m_value.string->size();                                                   const auto N = j.m_value.object->size();                                
                if (N <= 0x17)                                                                             if (N <= 0x17)                                                          
                {                                                                                          {                                                                       
                    write_number(static_cast<std::uint8_t>(0x60 + N));                                         write_number(static_cast<std::uint8_t>(0xA0 + N));                  
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint8_t>::max)())                                  else if (N <= (std::numeric_limits<std::uint8_t>::max)())               
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x78));                                                   oa->write_character(to_char_type(0xB8));                            
                    write_number(static_cast<std::uint8_t>(N));                                                write_number(static_cast<std::uint8_t>(N));                         
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint16_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint16_t>::max)())              
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x79));                                                   oa->write_character(to_char_type(0xB9));                            
                    write_number(static_cast<std::uint16_t>(N));                                               write_number(static_cast<std::uint16_t>(N));                        
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint32_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint32_t>::max)())              
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x7A));                                                   oa->write_character(to_char_type(0xBA));                            
                    write_number(static_cast<std::uint32_t>(N));                                               write_number(static_cast<std::uint32_t>(N));                        
                }                                                                                          }                                                                       
                // LCOV_EXCL_START                                                                         // LCOV_EXCL_START                                                      
                else if (N <= (std::numeric_limits<std::uint64_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint64_t>::max)())              
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x7B));                                                   oa->write_character(to_char_type(0xBB));                            
                    write_number(static_cast<std::uint64_t>(N));                                               write_number(static_cast<std::uint64_t>(N));                        
                }                                                                                          }                                                                       
                // LCOV_EXCL_STOP                                                                          // LCOV_EXCL_STOP                                                       
                                                                                                                                                                                   
                // step 2: write the string                                                                // step 2: write each element                                           
                oa->write_characters(                                                                      for (const auto& el : *j.m_value.object)                                
                    reinterpret_cast<const CharType*>(j.m_value.string->c_str()),                          {                                                                       
                    j.m_value.string->size());                                                                 write_cbor(el.first);                                               
                                                                                                               write_cbor(el.second);                                              
                                                                                                           }                                                                       
                break;                                                                                     break;                                                                  
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:938                                                     │ json/tests/src/unit-msgpack.cpp:1271                                                     
                                                                                                                                                                                   
                for (size_t N :                                                                            for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            65536u, 77777u, 1048576u                                                                   65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                               std::uint8_t subtype = 42;                                          
                                                                                                               j.get_binary().set_subtype(subtype);                                
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                                                                                                               expected.insert(expected.begin(), subtype);                         
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                    expected.insert(expected.begin(), 0xdb);                                                   expected.insert(expected.begin(), 0xC9);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 5);                                                             CHECK(result.size() == N + 6);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:938                                                     │ json/tests/src/unit-msgpack.cpp:1380                                                     
                                                                                                                                                                                   
                for (size_t N :                                                                            for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            65536u, 77777u, 1048576u                                                                   65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<std::uint8_t>(N & 0xff
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 8)
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0                       expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 16
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0                       expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 24
                    expected.insert(expected.begin(), 0xdb);                                                   expected.insert(expected.begin(), 0xC6);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 5);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:938                                                     │ json/tests/src/unit-msgpack.cpp:1235                                                     
                                                                                                                                                                                   
                for (size_t N :                                                                            for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            65536u, 77777u, 1048576u                                                                   256u, 999u, 1025u, 3333u, 2048u, 65535u                     
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                               std::uint8_t subtype = 42;                                          
                                                                                                               j.get_binary().set_subtype(subtype);                                
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                                                                                                               expected.insert(expected.begin(), subtype);                         
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0                       expected.insert(expected.begin(), 0xC8);                            
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0                                                                                           
                    expected.insert(expected.begin(), 0xdb);                                                                                                                       
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 5);                                                             CHECK(result.size() == N + 4);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-conversions.cpp:432                                                 │ json/tests/src/unit-conversions.cpp:96                                                   
                                                                                                                                                                                   
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::null).get<json::string_t>(),                                           json(json::value_t::null).get<json::object_t>(),                        
                "[json.exception.type_error.302] type must be string, but is null", json                   "[json.exception.type_error.302] type must be object, but is null", json
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::object).get<json::string_t>(),                                         json(json::value_t::array).get<json::object_t>(),                       
                "[json.exception.type_error.302] type must be string, but is object", js                   "[json.exception.type_error.302] type must be object, but is array", jso
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::array).get<json::string_t>(),                                          json(json::value_t::string).get<json::object_t>(),                      
                "[json.exception.type_error.302] type must be string, but is array", jso                   "[json.exception.type_error.302] type must be object, but is string", js
            CHECK_THROWS_WITH_AS(json(json::value_t::boolean).get<json::string_t>(),                   CHECK_THROWS_WITH_AS(json(json::value_t::boolean).get<json::object_t>(),    
                                 "[json.exception.type_error.302] type must be string, "                                    "[json.exception.type_error.302] type must be object, "
                                 "but is boolean", json::type_error&);                                                      "but is boolean", json::type_error&);                  
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::number_integer).get<json::string_t>(),                                 json(json::value_t::number_integer).get<json::object_t>(),              
                "[json.exception.type_error.302] type must be string, but is number", js                   "[json.exception.type_error.302] type must be object, but is number", js
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::number_unsigned).get<json::string_t>(),                                json(json::value_t::number_unsigned).get<json::object_t>(),             
                "[json.exception.type_error.302] type must be string, but is number", js                   "[json.exception.type_error.302] type must be object, but is number", js
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::number_float).get<json::string_t>(),                                   json(json::value_t::number_float).get<json::object_t>(),                
                "[json.exception.type_error.302] type must be string, but is number", js                   "[json.exception.type_error.302] type must be object, but is number", js
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1192                                                       │ json/tests/src/unit-cbor.cpp:1541                                                        
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            65536u, 77777u, 1048576u                                                                   65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                    expected.insert(expected.begin(), 0x7a);                                                   expected.insert(expected.begin(), 0x5a);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 5);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1496                                                     │ json/tests/src/unit-ubjson.cpp:1360                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = {{"", nullptr}};                                                                  json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'{', 'i', 0, 'Z', '}'};                                   std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[258] = ']'; // closing array                               
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = {{"", nullptr}};                                                                  json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'{', '#', 'i', 1, 'i', 0, 'Z'};                           std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[1] = '#'; // array size                                    
                                                                                                               expected[2] = 'I'; // int16                                         
                                                                                                               expected[3] = 0x01; // 0x0101, first byte                           
                                                                                                               expected[4] = 0x01; // 0x0101, second byte                          
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = {{"", nullptr}};                                                                  json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'{', '$', 'Z', '#', 'i', 1, 'i', 0}                       std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'I', 0x01, 0x01
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1496                                                     │ json/tests/src/unit-ubjson.cpp:1321                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = {{"", nullptr}};                                                                  json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'{', 'i', 0, 'Z', '}'};                                   std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']', 
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = {{"", nullptr}};                                                                  json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'{', '#', 'i', 1, 'i', 0, 'Z'};                           std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = {{"", nullptr}};                                                                  json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'{', '$', 'Z', '#', 'i', 1, 'i', 0}                       std::vector<uint8_t> expected = {'[', '$', '[', '#', 'i', 1, '$', '[
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1496                                                     │ json/tests/src/unit-ubjson.cpp:1282                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = {{"", nullptr}};                                                                  json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'{', 'i', 0, 'Z', '}'};                                   std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = {{"", nullptr}};                                                                  json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'{', '#', 'i', 1, 'i', 0, 'Z'};                           std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = {{"", nullptr}};                                                                  json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'{', '$', 'Z', '#', 'i', 1, 'i', 0}                       std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-conversions.cpp:458                                                 │ json/tests/src/unit-conversions.cpp:432                                                  
                                                                                                                                                                                   
            CHECK_THROWS_WITH_AS(json(json::value_t::null).get<std::string_view>(),                    CHECK_THROWS_WITH_AS(                                                       
                                 "[json.exception.type_error.302] type must be string, b                   json(json::value_t::null).get<json::string_t>(),                        
            CHECK_THROWS_WITH_AS(json(json::value_t::object).get<std::string_view>(),                      "[json.exception.type_error.302] type must be string, but is null", json
                                 "[json.exception.type_error.302] type must be string, b               CHECK_THROWS_WITH_AS(                                                       
            CHECK_THROWS_WITH_AS(json(json::value_t::array).get<std::string_view>(),                       json(json::value_t::object).get<json::string_t>(),                      
                                 "[json.exception.type_error.302] type must be string, b                   "[json.exception.type_error.302] type must be string, but is object", js
            CHECK_THROWS_WITH_AS(json(json::value_t::boolean).get<std::string_view>(),                 CHECK_THROWS_WITH_AS(                                                       
                                 "[json.exception.type_error.302] type must be string, b                   json(json::value_t::array).get<json::string_t>(),                       
            CHECK_THROWS_WITH_AS(json(json::value_t::number_integer).get<std::string_vie                   "[json.exception.type_error.302] type must be string, but is array", jso
                                 "[json.exception.type_error.302] type must be string, b               CHECK_THROWS_WITH_AS(json(json::value_t::boolean).get<json::string_t>(),    
            CHECK_THROWS_WITH_AS(json(json::value_t::number_unsigned).get<std::string_vi                                    "[json.exception.type_error.302] type must be string, "
                                 "[json.exception.type_error.302] type must be string, b                                    "but is boolean", json::type_error&);                  
            CHECK_THROWS_WITH_AS(json(json::value_t::number_float).get<std::string_view>               CHECK_THROWS_WITH_AS(                                                       
                                 "[json.exception.type_error.302] type must be string, b                   json(json::value_t::number_integer).get<json::string_t>(),              
                                                                                                           "[json.exception.type_error.302] type must be string, but is number", js
                                                                                                       CHECK_THROWS_WITH_AS(                                                       
                                                                                                           json(json::value_t::number_unsigned).get<json::string_t>(),             
                                                                                                           "[json.exception.type_error.302] type must be string, but is number", js
                                                                                                       CHECK_THROWS_WITH_AS(                                                       
                                                                                                           json(json::value_t::number_float).get<json::string_t>(),                
                                                                                                           "[json.exception.type_error.302] type must be string, but is number", js
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:685                                             │ json/tests/src/unit-element_access2.cpp:704                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::number_integer);                                           json j_nonobject(json::value_t::number_unsigned);                   
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:629                                             │ json/tests/src/unit-element_access2.cpp:704                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::boolean);                                                  json j_nonobject(json::value_t::number_unsigned);                   
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:629                                             │ json/tests/src/unit-element_access2.cpp:685                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::boolean);                                                  json j_nonobject(json::value_t::number_integer);                    
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:723                                             │ json/tests/src/unit-element_access2.cpp:704                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::number_float);                                             json j_nonobject(json::value_t::number_unsigned);                   
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:723                                             │ json/tests/src/unit-element_access2.cpp:685                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::number_float);                                             json j_nonobject(json::value_t::number_integer);                    
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:723                                             │ json/tests/src/unit-element_access2.cpp:629                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::number_float);                                             json j_nonobject(json::value_t::boolean);                           
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/output/binary_writer.hpp:255                               │ json/include/nlohmann/detail/output/binary_writer.hpp:357                                
                                                                                                                                                                                   
                // step 1: write control byte and the array size                                           // step 1: write control byte and the object size                       
                const auto N = j.m_value.array->size();                                                    const auto N = j.m_value.object->size();                                
                if (N <= 0x17)                                                                             if (N <= 0x17)                                                          
                {                                                                                          {                                                                       
                    write_number(static_cast<std::uint8_t>(0x80 + N));                                         write_number(static_cast<std::uint8_t>(0xA0 + N));                  
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint8_t>::max)())                                  else if (N <= (std::numeric_limits<std::uint8_t>::max)())               
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x98));                                                   oa->write_character(to_char_type(0xB8));                            
                    write_number(static_cast<std::uint8_t>(N));                                                write_number(static_cast<std::uint8_t>(N));                         
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint16_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint16_t>::max)())              
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x99));                                                   oa->write_character(to_char_type(0xB9));                            
                    write_number(static_cast<std::uint16_t>(N));                                               write_number(static_cast<std::uint16_t>(N));                        
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint32_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint32_t>::max)())              
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x9A));                                                   oa->write_character(to_char_type(0xBA));                            
                    write_number(static_cast<std::uint32_t>(N));                                               write_number(static_cast<std::uint32_t>(N));                        
                }                                                                                          }                                                                       
                // LCOV_EXCL_START                                                                         // LCOV_EXCL_START                                                      
                else if (N <= (std::numeric_limits<std::uint64_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint64_t>::max)())              
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x9B));                                                   oa->write_character(to_char_type(0xBB));                            
                    write_number(static_cast<std::uint64_t>(N));                                               write_number(static_cast<std::uint64_t>(N));                        
                }                                                                                          }                                                                       
                // LCOV_EXCL_STOP                                                                          // LCOV_EXCL_STOP                                                       
                                                                                                                                                                                   
                // step 2: write each element                                                              // step 2: write each element                                           
                for (const auto& el : *j.m_value.array)                                                    for (const auto& el : *j.m_value.object)                                
                {                                                                                          {                                                                       
                    write_cbor(el);                                                                            write_cbor(el.first);                                               
                                                                                                               write_cbor(el.second);                                              
                }                                                                                          }                                                                       
                break;                                                                                     break;                                                                  
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/output/binary_writer.hpp:255                               │ json/include/nlohmann/detail/output/binary_writer.hpp:217                                
                                                                                                                                                                                   
                // step 1: write control byte and the array size                                           // step 1: write control byte and the string length                     
                const auto N = j.m_value.array->size();                                                    const auto N = j.m_value.string->size();                                
                if (N <= 0x17)                                                                             if (N <= 0x17)                                                          
                {                                                                                          {                                                                       
                    write_number(static_cast<std::uint8_t>(0x80 + N));                                         write_number(static_cast<std::uint8_t>(0x60 + N));                  
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint8_t>::max)())                                  else if (N <= (std::numeric_limits<std::uint8_t>::max)())               
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x98));                                                   oa->write_character(to_char_type(0x78));                            
                    write_number(static_cast<std::uint8_t>(N));                                                write_number(static_cast<std::uint8_t>(N));                         
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint16_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint16_t>::max)())              
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x99));                                                   oa->write_character(to_char_type(0x79));                            
                    write_number(static_cast<std::uint16_t>(N));                                               write_number(static_cast<std::uint16_t>(N));                        
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint32_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint32_t>::max)())              
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x9A));                                                   oa->write_character(to_char_type(0x7A));                            
                    write_number(static_cast<std::uint32_t>(N));                                               write_number(static_cast<std::uint32_t>(N));                        
                }                                                                                          }                                                                       
                // LCOV_EXCL_START                                                                         // LCOV_EXCL_START                                                      
                else if (N <= (std::numeric_limits<std::uint64_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint64_t>::max)())              
                {                                                                                          {                                                                       
                    oa->write_character(to_char_type(0x9B));                                                   oa->write_character(to_char_type(0x7B));                            
                    write_number(static_cast<std::uint64_t>(N));                                               write_number(static_cast<std::uint64_t>(N));                        
                }                                                                                          }                                                                       
                // LCOV_EXCL_STOP                                                                          // LCOV_EXCL_STOP                                                       
                                                                                                                                                                                   
                // step 2: write each element                                                              // step 2: write the string                                             
                for (const auto& el : *j.m_value.array)                                                    oa->write_characters(                                                   
                {                                                                                              reinterpret_cast<const CharType*>(j.m_value.string->c_str()),       
                    write_cbor(el);                                                                            j.m_value.string->size());                                          
                }                                                                                                                                                                  
                break;                                                                                     break;                                                                  
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:648                                             │ json/tests/src/unit-element_access2.cpp:704                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::string);                                                   json j_nonobject(json::value_t::number_unsigned);                   
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:648                                             │ json/tests/src/unit-element_access2.cpp:685                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::string);                                                   json j_nonobject(json::value_t::number_integer);                    
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:648                                             │ json/tests/src/unit-element_access2.cpp:629                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::string);                                                   json j_nonobject(json::value_t::boolean);                           
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:648                                             │ json/tests/src/unit-element_access2.cpp:723                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::string);                                                   json j_nonobject(json::value_t::number_float);                      
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],                         CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-capacity.cpp:269                                                    │ json/tests/src/unit-capacity.cpp:312                                                     
                                                                                                                                                                                   
            SECTION("empty array")                                                                     SECTION("empty object")                                                     
            {                                                                                          {                                                                           
                json j = json::array();                                                                    json j = json::object();                                                
                const json j_const(j);                                                                     const json j_const(j);                                                  
                                                                                                                                                                                   
                SECTION("result of size")                                                                  SECTION("result of size")                                               
                {                                                                                          {                                                                       
                    CHECK(j.size() == 0);                                                                      CHECK(j.size() == 0);                                               
                    CHECK(j_const.size() == 0);                                                                CHECK(j_const.size() == 0);                                         
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("definition of size")                                                              SECTION("definition of size")                                           
                {                                                                                          {                                                                       
                    CHECK(std::distance(j.begin(), j.end()) == j.size());                                      CHECK(std::distance(j.begin(), j.end()) == j.size());               
                    CHECK(std::distance(j_const.begin(), j_const.end()) == j_const.size(                       CHECK(std::distance(j_const.begin(), j_const.end()) == j_const.size(
                    CHECK(std::distance(j.rbegin(), j.rend()) == j.size());                                    CHECK(std::distance(j.rbegin(), j.rend()) == j.size());             
                    CHECK(std::distance(j_const.crbegin(), j_const.crend()) == j_const.s                       CHECK(std::distance(j_const.crbegin(), j_const.crend()) == j_const.s
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("filled array")                                                                    SECTION("filled object")                                                    
            {                                                                                          {                                                                           
                json j = {1, 2, 3};                                                                        json j = {{"one", 1}, {"two", 2}, {"three", 3}};                        
                const json j_const(j);                                                                     const json j_const(j);                                                  
                                                                                                                                                                                   
                SECTION("result of size")                                                                  SECTION("result of size")                                               
                {                                                                                          {                                                                       
                    CHECK(j.size() == 3);                                                                      CHECK(j.size() == 3);                                               
                    CHECK(j_const.size() == 3);                                                                CHECK(j_const.size() == 3);                                         
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("definition of size")                                                              SECTION("definition of size")                                           
                {                                                                                          {                                                                       
                    CHECK(std::distance(j.begin(), j.end()) == j.size());                                      CHECK(std::distance(j.begin(), j.end()) == j.size());               
                    CHECK(std::distance(j_const.begin(), j_const.end()) == j_const.size(                       CHECK(std::distance(j_const.begin(), j_const.end()) == j_const.size(
                    CHECK(std::distance(j.rbegin(), j.rend()) == j.size());                                    CHECK(std::distance(j.rbegin(), j.rend()) == j.size());             
                    CHECK(std::distance(j_const.crbegin(), j_const.crend()) == j_const.s                       CHECK(std::distance(j_const.crbegin(), j_const.crend()) == j_const.s
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:433                                                      │ json/tests/src/unit-bjdata.cpp:549                                                       
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 32767; ++i)                                                      for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           2147483648u, 3333333333u, 4294967295u                   
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back('m');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'm');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:433                                                      │ json/tests/src/unit-bjdata.cpp:506                                                       
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 32767; ++i)                                                      for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           65536u, 77777u, 2147483647u                             
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back('l');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'l');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:433                                                      │ json/tests/src/unit-ubjson.cpp:468                                                       
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 32767; ++i)                                                      for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           65536u, 77777u, 1048576u                                
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back('l');                                        
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'l');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[4]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:433                                                      │ json/tests/src/unit-bjdata.cpp:468                                                       
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 32767; ++i)                                                      for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           32768u, 55555u, 65535u                                  
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back(static_cast<uint8_t>('u'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'u');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1067                                                     │ json/tests/src/unit-ubjson.cpp:1104                                                      
                                                                                                                                                                                   
                for (std::size_t N :                                                                       for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 32767u                                                    32768u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with byte array containing of N * 'x'                                 // create JSON value with byte array containing of N * 'x'          
                    const auto s = std::vector<std::uint8_t>(N, 'x');                                          const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<std::uint8_t> expected(N + 7, 'x');                                            std::vector<std::uint8_t> expected(N + 9, 'x');                     
                    expected[0] = '[';                                                                         expected[0] = '[';                                                  
                    expected[1] = '$';                                                                         expected[1] = '$';                                                  
                    expected[2] = 'U';                                                                         expected[2] = 'U';                                                  
                    expected[3] = '#';                                                                         expected[3] = '#';                                                  
                    expected[4] = 'I';                                                                         expected[4] = 'l';                                                  
                    expected[5] = static_cast<std::uint8_t>((N >> 8) & 0xFF);                                  expected[5] = static_cast<std::uint8_t>((N >> 24) & 0xFF);          
                    expected[6] = static_cast<std::uint8_t>(N & 0xFF);                                         expected[6] = static_cast<std::uint8_t>((N >> 16) & 0xFF);          
                                                                                                               expected[7] = static_cast<std::uint8_t>((N >> 8) & 0xFF);           
                                                                                                               expected[8] = static_cast<std::uint8_t>(N & 0xFF);                  
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 7);                                                             CHECK(result.size() == N + 9);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip only works to an array of numbers                                             // roundtrip only works to an array of numbers                      
                    json j_out = s;                                                                            json j_out = s;                                                     
                    CHECK(json::from_ubjson(result) == j_out);                                                 CHECK(json::from_ubjson(result) == j_out);                          
                    CHECK(json::from_ubjson(result, true, false) == j_out);                                    CHECK(json::from_ubjson(result, true, false) == j_out);             
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1460                                                     │ json/tests/src/unit-bjdata.cpp:1534                                                      
                                                                                                                                                                                   
                for (std::size_t N :                                                                       for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 32767u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with byte array containing of N * 'x'                                 // create JSON value with byte array containing of N * 'x'          
                    const auto s = std::vector<std::uint8_t>(N, 'x');                                          const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<std::uint8_t> expected(N + 7, 'x');                                            std::vector<std::uint8_t> expected(N + 9, 'x');                     
                    expected[0] = '[';                                                                         expected[0] = '[';                                                  
                    expected[1] = '$';                                                                         expected[1] = '$';                                                  
                    expected[2] = 'U';                                                                         expected[2] = 'U';                                                  
                    expected[3] = '#';                                                                         expected[3] = '#';                                                  
                    expected[4] = 'I';                                                                         expected[4] = 'l';                                                  
                    expected[5] = static_cast<std::uint8_t>(N & 0xFF);                                         expected[5] = static_cast<std::uint8_t>(N & 0xFF);                  
                    expected[6] = static_cast<std::uint8_t>((N >> 8) & 0xFF);                                  expected[6] = static_cast<std::uint8_t>((N >> 8) & 0xFF);           
                                                                                                               expected[7] = static_cast<std::uint8_t>((N >> 16) & 0xFF);          
                                                                                                               expected[8] = static_cast<std::uint8_t>((N >> 24) & 0xFF);          
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 7);                                                             CHECK(result.size() == N + 9);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip only works to an array of numbers                                             // roundtrip only works to an array of numbers                      
                    json j_out = s;                                                                            json j_out = s;                                                     
                    CHECK(json::from_bjdata(result) == j_out);                                                 CHECK(json::from_bjdata(result) == j_out);                          
                    CHECK(json::from_bjdata(result, true, false) == j_out);                                    CHECK(json::from_bjdata(result, true, false) == j_out);             
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:483                                                        │ json/tests/src/unit-cbor.cpp:305                                                         
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 65535; ++i)                                                      for (int32_t i = -65536; i <= -257; ++i)                            
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(0x19));                                            expected.push_back(static_cast<uint8_t>(0x39));                 
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 auto positive = static_cast<uint16_t>(-1 - i);                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>((positive >> 8) & 0xff))
                                                                                                                   expected.push_back(static_cast<uint8_t>(positive & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0x19);                                                                  CHECK(result[0] == 0x39);                                       
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == positive);                                    
                                                                                                                   CHECK(-1 - restored == i);                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1497                                                     │ json/tests/src/unit-bjdata.cpp:1534                                                      
                                                                                                                                                                                   
                for (std::size_t N :                                                                       for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            32768u, 55555u, 65535u                                                                     65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with byte array containing of N * 'x'                                 // create JSON value with byte array containing of N * 'x'          
                    const auto s = std::vector<std::uint8_t>(N, 'x');                                          const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<std::uint8_t> expected(N + 7, 'x');                                            std::vector<std::uint8_t> expected(N + 9, 'x');                     
                    expected[0] = '[';                                                                         expected[0] = '[';                                                  
                    expected[1] = '$';                                                                         expected[1] = '$';                                                  
                    expected[2] = 'U';                                                                         expected[2] = 'U';                                                  
                    expected[3] = '#';                                                                         expected[3] = '#';                                                  
                    expected[4] = 'u';                                                                         expected[4] = 'l';                                                  
                    expected[5] = static_cast<std::uint8_t>(N & 0xFF);                                         expected[5] = static_cast<std::uint8_t>(N & 0xFF);                  
                    expected[6] = static_cast<std::uint8_t>((N >> 8) & 0xFF);                                  expected[6] = static_cast<std::uint8_t>((N >> 8) & 0xFF);           
                                                                                                               expected[7] = static_cast<std::uint8_t>((N >> 16) & 0xFF);          
                                                                                                               expected[8] = static_cast<std::uint8_t>((N >> 24) & 0xFF);          
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 7);                                                             CHECK(result.size() == N + 9);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip only works to an array of numbers                                             // roundtrip only works to an array of numbers                      
                    json j_out = s;                                                                            json j_out = s;                                                     
                    CHECK(json::from_bjdata(result) == j_out);                                                 CHECK(json::from_bjdata(result) == j_out);                          
                    CHECK(json::from_bjdata(result, true, false) == j_out);                                    CHECK(json::from_bjdata(result, true, false) == j_out);             
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1497                                                     │ json/tests/src/unit-bjdata.cpp:1460                                                      
                                                                                                                                                                                   
                for (std::size_t N :                                                                       for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            32768u, 55555u, 65535u                                                                     256u, 999u, 1025u, 3333u, 2048u, 32767u                     
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with byte array containing of N * 'x'                                 // create JSON value with byte array containing of N * 'x'          
                    const auto s = std::vector<std::uint8_t>(N, 'x');                                          const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<std::uint8_t> expected(N + 7, 'x');                                            std::vector<std::uint8_t> expected(N + 7, 'x');                     
                    expected[0] = '[';                                                                         expected[0] = '[';                                                  
                    expected[1] = '$';                                                                         expected[1] = '$';                                                  
                    expected[2] = 'U';                                                                         expected[2] = 'U';                                                  
                    expected[3] = '#';                                                                         expected[3] = '#';                                                  
                    expected[4] = 'u';                                                                         expected[4] = 'I';                                                  
                    expected[5] = static_cast<std::uint8_t>(N & 0xFF);                                         expected[5] = static_cast<std::uint8_t>(N & 0xFF);                  
                    expected[6] = static_cast<std::uint8_t>((N >> 8) & 0xFF);                                  expected[6] = static_cast<std::uint8_t>((N >> 8) & 0xFF);           
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 7);                                                             CHECK(result.size() == N + 7);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip only works to an array of numbers                                             // roundtrip only works to an array of numbers                      
                    json j_out = s;                                                                            json j_out = s;                                                     
                    CHECK(json::from_bjdata(result) == j_out);                                                 CHECK(json::from_bjdata(result) == j_out);                          
                    CHECK(json::from_bjdata(result, true, false) == j_out);                                    CHECK(json::from_bjdata(result, true, false) == j_out);             
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:792                                                      │ json/tests/src/unit-bjdata.cpp:549                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                32768u, 55555u, 65535u                                                                     2147483648u, 3333333333u, 4294967295u                   
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('u');                                                                   expected.push_back('m');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'm');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:792                                                      │ json/tests/src/unit-bjdata.cpp:506                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                32768u, 55555u, 65535u                                                                     65536u, 77777u, 2147483647u                             
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('u');                                                                   expected.push_back('l');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'l');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1243                                                     │ json/tests/src/unit-ubjson.cpp:1360                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'[', 'Z', ']'};                                           std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[258] = ']'; // closing array                               
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};                                   std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[1] = '#'; // array size                                    
                                                                                                               expected[2] = 'I'; // int16                                         
                                                                                                               expected[3] = 0x01; // 0x0101, first byte                           
                                                                                                               expected[4] = 0x01; // 0x0101, second byte                          
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'i', 1};                              std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'I', 0x01, 0x01
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:792                                                      │ json/tests/src/unit-bjdata.cpp:870                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                32768u, 55555u, 65535u                                                                     2147483648u, 3333333333u, 4294967295u                   
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('u');                                                                   expected.push_back('m');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'm');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:792                                                      │ json/tests/src/unit-bjdata.cpp:828                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                32768u, 55555u, 65535u                                                                     65536u, 77777u, 2147483647u                             
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('u');                                                                   expected.push_back('l');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 16) & 0xff));     
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 24) & 0xff));     
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'l');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[4]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[1]);           
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1243                                                     │ json/tests/src/unit-ubjson.cpp:1321                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', 'Z', ']'};                                           std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']', 
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};                                   std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'i', 1};                              std::vector<uint8_t> expected = {'[', '$', '[', '#', 'i', 1, '$', '[
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1243                                                     │ json/tests/src/unit-ubjson.cpp:1282                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', 'Z', ']'};                                           std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};                                   std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'i', 1};                              std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:792                                                      │ json/tests/src/unit-bjdata.cpp:468                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (uint32_t i :                                                   
                            {                                                                                          {                                                           
                                32768u, 55555u, 65535u                                                                     32768u, 55555u, 65535u                                  
                            })                                                                                         })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('u');                                                                   expected.push_back(static_cast<uint8_t>('u'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'u');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1243                                                     │ json/tests/src/unit-ubjson.cpp:1496                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = {{"", nullptr}};                                           
                    std::vector<uint8_t> expected = {'[', 'Z', ']'};                                           std::vector<uint8_t> expected = {'{', 'i', 0, 'Z', '}'};            
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = {{"", nullptr}};                                           
                    std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};                                   std::vector<uint8_t> expected = {'{', '#', 'i', 1, 'i', 0, 'Z'};    
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = {{"", nullptr}};                                           
                    std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'i', 1};                              std::vector<uint8_t> expected = {'{', '$', 'Z', '#', 'i', 1, 'i', 0}
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:792                                                      │ json/tests/src/unit-bjdata.cpp:433                                                       
                                                                                                                                                                                   
                    for (uint32_t i :                                                                          for (size_t i = 256; i <= 32767; ++i)                               
                            {                                                                                                                                                      
                                32768u, 55555u, 65535u                                                                                                                             
                            })                                                                                                                                                     
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('u');                                                                   expected.push_back(static_cast<uint8_t>('I'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'u');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:2548                                                       │ json/tests/src/unit-cbor.cpp:2583                                                        
                                                                                                                                                                                   
        SECTION("success")                                                                         SECTION("success")                                                              
        {                                                                                          {                                                                               
            // add tag to value                                                                        // add tag to value                                                         
            auto v_tagged = v;                                                                         auto v_tagged = v;                                                          
            v_tagged.insert(v_tagged.begin(), 0x42); // 1 byte                                         v_tagged.insert(v_tagged.begin(), 0x42); // 1 byte                          
            v_tagged.insert(v_tagged.begin(), 0x23); // 1 byte                                         v_tagged.insert(v_tagged.begin(), 0x23); // 1 byte                          
            v_tagged.insert(v_tagged.begin(), 0xD9); // tag                                            v_tagged.insert(v_tagged.begin(), 0x22); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0x11); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0xDA); // tag                             
                                                                                                                                                                                   
            // check that parsing fails in error mode                                                  // check that parsing fails in error mode                                   
            json _;                                                                                    json _;                                                                     
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);                         CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);          
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han               CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han
                                                                                                                                                                                   
            // check that parsing succeeds and gets original value in ignore mode                      // check that parsing succeeds and gets original value in ignore mode       
            auto j_tagged = json::from_cbor(v_tagged, true, true, json::cbor_tag_handler               auto j_tagged = json::from_cbor(v_tagged, true, true, json::cbor_tag_handler
            CHECK(j_tagged == j);                                                                      CHECK(j_tagged == j);                                                       
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("missing byte after tag")                                                          SECTION("missing bytes after tag")                                              
        {                                                                                          {                                                                               
            // add tag to value                                                                        // add tag to value                                                         
            auto v_tagged = v;                                                                         auto v_tagged = v;                                                          
            v_tagged.insert(v_tagged.begin(), 0x23); // 1 byte                                         v_tagged.insert(v_tagged.begin(), 0x23); // 1 byte                          
            v_tagged.insert(v_tagged.begin(), 0xD9); // tag                                            v_tagged.insert(v_tagged.begin(), 0x22); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0x11); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0xDA); // tag                             
                                                                                                                                                                                   
            // check that parsing fails in all modes                                                   // check that parsing fails in all modes                                    
            json _;                                                                                    json _;                                                                     
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);                         CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);          
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han               CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han               CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1457                                                     │ json/tests/src/unit-ubjson.cpp:1360                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'{', '}'};                                                std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[258] = ']'; // closing array                               
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[1] = '#'; // array size                                    
                                                                                                               expected[2] = 'I'; // int16                                         
                                                                                                               expected[3] = 0x01; // 0x0101, first byte                           
                                                                                                               expected[4] = 0x01; // 0x0101, second byte                          
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'I', 0x01, 0x01
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1457                                                     │ json/tests/src/unit-ubjson.cpp:1321                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'{', '}'};                                                std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']', 
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', '[', '#', 'i', 1, '$', '[
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1672                                                     │ json/tests/src/unit-bjdata.cpp:1750                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', 'Z', ']'};                                           std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']', 
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};                                   std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};                                   std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1896                                                     │ json/tests/src/unit-bjdata.cpp:1750                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'{', '}'};                                                std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']', 
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1457                                                     │ json/tests/src/unit-ubjson.cpp:1282                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'{', '}'};                                                std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1672                                                     │ json/tests/src/unit-bjdata.cpp:1711                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', 'Z', ']'};                                           std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};                                   std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = {nullptr};                                                                        json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};                                   std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1896                                                     │ json/tests/src/unit-bjdata.cpp:1711                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'{', '}'};                                                std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1457                                                     │ json/tests/src/unit-ubjson.cpp:1496                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = {{"", nullptr}};                                           
                    std::vector<uint8_t> expected = {'{', '}'};                                                std::vector<uint8_t> expected = {'{', 'i', 0, 'Z', '}'};            
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = {{"", nullptr}};                                           
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'{', '#', 'i', 1, 'i', 0, 'Z'};    
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = {{"", nullptr}};                                           
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'{', '$', 'Z', '#', 'i', 1, 'i', 0}
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1457                                                     │ json/tests/src/unit-ubjson.cpp:1243                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'{', '}'};                                                std::vector<uint8_t> expected = {'[', 'Z', ']'};                    
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};            
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'i', 1};       
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1896                                                     │ json/tests/src/unit-bjdata.cpp:1672                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'{', '}'};                                                std::vector<uint8_t> expected = {'[', 'Z', ']'};                    
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};            
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::object();                                                                   json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'{', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};            
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1204                                                     │ json/tests/src/unit-ubjson.cpp:1360                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[258] = ']'; // closing array                               
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null       
                                                                                                               expected[0] = '['; // opening array                                 
                                                                                                               expected[1] = '#'; // array size                                    
                                                                                                               expected[2] = 'I'; // int16                                         
                                                                                                               expected[3] = 0x01; // 0x0101, first byte                           
                                                                                                               expected[4] = 0x01; // 0x0101, second byte                          
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j(257, nullptr);                                               
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'I', 0x01, 0x01
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1204                                                     │ json/tests/src/unit-ubjson.cpp:1321                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']', 
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', '[', '#', 'i', 1, '$', '[
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1633                                                     │ json/tests/src/unit-bjdata.cpp:1750                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected = {'[', '[', '[', '[', ']', ']', ']', 
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[[[[]]]]");                                   
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, '[', '#', 'i', 1,
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1204                                                     │ json/tests/src/unit-ubjson.cpp:1282                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1633                                                     │ json/tests/src/unit-bjdata.cpp:1711                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected = {'[', 'i', 1, 'i', 2, 'i', 3, 'i', 4
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 5, 'i', 1, 'i', 2, '
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::parse("[1,2,3,4,5]");                                
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', 'i', '#', 'i', 5, 1, 2, 3
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1204                                                     │ json/tests/src/unit-ubjson.cpp:1496                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = {{"", nullptr}};                                           
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected = {'{', 'i', 0, 'Z', '}'};            
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = {{"", nullptr}};                                           
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'{', '#', 'i', 1, 'i', 0, 'Z'};    
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = {{"", nullptr}};                                           
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'{', '$', 'Z', '#', 'i', 1, 'i', 0}
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1204                                                     │ json/tests/src/unit-ubjson.cpp:1243                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected = {'[', 'Z', ']'};                    
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};            
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '$', 'Z', '#', 'i', 1};       
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1204                                                     │ json/tests/src/unit-ubjson.cpp:1457                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::object();                                            
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected = {'{', '}'};                         
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::object();                                            
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'{', '#', 'i', 0};                 
                    const auto result = json::to_ubjson(j, true);                                              const auto result = json::to_ubjson(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::object();                                            
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'{', '#', 'i', 0};                 
                    const auto result = json::to_ubjson(j, true, true);                                        const auto result = json::to_ubjson(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1633                                                     │ json/tests/src/unit-bjdata.cpp:1672                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected = {'[', 'Z', ']'};                    
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};            
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = {nullptr};                                                 
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'[', '#', 'i', 1, 'Z'};            
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1633                                                     │ json/tests/src/unit-bjdata.cpp:1896                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::object();                                            
                    std::vector<uint8_t> expected = {'[', ']'};                                                std::vector<uint8_t> expected = {'{', '}'};                         
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::object();                                            
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'{', '#', 'i', 0};                 
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=true")                                                             SECTION("size=true type=true")                                          
                {                                                                                          {                                                                       
                    json j = json::array();                                                                    json j = json::object();                                            
                    std::vector<uint8_t> expected = {'[', '#', 'i', 0};                                        std::vector<uint8_t> expected = {'{', '#', 'i', 0};                 
                    const auto result = json::to_bjdata(j, true, true);                                        const auto result = json::to_bjdata(j, true, true);                 
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bson.cpp:669                                                        │ json/tests/src/unit-cbor.cpp:44                                                          
                                                                                                                                                                                   
class SaxCountdown                                                                         class SaxCountdown                                                                      
{                                                                                          {                                                                                       
  public:                                                                                    public:                                                                               
    explicit SaxCountdown(const int count) : events_left(count)                                explicit SaxCountdown(const int count) : events_left(count)                         
    {}                                                                                         {}                                                                                  
                                                                                                                                                                                   
    bool null()                                                                                bool null()                                                                         
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool boolean(bool /*unused*/)                                                              bool boolean(bool /*unused*/)                                                       
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool number_integer(json::number_integer_t /*unused*/)                                     bool number_integer(json::number_integer_t /*unused*/)                              
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool number_unsigned(json::number_unsigned_t /*unused*/)                                   bool number_unsigned(json::number_unsigned_t /*unused*/)                            
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool number_float(json::number_float_t /*unused*/, const std::string& /*unused*/)          bool number_float(json::number_float_t /*unused*/, const std::string& /*unused*/)   
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool string(std::string& /*unused*/)                                                       bool string(std::string& /*unused*/)                                                
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool binary(std::vector<std::uint8_t>& /*unused*/)                                         bool binary(std::vector<std::uint8_t>& /*unused*/)                                  
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool start_object(std::size_t /*unused*/)                                                  bool start_object(std::size_t /*unused*/)                                           
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool key(std::string& /*unused*/)                                                          bool key(std::string& /*unused*/)                                                   
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool end_object()                                                                          bool end_object()                                                                   
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool start_array(std::size_t /*unused*/)                                                   bool start_array(std::size_t /*unused*/)                                            
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool end_array()                                                                           bool end_array()                                                                    
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const json::       bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const json::
    {                                                                                          {                                                                                   
        return false;                                                                              return false;                                                                   
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
  private:                                                                                   private:                                                                              
    int events_left = 0;                                                                       int events_left = 0;                                                                
};                                                                                         };                                                                                      
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bson.cpp:669                                                        │ json/tests/src/unit-ubjson.cpp:42                                                        
                                                                                                                                                                                   
class SaxCountdown                                                                         class SaxCountdown                                                                      
{                                                                                          {                                                                                       
  public:                                                                                    public:                                                                               
    explicit SaxCountdown(const int count) : events_left(count)                                explicit SaxCountdown(const int count) : events_left(count)                         
    {}                                                                                         {}                                                                                  
                                                                                                                                                                                   
    bool null()                                                                                bool null()                                                                         
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool boolean(bool /*unused*/)                                                              bool boolean(bool /*unused*/)                                                       
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool number_integer(json::number_integer_t /*unused*/)                                     bool number_integer(json::number_integer_t /*unused*/)                              
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool number_unsigned(json::number_unsigned_t /*unused*/)                                   bool number_unsigned(json::number_unsigned_t /*unused*/)                            
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool number_float(json::number_float_t /*unused*/, const std::string& /*unused*/)          bool number_float(json::number_float_t /*unused*/, const std::string& /*unused*/)   
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool string(std::string& /*unused*/)                                                       bool string(std::string& /*unused*/)                                                
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool binary(std::vector<std::uint8_t>& /*unused*/)                                         bool binary(std::vector<std::uint8_t>& /*unused*/)                                  
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool start_object(std::size_t /*unused*/)                                                  bool start_object(std::size_t /*unused*/)                                           
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool key(std::string& /*unused*/)                                                          bool key(std::string& /*unused*/)                                                   
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool end_object()                                                                          bool end_object()                                                                   
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool start_array(std::size_t /*unused*/)                                                   bool start_array(std::size_t /*unused*/)                                            
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool end_array()                                                                           bool end_array()                                                                    
    {                                                                                          {                                                                                   
        return events_left-- > 0;                                                                  return events_left-- > 0;                                                       
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const json::       bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const json::
    {                                                                                          {                                                                                   
        return false;                                                                              return false;                                                                   
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
  private:                                                                                   private:                                                                              
    int events_left = 0;                                                                       int events_left = 0;                                                                
};                                                                                         };                                                                                      
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:667                                             │ json/tests/src/unit-element_access2.cpp:704                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::array);                                                    json j_nonobject(json::value_t::number_unsigned);                   
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")], "                       CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                                                                                                                    "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:667                                             │ json/tests/src/unit-element_access2.cpp:685                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::array);                                                    json j_nonobject(json::value_t::number_integer);                    
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")], "                       CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                                                                                                                    "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:667                                             │ json/tests/src/unit-element_access2.cpp:629                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::array);                                                    json j_nonobject(json::value_t::boolean);                           
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")], "                       CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                                                                                                                    "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:667                                             │ json/tests/src/unit-element_access2.cpp:723                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::array);                                                    json j_nonobject(json::value_t::number_float);                      
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")], "                       CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                                                                                                                    "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-element_access2.cpp:667                                             │ json/tests/src/unit-element_access2.cpp:648                                              
                                                                                                                                                                                   
                    json j_nonobject(json::value_t::array);                                                    json j_nonobject(json::value_t::string);                            
                    const json j_const_nonobject(j_nonobject);                                                 const json j_const_nonobject(j_nonobject);                          
                    CHECK_THROWS_WITH_AS(j_nonobject["foo"],                                                   CHECK_THROWS_WITH_AS(j_nonobject["foo"],                            
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")], "                       CHECK_THROWS_WITH_AS(j_nonobject[json::object_t::key_type("foo")],  
                                                                                                                                    "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                                             CHECK_THROWS_WITH_AS(j_const_nonobject["foo"],                      
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                    CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo                       CHECK_THROWS_WITH_AS(j_const_nonobject[json::object_t::key_type("foo
                                         "[json.exception.type_error.305] cannot use ope                                            "[json.exception.type_error.305] cannot use ope
                                                                                                                                                                                   
#ifdef JSON_HAS_CPP_17                                                                     #ifdef JSON_HAS_CPP_17                                                                  
                    CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex                       CHECK_THROWS_WITH_AS(j_nonobject[std::string_view("foo")], "[json.ex
                    CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j                       CHECK_THROWS_WITH_AS(j_const_nonobject[std::string_view("foo")], "[j
#endif                                                                                     #endif                                                                                  
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/thirdparty/Fuzzer/test/FuzzerUnittest.cpp:230                                │ json/tests/thirdparty/Fuzzer/test/FuzzerUnittest.cpp:150                                 
                                                                                                                                                                                   
  std::unique_ptr<ExternalFunctions> t(new ExternalFunctions());                             std::unique_ptr<ExternalFunctions> t(new ExternalFunctions());                        
  fuzzer::EF = t.get();                                                                      fuzzer::EF = t.get();                                                                 
  Random Rand(0);                                                                            Random Rand(0);                                                                       
  MutationDispatcher MD(Rand, {});                                                           MutationDispatcher MD(Rand, {});                                                      
  int FoundMask = 0;                                                                         int FoundMask = 0;                                                                    
  uint8_t CH0[8] = {0xF0, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};                         uint8_t INS0[8] = {0xF1, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66};                   
  uint8_t CH1[8] = {0x00, 0xF1, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};                         uint8_t INS1[8] = {0x00, 0xF2, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66};                   
  uint8_t CH2[8] = {0x00, 0x11, 0xF2, 0x33, 0x44, 0x55, 0x66, 0x77};                         uint8_t INS2[8] = {0x00, 0x11, 0xF3, 0x22, 0x33, 0x44, 0x55, 0x66};                   
  uint8_t CH3[8] = {0x00, 0x11, 0x22, 0xF3, 0x44, 0x55, 0x66, 0x77};                         uint8_t INS3[8] = {0x00, 0x11, 0x22, 0xF4, 0x33, 0x44, 0x55, 0x66};                   
  uint8_t CH4[8] = {0x00, 0x11, 0x22, 0x33, 0xF4, 0x55, 0x66, 0x77};                         uint8_t INS4[8] = {0x00, 0x11, 0x22, 0x33, 0xF5, 0x44, 0x55, 0x66};                   
  uint8_t CH5[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0xF5, 0x66, 0x77};                         uint8_t INS5[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0xF6, 0x55, 0x66};                   
  uint8_t CH6[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0xF5, 0x77};                         uint8_t INS6[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0xF7, 0x66};                   
  uint8_t CH7[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0xF7};                         uint8_t INS7[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0xF8};                   
  for (int i = 0; i < NumIter; i++) {                                                        for (int i = 0; i < NumIter; i++) {                                                   
    uint8_t T[9] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};                           uint8_t T[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66};                          
    size_t NewSize = (MD.*M)(T, 8, 9);                                                         size_t NewSize = (MD.*M)(T, 7, 8);                                                  
    if (NewSize == 8 && !memcmp(CH0, T, 8)) FoundMask |= 1 << 0;                               if (NewSize == 8 && !memcmp(INS0, T, 8)) FoundMask |= 1 << 0;                       
    if (NewSize == 8 && !memcmp(CH1, T, 8)) FoundMask |= 1 << 1;                               if (NewSize == 8 && !memcmp(INS1, T, 8)) FoundMask |= 1 << 1;                       
    if (NewSize == 8 && !memcmp(CH2, T, 8)) FoundMask |= 1 << 2;                               if (NewSize == 8 && !memcmp(INS2, T, 8)) FoundMask |= 1 << 2;                       
    if (NewSize == 8 && !memcmp(CH3, T, 8)) FoundMask |= 1 << 3;                               if (NewSize == 8 && !memcmp(INS3, T, 8)) FoundMask |= 1 << 3;                       
    if (NewSize == 8 && !memcmp(CH4, T, 8)) FoundMask |= 1 << 4;                               if (NewSize == 8 && !memcmp(INS4, T, 8)) FoundMask |= 1 << 4;                       
    if (NewSize == 8 && !memcmp(CH5, T, 8)) FoundMask |= 1 << 5;                               if (NewSize == 8 && !memcmp(INS5, T, 8)) FoundMask |= 1 << 5;                       
    if (NewSize == 8 && !memcmp(CH6, T, 8)) FoundMask |= 1 << 6;                               if (NewSize == 8 && !memcmp(INS6, T, 8)) FoundMask |= 1 << 6;                       
    if (NewSize == 8 && !memcmp(CH7, T, 8)) FoundMask |= 1 << 7;                               if (NewSize == 8 && !memcmp(INS7, T, 8)) FoundMask |= 1 << 7;                       
  }                                                                                          }                                                                                     
  EXPECT_EQ(FoundMask, 255);                                                                 EXPECT_EQ(FoundMask, 255);                                                            
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/thirdparty/Fuzzer/test/FuzzerUnittest.cpp:266                                │ json/tests/thirdparty/Fuzzer/test/FuzzerUnittest.cpp:230                                 
                                                                                                                                                                                   
  std::unique_ptr<ExternalFunctions> t(new ExternalFunctions());                             std::unique_ptr<ExternalFunctions> t(new ExternalFunctions());                        
  fuzzer::EF = t.get();                                                                      fuzzer::EF = t.get();                                                                 
  Random Rand(0);                                                                            Random Rand(0);                                                                       
  MutationDispatcher MD(Rand, {});                                                           MutationDispatcher MD(Rand, {});                                                      
  int FoundMask = 0;                                                                         int FoundMask = 0;                                                                    
  uint8_t CH0[8] = {0x01, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};                         uint8_t CH0[8] = {0xF0, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};                    
  uint8_t CH1[8] = {0x00, 0x13, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};                         uint8_t CH1[8] = {0x00, 0xF1, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};                    
  uint8_t CH2[8] = {0x00, 0x11, 0x02, 0x33, 0x44, 0x55, 0x66, 0x77};                         uint8_t CH2[8] = {0x00, 0x11, 0xF2, 0x33, 0x44, 0x55, 0x66, 0x77};                    
  uint8_t CH3[8] = {0x00, 0x11, 0x22, 0x37, 0x44, 0x55, 0x66, 0x77};                         uint8_t CH3[8] = {0x00, 0x11, 0x22, 0xF3, 0x44, 0x55, 0x66, 0x77};                    
  uint8_t CH4[8] = {0x00, 0x11, 0x22, 0x33, 0x54, 0x55, 0x66, 0x77};                         uint8_t CH4[8] = {0x00, 0x11, 0x22, 0x33, 0xF4, 0x55, 0x66, 0x77};                    
  uint8_t CH5[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x54, 0x66, 0x77};                         uint8_t CH5[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0xF5, 0x66, 0x77};                    
  uint8_t CH6[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x76, 0x77};                         uint8_t CH6[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0xF5, 0x77};                    
  uint8_t CH7[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0xF7};                         uint8_t CH7[8] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0xF7};                    
  for (int i = 0; i < NumIter; i++) {                                                        for (int i = 0; i < NumIter; i++) {                                                   
    uint8_t T[9] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};                           uint8_t T[9] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};                    
    size_t NewSize = (MD.*M)(T, 8, 9);                                                         size_t NewSize = (MD.*M)(T, 8, 9);                                                  
    if (NewSize == 8 && !memcmp(CH0, T, 8)) FoundMask |= 1 << 0;                               if (NewSize == 8 && !memcmp(CH0, T, 8)) FoundMask |= 1 << 0;                        
    if (NewSize == 8 && !memcmp(CH1, T, 8)) FoundMask |= 1 << 1;                               if (NewSize == 8 && !memcmp(CH1, T, 8)) FoundMask |= 1 << 1;                        
    if (NewSize == 8 && !memcmp(CH2, T, 8)) FoundMask |= 1 << 2;                               if (NewSize == 8 && !memcmp(CH2, T, 8)) FoundMask |= 1 << 2;                        
    if (NewSize == 8 && !memcmp(CH3, T, 8)) FoundMask |= 1 << 3;                               if (NewSize == 8 && !memcmp(CH3, T, 8)) FoundMask |= 1 << 3;                        
    if (NewSize == 8 && !memcmp(CH4, T, 8)) FoundMask |= 1 << 4;                               if (NewSize == 8 && !memcmp(CH4, T, 8)) FoundMask |= 1 << 4;                        
    if (NewSize == 8 && !memcmp(CH5, T, 8)) FoundMask |= 1 << 5;                               if (NewSize == 8 && !memcmp(CH5, T, 8)) FoundMask |= 1 << 5;                        
    if (NewSize == 8 && !memcmp(CH6, T, 8)) FoundMask |= 1 << 6;                               if (NewSize == 8 && !memcmp(CH6, T, 8)) FoundMask |= 1 << 6;                        
    if (NewSize == 8 && !memcmp(CH7, T, 8)) FoundMask |= 1 << 7;                               if (NewSize == 8 && !memcmp(CH7, T, 8)) FoundMask |= 1 << 7;                        
  }                                                                                          }                                                                                     
  EXPECT_EQ(FoundMask, 255);                                                                 EXPECT_EQ(FoundMask, 255);                                                            
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:307                                                        │ json/tests/src/unit-cbor.cpp:266                                                         
                                                                                                                                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(0x39));                                            expected.push_back(static_cast<uint8_t>(0x3a));                 
                        auto positive = static_cast<uint16_t>(-1 - i);                                             auto positive = static_cast<uint32_t>(static_cast<uint64_t>(-1 -
                                                                                                                   expected.push_back(static_cast<uint8_t>((positive >> 24) & 0xff)
                                                                                                                   expected.push_back(static_cast<uint8_t>((positive >> 16) & 0xff)
                        expected.push_back(static_cast<uint8_t>((positive >> 8) & 0xff))                           expected.push_back(static_cast<uint8_t>((positive >> 8) & 0xff))
                        expected.push_back(static_cast<uint8_t>(positive & 0xff));                                 expected.push_back(static_cast<uint8_t>(positive & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 5);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0x39);                                                                  CHECK(result[0] == 0x3a);                                       
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           uint32_t restored = (static_cast<uint32_t>(result[1]) << 030) + 
                                                                                                                                       (static_cast<uint32_t>(result[2]) << 020) + 
                                                                                                                                       (static_cast<uint32_t>(result[3]) << 010) + 
                                                                                                                                       static_cast<uint32_t>(result[4]);           
                        CHECK(restored == positive);                                                               CHECK(restored == positive);                                    
                        CHECK(-1 - restored == i);                                                                 CHECK(-1LL - restored == i);                                    
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:906                                                      │ json/tests/src/unit-ubjson.cpp:940                                                       
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 32767u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::string(N, 'x');                                 
                    json j = s;                                                                                json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 'I');                                                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), 'l');                             
                    expected.insert(expected.begin(), 'S');                                                    expected.insert(expected.begin(), 'S');                             
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 4);                                                             CHECK(result.size() == N + 6);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1264                                                     │ json/tests/src/unit-bjdata.cpp:1332                                                      
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 32767u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::string(N, 'x');                                 
                    json j = s;                                                                                json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), 'I');                                                    expected.insert(expected.begin(), 'l');                             
                    expected.insert(expected.begin(), 'S');                                                    expected.insert(expected.begin(), 'S');                             
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 4);                                                             CHECK(result.size() == N + 6);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-class_iterator.cpp:77                                               │ json/tests/src/unit-class_const_iterator.cpp:87                                          
                                                                                                                                                                                   
        SECTION("set_begin")                                                                       SECTION("set_begin")                                                            
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j(json::value_t::null);                                                               json j(json::value_t::null);                                            
                json::iterator it(&j);                                                                     json::const_iterator it(&j);                                            
                it.set_begin();                                                                            it.set_begin();                                                         
                CHECK((it == j.begin()));                                                                  CHECK((it == j.cbegin()));                                              
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j(json::value_t::object);                                                             json j(json::value_t::object);                                          
                json::iterator it(&j);                                                                     json::const_iterator it(&j);                                            
                it.set_begin();                                                                            it.set_begin();                                                         
                CHECK((it == j.begin()));                                                                  CHECK((it == j.cbegin()));                                              
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                json j(json::value_t::array);                                                              json j(json::value_t::array);                                           
                json::iterator it(&j);                                                                     json::const_iterator it(&j);                                            
                it.set_begin();                                                                            it.set_begin();                                                         
                CHECK((it == j.begin()));                                                                  CHECK((it == j.cbegin()));                                              
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("set_end")                                                                         SECTION("set_end")                                                              
        {                                                                                          {                                                                               
            SECTION("null")                                                                            SECTION("null")                                                             
            {                                                                                          {                                                                           
                json j(json::value_t::null);                                                               json j(json::value_t::null);                                            
                json::iterator it(&j);                                                                     json::const_iterator it(&j);                                            
                it.set_end();                                                                              it.set_end();                                                           
                CHECK((it == j.end()));                                                                    CHECK((it == j.cend()));                                                
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("object")                                                                          SECTION("object")                                                           
            {                                                                                          {                                                                           
                json j(json::value_t::object);                                                             json j(json::value_t::object);                                          
                json::iterator it(&j);                                                                     json::const_iterator it(&j);                                            
                it.set_end();                                                                              it.set_end();                                                           
                CHECK((it == j.end()));                                                                    CHECK((it == j.cend()));                                                
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("array")                                                                           SECTION("array")                                                            
            {                                                                                          {                                                                           
                json j(json::value_t::array);                                                              json j(json::value_t::array);                                           
                json::iterator it(&j);                                                                     json::const_iterator it(&j);                                            
                it.set_end();                                                                              it.set_end();                                                           
                CHECK((it == j.end()));                                                                    CHECK((it == j.cend()));                                                
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:1347                                                    │ json/tests/src/unit-msgpack.cpp:1380                                                     
                                                                                                                                                                                   
                for (std::size_t N :                                                                       for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::vector<std::uint8_t>(N, 'x');                                          const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<std::uint8_t> expected(N, 'x');                                                std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<std::uint8_t>(N & 0xff                       expected.insert(expected.begin(), static_cast<std::uint8_t>(N & 0xff
                    expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 8)                       expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 8)
                    expected.insert(expected.begin(), 0xC5);                                                   expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 16
                                                                                                               expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 24
                                                                                                               expected.insert(expected.begin(), 0xC6);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:1347                                                    │ json/tests/src/unit-msgpack.cpp:938                                                      
                                                                                                                                                                                   
                for (std::size_t N :                                                                       for (size_t N :                                                         
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::vector<std::uint8_t>(N, 'x');                                          const auto s = std::string(N, 'x');                                 
                    json j = json::binary(s);                                                                  json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<std::uint8_t> expected(N, 'x');                                                std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<std::uint8_t>(N & 0xff                       expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 8)                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0xC5);                                                   expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), 0xdb);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1823                                                     │ json/tests/src/unit-bjdata.cpp:1857                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j(32768, nullptr);                                                                    json j(65793, nullptr);                                             
                    std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null                              std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null       
                    expected[0] = '['; // opening array                                                        expected[0] = '['; // opening array                                 
                    expected[32769] = ']'; // closing array                                                    expected[65794] = ']'; // closing array                             
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j(32768, nullptr);                                                                    json j(65793, nullptr);                                             
                    std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null                              std::vector<uint8_t> expected(j.size() + 7, 'Z'); // all null       
                    expected[0] = '['; // opening array                                                        expected[0] = '['; // opening array                                 
                    expected[1] = '#'; // array size                                                           expected[1] = '#'; // array size                                    
                    expected[2] = 'u'; // int16                                                                expected[2] = 'l'; // int32                                         
                    expected[3] = 0x00; // 0x0101, first byte                                                  expected[3] = 0x01; // 0x00010101, fourth byte                      
                    expected[4] = 0x80; // 0x0101, second byte                                                 expected[4] = 0x01; // 0x00010101, third byte                       
                                                                                                               expected[5] = 0x01; // 0x00010101, second byte                      
                                                                                                               expected[6] = 0x00; // 0x00010101, first byte                       
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1298                                                     │ json/tests/src/unit-bjdata.cpp:1332                                                      
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            32768u, 55555u, 65535u                                                                     65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::string(N, 'x');                                 
                    json j = s;                                                                                json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), 'u');                                                    expected.insert(expected.begin(), 'l');                             
                    expected.insert(expected.begin(), 'S');                                                    expected.insert(expected.begin(), 'S');                             
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 4);                                                             CHECK(result.size() == N + 6);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1298                                                     │ json/tests/src/unit-bjdata.cpp:1264                                                      
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            32768u, 55555u, 65535u                                                                     256u, 999u, 1025u, 3333u, 2048u, 32767u                     
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::string(N, 'x');                                 
                    json j = s;                                                                                json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), 'u');                                                    expected.insert(expected.begin(), 'I');                             
                    expected.insert(expected.begin(), 'S');                                                    expected.insert(expected.begin(), 'S');                             
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 4);                                                             CHECK(result.size() == N + 4);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1789                                                     │ json/tests/src/unit-bjdata.cpp:1857                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j(257, nullptr);                                                                      json j(65793, nullptr);                                             
                    std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null                              std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null       
                    expected[0] = '['; // opening array                                                        expected[0] = '['; // opening array                                 
                    expected[258] = ']'; // closing array                                                      expected[65794] = ']'; // closing array                             
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j(257, nullptr);                                                                      json j(65793, nullptr);                                             
                    std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null                              std::vector<uint8_t> expected(j.size() + 7, 'Z'); // all null       
                    expected[0] = '['; // opening array                                                        expected[0] = '['; // opening array                                 
                    expected[1] = '#'; // array size                                                           expected[1] = '#'; // array size                                    
                    expected[2] = 'I'; // int16                                                                expected[2] = 'l'; // int32                                         
                    expected[3] = 0x01; // 0x0101, first byte                                                  expected[3] = 0x01; // 0x00010101, fourth byte                      
                    expected[4] = 0x01; // 0x0101, second byte                                                 expected[4] = 0x01; // 0x00010101, third byte                       
                                                                                                               expected[5] = 0x01; // 0x00010101, second byte                      
                                                                                                               expected[6] = 0x00; // 0x00010101, first byte                       
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1789                                                     │ json/tests/src/unit-bjdata.cpp:1823                                                      
                                                                                                                                                                                   
                SECTION("size=false type=false")                                                           SECTION("size=false type=false")                                        
                {                                                                                          {                                                                       
                    json j(257, nullptr);                                                                      json j(32768, nullptr);                                             
                    std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null                              std::vector<uint8_t> expected(j.size() + 2, 'Z'); // all null       
                    expected[0] = '['; // opening array                                                        expected[0] = '['; // opening array                                 
                    expected[258] = ']'; // closing array                                                      expected[32769] = ']'; // closing array                             
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("size=true type=false")                                                            SECTION("size=true type=false")                                         
                {                                                                                          {                                                                       
                    json j(257, nullptr);                                                                      json j(32768, nullptr);                                             
                    std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null                              std::vector<uint8_t> expected(j.size() + 5, 'Z'); // all null       
                    expected[0] = '['; // opening array                                                        expected[0] = '['; // opening array                                 
                    expected[1] = '#'; // array size                                                           expected[1] = '#'; // array size                                    
                    expected[2] = 'I'; // int16                                                                expected[2] = 'u'; // int16                                         
                    expected[3] = 0x01; // 0x0101, first byte                                                  expected[3] = 0x00; // 0x0101, first byte                           
                    expected[4] = 0x01; // 0x0101, second byte                                                 expected[4] = 0x80; // 0x0101, second byte                          
                    const auto result = json::to_bjdata(j, true);                                              const auto result = json::to_bjdata(j, true);                       
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:643                                                     │ json/tests/src/unit-msgpack.cpp:271                                                      
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 65535; ++i)                                                      for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xcd);                                                                  expected.push_back(0xcd);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xcd);                                                                  CHECK(result[0] == 0xcd);                                       
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1508                                                       │ json/tests/src/unit-cbor.cpp:1541                                                        
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::vector<uint8_t>(N, 'x');                                               const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0x59);                                                   expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), 0x5a);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1508                                                       │ json/tests/src/unit-cbor.cpp:1192                                                        
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::vector<uint8_t>(N, 'x');                                               const auto s = std::string(N, 'x');                                 
                    json j = json::binary(s);                                                                  json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0x59);                                                   expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), 0x7a);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:758                                                      │ json/tests/src/unit-bjdata.cpp:468                                                       
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 32767; ++i)                                                      for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           32768u, 55555u, 65535u                                  
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('I');                                                                   expected.push_back(static_cast<uint8_t>('u'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'u');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:629                                                      │ json/tests/src/unit-ubjson.cpp:433                                                       
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 32767; ++i)                                                      for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('I');                                                                   expected.push_back(static_cast<uint8_t>('I'));                  
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:758                                                      │ json/tests/src/unit-bjdata.cpp:433                                                       
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 32767; ++i)                                                      for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('I');                                                                   expected.push_back(static_cast<uint8_t>('I'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:758                                                      │ json/tests/src/unit-bjdata.cpp:792                                                       
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 32767; ++i)                                                      for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           32768u, 55555u, 65535u                                  
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('I');                                                                   expected.push_back('u');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'u');                                        
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:711                                                        │ json/tests/src/unit-cbor.cpp:305                                                         
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 65535; ++i)                                                      for (int32_t i = -65536; i <= -257; ++i)                            
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0x19);                                                                  expected.push_back(static_cast<uint8_t>(0x39));                 
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 auto positive = static_cast<uint16_t>(-1 - i);                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>((positive >> 8) & 0xff))
                                                                                                                   expected.push_back(static_cast<uint8_t>(positive & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0x19);                                                                  CHECK(result[0] == 0x39);                                       
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == positive);                                    
                                                                                                                   CHECK(-1 - restored == i);                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:711                                                        │ json/tests/src/unit-cbor.cpp:483                                                         
                                                                                                                                                                                   
                    for (size_t i = 256; i <= 65535; ++i)                                                      for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0x19);                                                                  expected.push_back(static_cast<uint8_t>(0x19));                 
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0x19);                                                                  CHECK(result[0] == 0x19);                                       
                        auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:905                                                     │ json/tests/src/unit-msgpack.cpp:1271                                                     
                                                                                                                                                                                   
                for (size_t N :                                                                            for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                               std::uint8_t subtype = 42;                                          
                                                                                                               j.get_binary().set_subtype(subtype);                                
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                                                                                                               expected.insert(expected.begin(), subtype);                         
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0xda);                                                   expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), 0xC9);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 6);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:905                                                     │ json/tests/src/unit-msgpack.cpp:1380                                                     
                                                                                                                                                                                   
                for (size_t N :                                                                            for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<std::uint8_t>(N & 0xff
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 8)
                    expected.insert(expected.begin(), 0xda);                                                   expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 16
                                                                                                               expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 24
                                                                                                               expected.insert(expected.begin(), 0xC6);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:905                                                     │ json/tests/src/unit-msgpack.cpp:1235                                                     
                                                                                                                                                                                   
                for (size_t N :                                                                            for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    256u, 999u, 1025u, 3333u, 2048u, 65535u                     
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                               std::uint8_t subtype = 42;                                          
                                                                                                               j.get_binary().set_subtype(subtype);                                
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                                                                                                               expected.insert(expected.begin(), subtype);                         
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0xda);                                                   expected.insert(expected.begin(), 0xC8);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 4);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:905                                                     │ json/tests/src/unit-msgpack.cpp:938                                                      
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::string(N, 'x');                                 
                    json j = s;                                                                                json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0xda);                                                   expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), 0xdb);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:905                                                     │ json/tests/src/unit-msgpack.cpp:1347                                                     
                                                                                                                                                                                   
                for (size_t N :                                                                            for (std::size_t N :                                                    
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    256u, 999u, 1025u, 3333u, 2048u, 65535u                     
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<std::uint8_t>(N, 'x');                   
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<std::uint8_t> expected(N, 'x');                         
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<std::uint8_t>(N & 0xff
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<std::uint8_t>((N >> 8)
                    expected.insert(expected.begin(), 0xda);                                                   expected.insert(expected.begin(), 0xC5);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 3);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:448                                                     │ json/tests/src/unit-msgpack.cpp:271                                                      
                                                                                                                                                                                   
                    for (int16_t i = -32768; i <= static_cast<std::int16_t>(-129); ++i)                        for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd1);                                                                  expected.push_back(0xcd);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd1);                                                                  CHECK(result[0] == 0xcd);                                       
                        auto restored = static_cast<int16_t>((result[1] << 8) + result[2                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:448                                                     │ json/tests/src/unit-msgpack.cpp:643                                                      
                                                                                                                                                                                   
                    for (int16_t i = -32768; i <= static_cast<std::int16_t>(-129); ++i)                        for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd1);                                                                  expected.push_back(0xcd);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd1);                                                                  CHECK(result[0] == 0xcd);                                       
                        auto restored = static_cast<int16_t>((result[1] << 8) + result[2                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1159                                                       │ json/tests/src/unit-cbor.cpp:1541                                                        
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0x79);                                                   expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), 0x5a);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1159                                                       │ json/tests/src/unit-cbor.cpp:1192                                                        
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    65536u, 77777u, 1048576u                                    
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::string(N, 'x');                                 
                    json j = s;                                                                                json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0x79);                                                   expected.insert(expected.begin(), static_cast<uint8_t>((N >> 16) & 0
                                                                                                               expected.insert(expected.begin(), static_cast<uint8_t>((N >> 24) & 0
                                                                                                               expected.insert(expected.begin(), 0x7a);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 5);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1159                                                       │ json/tests/src/unit-cbor.cpp:1508                                                        
                                                                                                                                                                                   
                for (size_t N :                                                                            for (size_t N :                                                         
                        {                                                                                          {                                                               
                            256u, 999u, 1025u, 3333u, 2048u, 65535u                                                    256u, 999u, 1025u, 3333u, 2048u, 65535u                     
                        })                                                                                         })                                                              
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector (hack: create string first)                                 // create expected byte vector (hack: create string first)          
                    std::vector<uint8_t> expected(N, 'x');                                                     std::vector<uint8_t> expected(N, 'x');                              
                    // reverse order of commands, because we insert at begin()                                 // reverse order of commands, because we insert at begin()          
                    expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));                         expected.insert(expected.begin(), static_cast<uint8_t>(N & 0xff));  
                    expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x                       expected.insert(expected.begin(), static_cast<uint8_t>((N >> 8) & 0x
                    expected.insert(expected.begin(), 0x79);                                                   expected.insert(expected.begin(), 0x59);                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 3);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:281                                                      │ json/tests/src/unit-bjdata.cpp:468                                                       
                                                                                                                                                                                   
                    for (int32_t i = -32768; i <= -129; ++i)                                                   for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           32768u, 55555u, 65535u                                  
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back(static_cast<uint8_t>('u'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'u');                                        
                        auto restored = static_cast<int16_t>(((result[2] << 8) + result[                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:281                                                      │ json/tests/src/unit-ubjson.cpp:433                                                       
                                                                                                                                                                                   
                    for (int32_t i = -32768; i <= -129; ++i)                                                   for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back(static_cast<uint8_t>('I'));                  
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<int16_t>(((result[1] << 8) + result[                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:281                                                      │ json/tests/src/unit-bjdata.cpp:433                                                       
                                                                                                                                                                                   
                    for (int32_t i = -32768; i <= -129; ++i)                                                   for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back(static_cast<uint8_t>('I'));                  
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<int16_t>(((result[2] << 8) + result[                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:281                                                      │ json/tests/src/unit-bjdata.cpp:792                                                       
                                                                                                                                                                                   
                    for (int32_t i = -32768; i <= -129; ++i)                                                   for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           32768u, 55555u, 65535u                                  
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back('u');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'u');                                        
                        auto restored = static_cast<int16_t>(((result[2] << 8) + result[                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:281                                                      │ json/tests/src/unit-ubjson.cpp:629                                                       
                                                                                                                                                                                   
                    for (int32_t i = -32768; i <= -129; ++i)                                                   for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back('I');                                        
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<int16_t>(((result[1] << 8) + result[                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:281                                                      │ json/tests/src/unit-bjdata.cpp:758                                                       
                                                                                                                                                                                   
                    for (int32_t i = -32768; i <= -129; ++i)                                                   for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('I'));                                             expected.push_back('I');                                        
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'I');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<int16_t>(((result[2] << 8) + result[                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:2515                                                       │ json/tests/src/unit-cbor.cpp:2583                                                        
                                                                                                                                                                                   
        SECTION("success")                                                                         SECTION("success")                                                              
        {                                                                                          {                                                                               
            // add tag to value                                                                        // add tag to value                                                         
            auto v_tagged = v;                                                                         auto v_tagged = v;                                                          
            v_tagged.insert(v_tagged.begin(), 0x42); // 1 byte                                         v_tagged.insert(v_tagged.begin(), 0x42); // 1 byte                          
            v_tagged.insert(v_tagged.begin(), 0xD8); // tag                                            v_tagged.insert(v_tagged.begin(), 0x23); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0x22); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0x11); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0xDA); // tag                             
                                                                                                                                                                                   
            // check that parsing fails in error mode                                                  // check that parsing fails in error mode                                   
            json _;                                                                                    json _;                                                                     
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);                         CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);          
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han               CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han
                                                                                                                                                                                   
            // check that parsing succeeds and gets original value in ignore mode                      // check that parsing succeeds and gets original value in ignore mode       
            auto j_tagged = json::from_cbor(v_tagged, true, true, json::cbor_tag_handler               auto j_tagged = json::from_cbor(v_tagged, true, true, json::cbor_tag_handler
            CHECK(j_tagged == j);                                                                      CHECK(j_tagged == j);                                                       
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("missing byte after tag")                                                          SECTION("missing bytes after tag")                                              
        {                                                                                          {                                                                               
            // add tag to value                                                                        // add tag to value                                                         
            auto v_tagged = v;                                                                         auto v_tagged = v;                                                          
            v_tagged.insert(v_tagged.begin(), 0xD8); // tag                                            v_tagged.insert(v_tagged.begin(), 0x23); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0x22); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0x11); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0xDA); // tag                             
                                                                                                                                                                                   
            // check that parsing fails in all modes                                                   // check that parsing fails in all modes                                    
            json _;                                                                                    json _;                                                                     
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);                         CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);          
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han               CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han               CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:2515                                                       │ json/tests/src/unit-cbor.cpp:2548                                                        
                                                                                                                                                                                   
        SECTION("success")                                                                         SECTION("success")                                                              
        {                                                                                          {                                                                               
            // add tag to value                                                                        // add tag to value                                                         
            auto v_tagged = v;                                                                         auto v_tagged = v;                                                          
            v_tagged.insert(v_tagged.begin(), 0x42); // 1 byte                                         v_tagged.insert(v_tagged.begin(), 0x42); // 1 byte                          
            v_tagged.insert(v_tagged.begin(), 0xD8); // tag                                            v_tagged.insert(v_tagged.begin(), 0x23); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0xD9); // tag                             
                                                                                                                                                                                   
            // check that parsing fails in error mode                                                  // check that parsing fails in error mode                                   
            json _;                                                                                    json _;                                                                     
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);                         CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);          
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han               CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han
                                                                                                                                                                                   
            // check that parsing succeeds and gets original value in ignore mode                      // check that parsing succeeds and gets original value in ignore mode       
            auto j_tagged = json::from_cbor(v_tagged, true, true, json::cbor_tag_handler               auto j_tagged = json::from_cbor(v_tagged, true, true, json::cbor_tag_handler
            CHECK(j_tagged == j);                                                                      CHECK(j_tagged == j);                                                       
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("missing byte after tag")                                                          SECTION("missing byte after tag")                                               
        {                                                                                          {                                                                               
            // add tag to value                                                                        // add tag to value                                                         
            auto v_tagged = v;                                                                         auto v_tagged = v;                                                          
            v_tagged.insert(v_tagged.begin(), 0xD8); // tag                                            v_tagged.insert(v_tagged.begin(), 0x23); // 1 byte                          
                                                                                                       v_tagged.insert(v_tagged.begin(), 0xD9); // tag                             
                                                                                                                                                                                   
            // check that parsing fails in all modes                                                   // check that parsing fails in all modes                                    
            json _;                                                                                    json _;                                                                     
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);                         CHECK_THROWS_AS(_ = json::from_cbor(v_tagged), json::parse_error);          
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han               CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han
            CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han               CHECK_THROWS_AS(_ = json::from_cbor(v_tagged, true, true, json::cbor_tag_han
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-conversions.cpp:1108                                                │ json/tests/src/unit-conversions.cpp:845                                                  
                                                                                                                                                                                   
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::null).get<json::number_float_t>(),                                     json(json::value_t::null).get<json::number_integer_t>(),                
                "[json.exception.type_error.302] type must be number, but is null", json                   "[json.exception.type_error.302] type must be number, but is null", json
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::object).get<json::number_float_t>(),                                   json(json::value_t::object).get<json::number_integer_t>(),              
                "[json.exception.type_error.302] type must be number, but is object", js                   "[json.exception.type_error.302] type must be number, but is object", js
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::array).get<json::number_float_t>(),                                    json(json::value_t::array).get<json::number_integer_t>(),               
                "[json.exception.type_error.302] type must be number, but is array", jso                   "[json.exception.type_error.302] type must be number, but is array", jso
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::string).get<json::number_float_t>(),                                   json(json::value_t::string).get<json::number_integer_t>(),              
                "[json.exception.type_error.302] type must be number, but is string", js                   "[json.exception.type_error.302] type must be number, but is string", js
            CHECK_THROWS_WITH_AS(                                                                      CHECK_THROWS_WITH_AS(                                                       
                json(json::value_t::boolean).get<json::number_float_t>(),                                  json(json::value_t::boolean).get<json::number_integer_t>(),             
                "[json.exception.type_error.302] type must be number, but is "                             "[json.exception.type_error.302] type must be number, but is "          
                "boolean", json::type_error&);                                                             "boolean", json::type_error&);                                          
                                                                                                                                                                                   
            CHECK_NOTHROW(                                                                             CHECK_NOTHROW(                                                              
                json(json::value_t::number_integer).get<json::number_float_t>());                          json(json::value_t::number_float).get<json::number_integer_t>());       
            CHECK_NOTHROW(                                                                             CHECK_NOTHROW(                                                              
                json(json::value_t::number_unsigned).get<json::number_float_t>());                         json(json::value_t::number_float).get<json::number_unsigned_t>());      
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:473                                              │ json/tests/src/unit-pointer_access.cpp:444                                               
                                                                                                                                                                                   
        using test_type = const json::binary_t;                                                    using test_type = const json::binary_t;                                         
        const json value = json::binary({});                                                       const json value = json::binary({1, 2, 3});                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::array_t*>() == nullptr);                                   CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                                 CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);                          CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);                         CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                            CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<const json::binary_t*>() != nullptr);                                  CHECK(value.get_ptr<const json::binary_t*>() != nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bson.cpp:1090                                                       │ json/tests/src/unit-bson.cpp:1145                                                        
                                                                                                                                                                                   
                                                                                                                                                                                   
                    CAPTURE(i)                                                                                 CAPTURE(i)                                                          
                                                                                                                                                                                   
                    json j =                                                                                   json j =                                                            
                    {                                                                                          {                                                                   
                        { "entry", i }                                                                             { "entry", i }                                                  
                    };                                                                                         };                                                                  
                                                                                                                                                                                   
                    auto iu = i;                                                                               auto iu = i;                                                        
                    std::vector<std::uint8_t> expected_bson =                                                  std::vector<std::uint8_t> expected_bson =                           
                    {                                                                                          {                                                                   
                        0x10u, 0x00u, 0x00u, 0x00u, // size (little endian)                                        0x14u, 0x00u, 0x00u, 0x00u, // size (little endian)             
                        0x10u, /// entry: int32                                                                    0x12u, /// entry: int64                                         
                        'e', 'n', 't', 'r', 'y', '\x00',                                                           'e', 'n', 't', 'r', 'y', '\x00',                                
                        static_cast<std::uint8_t>((iu >> (8u * 0u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 0u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 1u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 1u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 2u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 2u)) & 0xffu),           
                        static_cast<std::uint8_t>((iu >> (8u * 3u)) & 0xffu),                                      static_cast<std::uint8_t>((iu >> (8u * 3u)) & 0xffu),           
                                                                                                                   static_cast<std::uint8_t>((iu >> (8u * 4u)) & 0xffu),           
                                                                                                                   static_cast<std::uint8_t>((iu >> (8u * 5u)) & 0xffu),           
                                                                                                                   static_cast<std::uint8_t>((iu >> (8u * 6u)) & 0xffu),           
                                                                                                                   static_cast<std::uint8_t>((iu >> (8u * 7u)) & 0xffu),           
                        0x00u // end marker                                                                        0x00u // end marker                                             
                    };                                                                                         };                                                                  
                                                                                                                                                                                   
                    const auto bson = json::to_bson(j);                                                        const auto bson = json::to_bson(j);                                 
                    CHECK(bson == expected_bson);                                                              CHECK(bson == expected_bson);                                       
                                                                                                                                                                                   
                    auto j_roundtrip = json::from_bson(bson);                                                  auto j_roundtrip = json::from_bson(bson);                           
                                                                                                                                                                                   
                    CHECK(j.at("entry").is_number_unsigned());                                                 CHECK(j.at("entry").is_number_unsigned());                          
                    CHECK(j_roundtrip.at("entry").is_number_integer());                                        CHECK(j_roundtrip.at("entry").is_number_integer());                 
                    CHECK(j_roundtrip == j);                                                                   CHECK(j_roundtrip == j);                                            
                    CHECK(json::from_bson(bson, true, false) == j);                                            CHECK(json::from_bson(bson, true, false) == j);                     
                                                                                                                                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:357                                              │ json/tests/src/unit-pointer_access.cpp:415                                               
                                                                                                                                                                                   
        using test_type = const json::number_unsigned_t;                                           using test_type = const json::number_float_t;                                   
        const json value = 23u;                                                                    const json value = 42.23;                                                       
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::array_t*>() == nullptr);                                   CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                                 CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);                          CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<const json::number_unsigned_t*>() != nullptr);                         CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                            CHECK(value.get_ptr<const json::number_float_t*>() != nullptr);                 
        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:125                                              │ json/tests/src/unit-pointer_access.cpp:444                                               
                                                                                                                                                                                   
        using test_type = const json::array_t;                                                     using test_type = const json::binary_t;                                         
        const json value = {1, 2, 3, 4};                                                           const json value = json::binary({1, 2, 3});                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::array_t*>() != nullptr);                                   CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                                 CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);                          CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);                         CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                            CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::binary_t*>() != nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:612                                                        │ json/tests/src/unit-cbor.cpp:483                                                         
                                                                                                                                                                                   
                    for (int16_t i = -32768; i <= static_cast<std::int16_t>(-129); ++i)                        for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd1);                                                                  expected.push_back(static_cast<uint8_t>(0x19));                 
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd1);                                                                  CHECK(result[0] == 0x19);                                       
                        auto restored = static_cast<int16_t>((result[1] << 8) + result[2                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_cbor(result) == j);                            
                                                                                                                   CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:612                                                        │ json/tests/src/unit-cbor.cpp:711                                                         
                                                                                                                                                                                   
                    for (int16_t i = -32768; i <= static_cast<std::int16_t>(-129); ++i)                        for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd1);                                                                  expected.push_back(0x19);                                       
                        expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));                                 expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                        expected.push_back(static_cast<uint8_t>(i & 0xff));                                        expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 3);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd1);                                                                  CHECK(result[0] == 0x19);                                       
                        auto restored = static_cast<int16_t>((result[1] << 8) + result[2                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_cbor(result) == j);                            
                                                                                                                   CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:299                                              │ json/tests/src/unit-pointer_access.cpp:415                                               
                                                                                                                                                                                   
        using test_type = const json::number_integer_t;                                            using test_type = const json::number_float_t;                                   
        const json value = 23;                                                                     const json value = 42.23;                                                       
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::array_t*>() == nullptr);                                   CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                                 CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);                          CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);                         CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                            CHECK(value.get_ptr<const json::number_float_t*>() != nullptr);                 
        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:299                                              │ json/tests/src/unit-pointer_access.cpp:357                                               
                                                                                                                                                                                   
        using test_type = const json::number_integer_t;                                            using test_type = const json::number_unsigned_t;                                
        const json value = 23;                                                                     const json value = 23u;                                                         
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::array_t*>() == nullptr);                                   CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                                 CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);                          CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);               
        CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);                         CHECK(value.get_ptr<const json::number_unsigned_t*>() != nullptr);              
        CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                            CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:299                                              │ json/tests/src/unit-pointer_access.cpp:125                                               
                                                                                                                                                                                   
        using test_type = const json::number_integer_t;                                            using test_type = const json::array_t;                                          
        const json value = 23;                                                                     const json value = {1, 2, 3, 4};                                                
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::array_t*>() == nullptr);                                   CHECK(value.get_ptr<const json::array_t*>() != nullptr);                        
        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                                 CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);                          CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);                         CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                            CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:183                                              │ json/tests/src/unit-pointer_access.cpp:125                                               
                                                                                                                                                                                   
        using test_type = const json::string_t;                                                    using test_type = const json::array_t;                                          
        const json value = "hello";                                                                const json value = {1, 2, 3, 4};                                                
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::array_t*>() == nullptr);                                   CHECK(value.get_ptr<const json::array_t*>() != nullptr);                        
        CHECK(value.get_ptr<const json::string_t*>() != nullptr);                                  CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                                 CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);                          CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);                         CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                            CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:367                                                      │ json/tests/src/unit-ubjson.cpp:400                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('i'));                                             expected.push_back(static_cast<uint8_t>('U'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        CHECK(result[1] == i);                                                                     CHECK(result[1] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:367                                                      │ json/tests/src/unit-bjdata.cpp:400                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>('i'));                                             expected.push_back(static_cast<uint8_t>('U'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        CHECK(result[1] == i);                                                                     CHECK(result[1] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1379                                                       │ json/tests/src/unit-cbor.cpp:1408                                                        
                                                                                                                                                                                   
                json j;                                                                                    json j;                                                                 
                for (auto i = 0; i < 256; ++i)                                                             for (auto i = 0; i < 65536; ++i)                                        
                {                                                                                          {                                                                       
                    // format i to a fixed width of 5                                                          // format i to a fixed width of 5                                   
                    // each entry will need 7 bytes: 6 for string, 1 for null                                  // each entry will need 7 bytes: 6 for string, 1 for null           
                    std::stringstream ss;                                                                      std::stringstream ss;                                               
                    ss << std::setw(5) << std::setfill('0') << i;                                              ss << std::setw(5) << std::setfill('0') << i;                       
                    j.emplace(ss.str(), nullptr);                                                              j.emplace(ss.str(), nullptr);                                       
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                                   
                                                                                                                                                                                   
                // Checking against an expected vector byte by byte is                                     // Checking against an expected vector byte by byte is                  
                // difficult, because no assumption on the order of key/value                              // difficult, because no assumption on the order of key/value           
                // pairs are made. We therefore only check the prefix (type and                            // pairs are made. We therefore only check the prefix (type and         
                // size and the overall size. The rest is then handled in the                              // size and the overall size. The rest is then handled in the           
                // roundtrip check.                                                                        // roundtrip check.                                                     
                CHECK(result.size() == 1795); // 1 type, 2 size, 256*7 content                             CHECK(result.size() == 458757); // 1 type, 4 size, 65536*7 content      
                CHECK(result[0] == 0xb9); // map 16 bit                                                    CHECK(result[0] == 0xba); // map 32 bit                                 
                CHECK(result[1] == 0x01); // byte 0 of size (0x0100)                                       CHECK(result[1] == 0x00); // byte 0 of size (0x00010000)                
                CHECK(result[2] == 0x00); // byte 1 of size (0x0100)                                       CHECK(result[2] == 0x01); // byte 1 of size (0x00010000)                
                                                                                                           CHECK(result[3] == 0x00); // byte 2 of size (0x00010000)                
                                                                                                           CHECK(result[4] == 0x00); // byte 3 of size (0x00010000)                
                                                                                                                                                                                   
                // roundtrip                                                                               // roundtrip                                                            
                CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                    
                CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:386                                              │ json/tests/src/unit-pointer_access.cpp:415                                               
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = const json::number_float_t;                                   
        json value = 42.23;                                                                        const json value = 42.23;                                                       
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == Approx(value.get<test_type>()));                                              CHECK(*p1 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == Approx(value.get<test_type>()));                                              CHECK(*p2 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == Approx(value.get<test_type>()));                                              CHECK(*p3 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() != nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() != nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:386                                              │ json/tests/src/unit-pointer_access.cpp:357                                               
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = const json::number_unsigned_t;                                
        json value = 42.23;                                                                        const json value = 23u;                                                         
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == Approx(value.get<test_type>()));                                              CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == Approx(value.get<test_type>()));                                              CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == Approx(value.get<test_type>()));                                              CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() != nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() != nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:386                                              │ json/tests/src/unit-pointer_access.cpp:125                                               
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = const json::array_t;                                          
        json value = 42.23;                                                                        const json value = {1, 2, 3, 4};                                                
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == Approx(value.get<test_type>()));                                              CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == Approx(value.get<test_type>()));                                              CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == Approx(value.get<test_type>()));                                              CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() != nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() != nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:386                                              │ json/tests/src/unit-pointer_access.cpp:299                                               
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = const json::number_integer_t;                                 
        json value = 42.23;                                                                        const json value = 23;                                                          
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == Approx(value.get<test_type>()));                                              CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == Approx(value.get<test_type>()));                                              CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == Approx(value.get<test_type>()));                                              CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() != nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:386                                              │ json/tests/src/unit-pointer_access.cpp:183                                               
                                                                                                                                                                                   
        using test_type = json::number_float_t;                                                    using test_type = const json::string_t;                                         
        json value = 42.23;                                                                        const json value = "hello";                                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == Approx(value.get<test_type>()));                                              CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == Approx(value.get<test_type>()));                                              CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == Approx(value.get<test_type>()));                                              CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() != nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:2659                                                     │ json/tests/src/unit-bjdata.cpp:2635                                                      
                                                                                                                                                                                   
            std::vector<uint8_t> vST = {'[', '$', 'i', '#', 'i', 2, 1};                                std::vector<uint8_t> v0 = {'[', '$'};                                       
            json _;                                                                                    json _;                                                                     
            CHECK_THROWS_AS(_ = json::from_bjdata(vST), json::parse_error&);                           CHECK_THROWS_AS(_ = json::from_bjdata(v0), json::parse_error&);             
            CHECK_THROWS_WITH(_ = json::from_bjdata(vST), "[json.exception.parse_error.1               CHECK_THROWS_WITH(_ = json::from_bjdata(v0), "[json.exception.parse_error.11
            CHECK(json::from_bjdata(vST, true, false).is_discarded());                                 CHECK(json::from_bjdata(v0, true, false).is_discarded());                   
                                                                                                                                                                                   
            std::vector<uint8_t> vS = {'[', '#', 'i', 2, 'i', 1};                                      std::vector<uint8_t> vi = {'[', '$', '#'};                                  
            CHECK_THROWS_AS(_ = json::from_bjdata(vS), json::parse_error&);                            CHECK_THROWS_AS(_ = json::from_bjdata(vi), json::parse_error&);             
            CHECK_THROWS_WITH(_ = json::from_bjdata(vS), "[json.exception.parse_error.11               CHECK_THROWS_WITH(_ = json::from_bjdata(vi), "[json.exception.parse_error.11
            CHECK(json::from_bjdata(vS, true, false).is_discarded());                                  CHECK(json::from_bjdata(vi, true, false).is_discarded());                   
                                                                                                                                                                                   
            std::vector<uint8_t> v = {'[', 'i', 2, 'i', 1};                                            std::vector<uint8_t> vU = {'[', '$', 'U'};                                  
            CHECK_THROWS_AS(_ = json::from_bjdata(v), json::parse_error&);                             CHECK_THROWS_AS(_ = json::from_bjdata(vU), json::parse_error&);             
            CHECK_THROWS_WITH(_ = json::from_bjdata(v), "[json.exception.parse_error.110               CHECK_THROWS_WITH(_ = json::from_bjdata(vU), "[json.exception.parse_error.11
            CHECK(json::from_bjdata(v, true, false).is_discarded());                                   CHECK(json::from_bjdata(vU, true, false).is_discarded());                   
                                                                                                                                                                                   
                                                                                                       std::vector<uint8_t> v1 = {'[', '$', '['};                                  
                                                                                                       CHECK_THROWS_AS(_ = json::from_bjdata(v1), json::parse_error&);             
                                                                                                       CHECK_THROWS_WITH(_ = json::from_bjdata(v1), "[json.exception.parse_error.11
                                                                                                       CHECK(json::from_bjdata(v1, true, false).is_discarded());                   
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:38                                               │ json/tests/src/unit-pointer_access.cpp:67                                                
                                                                                                                                                                                   
        using test_type = json::object_t;                                                          using test_type = const json::object_t;                                         
        json value = {{"one", 1}, {"two", 2}};                                                     const json value = {{"one", 1}, {"two", 2}};                                    
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() != nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:38                                               │ json/tests/src/unit-pointer_access.cpp:125                                               
                                                                                                                                                                                   
        using test_type = json::object_t;                                                          using test_type = const json::array_t;                                          
        json value = {{"one", 1}, {"two", 2}};                                                     const json value = {1, 2, 3, 4};                                                
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() != nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() != nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:38                                               │ json/tests/src/unit-pointer_access.cpp:183                                               
                                                                                                                                                                                   
        using test_type = json::object_t;                                                          using test_type = const json::string_t;                                         
        json value = {{"one", 1}, {"two", 2}};                                                     const json value = "hello";                                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() != nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:610                                                     │ json/tests/src/unit-msgpack.cpp:237                                                      
                                                                                                                                                                                   
                    for (size_t i = 128; i <= 255; ++i)                                                        for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xcc);                                                                  expected.push_back(0xcc);                                       
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xcc);                                                                  CHECK(result[0] == 0xcc);                                       
                        auto restored = static_cast<uint8_t>(result[1]);                                           auto restored = static_cast<uint8_t>(result[1]);                
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:328                                              │ json/tests/src/unit-pointer_access.cpp:415                                               
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = const json::number_float_t;                                   
        json value = 23u;                                                                          const json value = 42.23;                                                       
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() != nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() != nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:328                                              │ json/tests/src/unit-pointer_access.cpp:357                                               
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = const json::number_unsigned_t;                                
        json value = 23u;                                                                          const json value = 23u;                                                         
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() != nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() != nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:328                                              │ json/tests/src/unit-pointer_access.cpp:125                                               
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = const json::array_t;                                          
        json value = 23u;                                                                          const json value = {1, 2, 3, 4};                                                
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() != nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() != nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:328                                              │ json/tests/src/unit-pointer_access.cpp:299                                               
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = const json::number_integer_t;                                 
        json value = 23u;                                                                          const json value = 23;                                                          
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() != nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:328                                              │ json/tests/src/unit-pointer_access.cpp:183                                               
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = const json::string_t;                                         
        json value = 23u;                                                                          const json value = "hello";                                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() != nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:328                                              │ json/tests/src/unit-pointer_access.cpp:386                                               
                                                                                                                                                                                   
        using test_type = json::number_unsigned_t;                                                 using test_type = json::number_float_t;                                         
        json value = 23u;                                                                          json value = 42.23;                                                             
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<json::object_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<json::array_t*>() == nullptr);                              
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<json::string_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                            
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                     
        CHECK(value.get_ptr<json::number_unsigned_t*>() != nullptr);                               CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                    
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<json::number_float_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                             
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:596                                                      │ json/tests/src/unit-ubjson.cpp:629                                                       
                                                                                                                                                                                   
                    for (size_t i = 128; i <= 255; ++i)                                                        for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('U');                                                                   expected.push_back('I');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'U');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:725                                                      │ json/tests/src/unit-bjdata.cpp:758                                                       
                                                                                                                                                                                   
                    for (size_t i = 128; i <= 255; ++i)                                                        for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('U');                                                                   expected.push_back('I');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'U');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:96                                               │ json/tests/src/unit-pointer_access.cpp:444                                               
                                                                                                                                                                                   
        using test_type = json::array_t;                                                           using test_type = const json::binary_t;                                         
        json value = {1, 2, 3, 4};                                                                 const json value = json::binary({1, 2, 3});                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() != nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() != nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:96                                               │ json/tests/src/unit-pointer_access.cpp:125                                               
                                                                                                                                                                                   
        using test_type = json::array_t;                                                           using test_type = const json::array_t;                                          
        json value = {1, 2, 3, 4};                                                                 const json value = {1, 2, 3, 4};                                                
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() != nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() != nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:96                                               │ json/tests/src/unit-pointer_access.cpp:183                                               
                                                                                                                                                                                   
        using test_type = json::array_t;                                                           using test_type = const json::string_t;                                         
        json value = {1, 2, 3, 4};                                                                 const json value = "hello";                                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() != nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:596                                                      │ json/tests/src/unit-ubjson.cpp:400                                                       
                                                                                                                                                                                   
                    for (size_t i = 128; i <= 255; ++i)                                                        for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('U');                                                                   expected.push_back(static_cast<uint8_t>('U'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'U');                                                                   CHECK(result[0] == 'U');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           CHECK(result[1] == i);                                          
                        CHECK(restored == i);                                                                                                                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:725                                                      │ json/tests/src/unit-bjdata.cpp:400                                                       
                                                                                                                                                                                   
                    for (size_t i = 128; i <= 255; ++i)                                                        for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('U');                                                                   expected.push_back(static_cast<uint8_t>('U'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'U');                                                                   CHECK(result[0] == 'U');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           CHECK(result[1] == i);                                          
                        CHECK(restored == i);                                                                                                                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:596                                                      │ json/tests/src/unit-ubjson.cpp:367                                                       
                                                                                                                                                                                   
                    for (size_t i = 128; i <= 255; ++i)                                                        for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('U');                                                                   expected.push_back(static_cast<uint8_t>('i'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'U');                                                                   CHECK(result[0] == 'i');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           CHECK(result[1] == i);                                          
                        CHECK(restored == i);                                                                                                                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:725                                                      │ json/tests/src/unit-bjdata.cpp:367                                                       
                                                                                                                                                                                   
                    for (size_t i = 128; i <= 255; ++i)                                                        for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('U');                                                                   expected.push_back(static_cast<uint8_t>('i'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'U');                                                                   CHECK(result[0] == 'i');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           CHECK(result[1] == i);                                          
                        CHECK(restored == i);                                                                                                                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:270                                              │ json/tests/src/unit-pointer_access.cpp:415                                               
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = const json::number_float_t;                                   
        json value = 23;                                                                           const json value = 42.23;                                                       
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() != nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:270                                              │ json/tests/src/unit-pointer_access.cpp:357                                               
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = const json::number_unsigned_t;                                
        json value = 23;                                                                           const json value = 23u;                                                         
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() != nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:270                                              │ json/tests/src/unit-pointer_access.cpp:125                                               
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = const json::array_t;                                          
        json value = 23;                                                                           const json value = {1, 2, 3, 4};                                                
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() != nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:270                                              │ json/tests/src/unit-pointer_access.cpp:299                                               
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = const json::number_integer_t;                                 
        json value = 23;                                                                           const json value = 23;                                                          
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() != nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:270                                              │ json/tests/src/unit-pointer_access.cpp:183                                               
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = const json::string_t;                                         
        json value = 23;                                                                           const json value = "hello";                                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:270                                              │ json/tests/src/unit-pointer_access.cpp:386                                               
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = json::number_float_t;                                         
        json value = 23;                                                                           json value = 42.23;                                                             
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == Approx(value.get<test_type>()));                                   
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<json::object_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<json::array_t*>() == nullptr);                              
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<json::string_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                            
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                     
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                    
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<json::number_float_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                             
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:270                                              │ json/tests/src/unit-pointer_access.cpp:328                                               
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = json::number_unsigned_t;                                      
        json value = 23;                                                                           json value = 23u;                                                               
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<json::object_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<json::array_t*>() == nullptr);                              
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<json::string_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                            
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                     
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<json::number_unsigned_t*>() != nullptr);                    
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                             
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:270                                              │ json/tests/src/unit-pointer_access.cpp:96                                                
                                                                                                                                                                                   
        using test_type = json::number_integer_t;                                                  using test_type = json::array_t;                                                
        json value = 23;                                                                           json value = {1, 2, 3, 4};                                                      
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<json::object_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<json::array_t*>() != nullptr);                              
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<json::string_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                            
        CHECK(value.get_ptr<json::number_integer_t*>() != nullptr);                                CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                     
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                    
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                             
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:563                                                      │ json/tests/src/unit-ubjson.cpp:629                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('I');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:692                                                      │ json/tests/src/unit-bjdata.cpp:758                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('I');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'I');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:563                                                      │ json/tests/src/unit-ubjson.cpp:400                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('U'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           CHECK(result[1] == i);                                          
                        CHECK(restored == i);                                                                                                                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:692                                                      │ json/tests/src/unit-bjdata.cpp:400                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('U'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           CHECK(result[1] == i);                                          
                        CHECK(restored == i);                                                                                                                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:563                                                      │ json/tests/src/unit-ubjson.cpp:367                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('i'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'i');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           CHECK(result[1] == i);                                          
                        CHECK(restored == i);                                                                                                                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:692                                                      │ json/tests/src/unit-bjdata.cpp:367                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('i'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'i');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           CHECK(result[1] == i);                                          
                        CHECK(restored == i);                                                                                                                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:563                                                      │ json/tests/src/unit-ubjson.cpp:596                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('U');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           auto restored = static_cast<uint8_t>(result[1]);                
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:692                                                      │ json/tests/src/unit-bjdata.cpp:725                                                       
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('U');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        auto restored = static_cast<uint8_t>(result[1]);                                           auto restored = static_cast<uint8_t>(result[1]);                
                        CHECK(restored == i);                                                                      CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:154                                              │ json/tests/src/unit-pointer_access.cpp:125                                               
                                                                                                                                                                                   
        using test_type = json::string_t;                                                          using test_type = const json::array_t;                                          
        json value = "hello";                                                                      const json value = {1, 2, 3, 4};                                                
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() != nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() != nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:154                                              │ json/tests/src/unit-pointer_access.cpp:183                                               
                                                                                                                                                                                   
        using test_type = json::string_t;                                                          using test_type = const json::string_t;                                         
        json value = "hello";                                                                      const json value = "hello";                                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() != nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:154                                              │ json/tests/src/unit-pointer_access.cpp:96                                                
                                                                                                                                                                                   
        using test_type = json::string_t;                                                          using test_type = json::array_t;                                                
        json value = "hello";                                                                      json value = {1, 2, 3, 4};                                                      
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<json::object_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<json::array_t*>() != nullptr);                              
        CHECK(value.get_ptr<json::string_t*>() != nullptr);                                        CHECK(value.get_ptr<json::string_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                                       CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                            
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                     
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                    
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                             
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:212                                              │ json/tests/src/unit-pointer_access.cpp:125                                               
                                                                                                                                                                                   
        using test_type = json::boolean_t;                                                         using test_type = const json::array_t;                                          
        json value = false;                                                                        const json value = {1, 2, 3, 4};                                                
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() != nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() != nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:212                                              │ json/tests/src/unit-pointer_access.cpp:183                                               
                                                                                                                                                                                   
        using test_type = json::boolean_t;                                                         using test_type = const json::string_t;                                         
        json value = false;                                                                        const json value = "hello";                                                     
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::object_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<const json::array_t*>() == nullptr);                        
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::string_t*>() != nullptr);                       
        CHECK(value.get_ptr<json::boolean_t*>() != nullptr);                                       CHECK(value.get_ptr<const json::boolean_t*>() == nullptr);                      
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<const json::number_integer_t*>() == nullptr);               
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<const json::number_unsigned_t*>() == nullptr);              
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<const json::number_float_t*>() == nullptr);                 
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<const json::binary_t*>() == nullptr);                       
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:678                                                        │ json/tests/src/unit-cbor.cpp:450                                                         
                                                                                                                                                                                   
                    for (size_t i = 24; i <= 255; ++i)                                                         for (size_t i = 24; i <= 255; ++i)                                  
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0x18);                                                                  expected.push_back(static_cast<uint8_t>(0x18));                 
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0x18);                                                                  CHECK(result[0] == 0x18);                                       
                        auto restored = static_cast<uint8_t>(result[1]);                                           CHECK(result[1] == i);                                          
                        CHECK(restored == i);                                                                                                                                      
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:212                                              │ json/tests/src/unit-pointer_access.cpp:96                                                
                                                                                                                                                                                   
        using test_type = json::boolean_t;                                                         using test_type = json::array_t;                                                
        json value = false;                                                                        json value = {1, 2, 3, 4};                                                      
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<json::object_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<json::array_t*>() != nullptr);                              
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<json::string_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::boolean_t*>() != nullptr);                                       CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                            
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                     
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                    
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                             
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-pointer_access.cpp:212                                              │ json/tests/src/unit-pointer_access.cpp:154                                               
                                                                                                                                                                                   
        using test_type = json::boolean_t;                                                         using test_type = json::string_t;                                               
        json value = false;                                                                        json value = "hello";                                                           
                                                                                                                                                                                   
        // check if pointers are returned correctly                                                // check if pointers are returned correctly                                     
        test_type* p1 = value.get_ptr<test_type*>();                                               test_type* p1 = value.get_ptr<test_type*>();                                    
        CHECK(p1 == value.get_ptr<test_type*>());                                                  CHECK(p1 == value.get_ptr<test_type*>());                                       
        CHECK(*p1 == value.get<test_type>());                                                      CHECK(*p1 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* p2 = value.get_ptr<const test_type*>();                                   const test_type* p2 = value.get_ptr<const test_type*>();                        
        CHECK(p2 == value.get_ptr<const test_type*>());                                            CHECK(p2 == value.get_ptr<const test_type*>());                                 
        CHECK(*p2 == value.get<test_type>());                                                      CHECK(*p2 == value.get<test_type>());                                           
                                                                                                                                                                                   
        const test_type* const p3 = value.get_ptr<const test_type* const>();                       const test_type* const p3 = value.get_ptr<const test_type* const>();            
        CHECK(p3 == value.get_ptr<const test_type* const>());                                      CHECK(p3 == value.get_ptr<const test_type* const>());                           
        CHECK(*p3 == value.get<test_type>());                                                      CHECK(*p3 == value.get<test_type>());                                           
                                                                                                                                                                                   
        // check if null pointers are returned correctly                                           // check if null pointers are returned correctly                                
        CHECK(value.get_ptr<json::object_t*>() == nullptr);                                        CHECK(value.get_ptr<json::object_t*>() == nullptr);                             
        CHECK(value.get_ptr<json::array_t*>() == nullptr);                                         CHECK(value.get_ptr<json::array_t*>() == nullptr);                              
        CHECK(value.get_ptr<json::string_t*>() == nullptr);                                        CHECK(value.get_ptr<json::string_t*>() != nullptr);                             
        CHECK(value.get_ptr<json::boolean_t*>() != nullptr);                                       CHECK(value.get_ptr<json::boolean_t*>() == nullptr);                            
        CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                                CHECK(value.get_ptr<json::number_integer_t*>() == nullptr);                     
        CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                               CHECK(value.get_ptr<json::number_unsigned_t*>() == nullptr);                    
        CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                                  CHECK(value.get_ptr<json::number_float_t*>() == nullptr);                       
        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                                        CHECK(value.get_ptr<json::binary_t*>() == nullptr);                             
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:873                                                      │ json/tests/src/unit-ubjson.cpp:837                                                       
                                                                                                                                                                                   
                for (size_t N = 128; N <= 255; ++N)                                                        for (size_t N = 0; N <= 127; ++N)                                       
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::string(N, 'x');                                 
                    json j = s;                                                                                json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                      
                    expected.push_back('S');                                                                   expected.push_back('S');                                            
                    expected.push_back('U');                                                                   expected.push_back('i');                                            
                    expected.push_back(static_cast<uint8_t>(N));                                               expected.push_back(static_cast<uint8_t>(N));                        
                    for (size_t i = 0; i < N; ++i)                                                             for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back('x');                                                                   expected.push_back('x');                                        
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 3);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            if (N > 0)                                                          
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.back() != '\x00');                                 
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                              
                    CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1231                                                     │ json/tests/src/unit-bjdata.cpp:1195                                                      
                                                                                                                                                                                   
                for (size_t N = 128; N <= 255; ++N)                                                        for (size_t N = 0; N <= 127; ++N)                                       
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::string(N, 'x');                                 
                    json j = s;                                                                                json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                      
                    expected.push_back('S');                                                                   expected.push_back('S');                                            
                    expected.push_back('U');                                                                   expected.push_back('i');                                            
                    expected.push_back(static_cast<uint8_t>(N));                                               expected.push_back(static_cast<uint8_t>(N));                        
                    for (size_t i = 0; i < N; ++i)                                                             for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back('x');                                                                   expected.push_back('x');                                        
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                             
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 3);                                                             CHECK(result.size() == N + 3);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            if (N > 0)                                                          
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.back() != '\x00');                                 
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                              
                    CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);                 
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1352                                                       │ json/tests/src/unit-cbor.cpp:1408                                                        
                                                                                                                                                                                   
                json j;                                                                                    json j;                                                                 
                for (auto i = 0; i < 255; ++i)                                                             for (auto i = 0; i < 65536; ++i)                                        
                {                                                                                          {                                                                       
                    // format i to a fixed width of 5                                                          // format i to a fixed width of 5                                   
                    // each entry will need 7 bytes: 6 for string, 1 for null                                  // each entry will need 7 bytes: 6 for string, 1 for null           
                    std::stringstream ss;                                                                      std::stringstream ss;                                               
                    ss << std::setw(5) << std::setfill('0') << i;                                              ss << std::setw(5) << std::setfill('0') << i;                       
                    j.emplace(ss.str(), nullptr);                                                              j.emplace(ss.str(), nullptr);                                       
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                                   
                                                                                                                                                                                   
                // Checking against an expected vector byte by byte is                                     // Checking against an expected vector byte by byte is                  
                // difficult, because no assumption on the order of key/value                              // difficult, because no assumption on the order of key/value           
                // pairs are made. We therefore only check the prefix (type and                            // pairs are made. We therefore only check the prefix (type and         
                // size and the overall size. The rest is then handled in the                              // size and the overall size. The rest is then handled in the           
                // roundtrip check.                                                                        // roundtrip check.                                                     
                CHECK(result.size() == 1787); // 1 type, 1 size, 255*7 content                             CHECK(result.size() == 458757); // 1 type, 4 size, 65536*7 content      
                CHECK(result[0] == 0xb8); // map 8 bit                                                     CHECK(result[0] == 0xba); // map 32 bit                                 
                CHECK(result[1] == 0xff); // size byte (0xff)                                              CHECK(result[1] == 0x00); // byte 0 of size (0x00010000)                
                                                                                                           CHECK(result[2] == 0x01); // byte 1 of size (0x00010000)                
                                                                                                           CHECK(result[3] == 0x00); // byte 2 of size (0x00010000)                
                                                                                                           CHECK(result[4] == 0x00); // byte 3 of size (0x00010000)                
                                                                                                                                                                                   
                // roundtrip                                                                               // roundtrip                                                            
                CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                    
                CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1352                                                       │ json/tests/src/unit-cbor.cpp:1379                                                        
                                                                                                                                                                                   
                json j;                                                                                    json j;                                                                 
                for (auto i = 0; i < 255; ++i)                                                             for (auto i = 0; i < 256; ++i)                                          
                {                                                                                          {                                                                       
                    // format i to a fixed width of 5                                                          // format i to a fixed width of 5                                   
                    // each entry will need 7 bytes: 6 for string, 1 for null                                  // each entry will need 7 bytes: 6 for string, 1 for null           
                    std::stringstream ss;                                                                      std::stringstream ss;                                               
                    ss << std::setw(5) << std::setfill('0') << i;                                              ss << std::setw(5) << std::setfill('0') << i;                       
                    j.emplace(ss.str(), nullptr);                                                              j.emplace(ss.str(), nullptr);                                       
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                                   
                                                                                                                                                                                   
                // Checking against an expected vector byte by byte is                                     // Checking against an expected vector byte by byte is                  
                // difficult, because no assumption on the order of key/value                              // difficult, because no assumption on the order of key/value           
                // pairs are made. We therefore only check the prefix (type and                            // pairs are made. We therefore only check the prefix (type and         
                // size and the overall size. The rest is then handled in the                              // size and the overall size. The rest is then handled in the           
                // roundtrip check.                                                                        // roundtrip check.                                                     
                CHECK(result.size() == 1787); // 1 type, 1 size, 255*7 content                             CHECK(result.size() == 1795); // 1 type, 2 size, 256*7 content          
                CHECK(result[0] == 0xb8); // map 8 bit                                                     CHECK(result[0] == 0xb9); // map 16 bit                                 
                CHECK(result[1] == 0xff); // size byte (0xff)                                              CHECK(result[1] == 0x01); // byte 0 of size (0x0100)                    
                                                                                                           CHECK(result[2] == 0x00); // byte 1 of size (0x0100)                    
                                                                                                                                                                                   
                // roundtrip                                                                               // roundtrip                                                            
                CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                    
                CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1476                                                       │ json/tests/src/unit-cbor.cpp:1442                                                        
                                                                                                                                                                                   
                for (size_t N = 24; N <= 255; ++N)                                                         for (size_t N = 0; N <= 0x17; ++N)                                      
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with byte array containing of N * 'x'          
                    const auto s = std::vector<uint8_t>(N, 'x');                                               const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = json::binary(s);                                                                  json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                      
                    expected.push_back(0x58);                                                                  expected.push_back(static_cast<uint8_t>(0x40 + N));                 
                    expected.push_back(static_cast<uint8_t>(N));                                                                                                                   
                    for (size_t i = 0; i < N; ++i)                                                             for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back('x');                                                                   expected.push_back(0x78);                                       
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 2);                                                             CHECK(result.size() == N + 1);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            if (N > 0)                                                          
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.back() != '\x00');                                 
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1476                                                       │ json/tests/src/unit-cbor.cpp:1093                                                        
                                                                                                                                                                                   
                for (size_t N = 24; N <= 255; ++N)                                                         for (size_t N = 0; N <= 0x17; ++N)                                      
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::vector<uint8_t>(N, 'x');                                               const auto s = std::string(N, 'x');                                 
                    json j = json::binary(s);                                                                  json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                      
                    expected.push_back(0x58);                                                                  expected.push_back(static_cast<uint8_t>(0x60 + N));                 
                    expected.push_back(static_cast<uint8_t>(N));                                                                                                                   
                    for (size_t i = 0; i < N; ++i)                                                             for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back('x');                                                                   expected.push_back('x');                                        
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 2);                                                             CHECK(result.size() == N + 1);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            if (N > 0)                                                          
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.back() != '\x00');                                 
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:357                                                        │ json/tests/src/unit-cbor.cpp:450                                                         
                                                                                                                                                                                   
                    for (auto i = -256; i < -24; ++i)                                                          for (size_t i = 24; i <= 255; ++i)                                  
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0x38);                                                                  expected.push_back(static_cast<uint8_t>(0x18));                 
                        expected.push_back(static_cast<uint8_t>(-1 - i));                                          expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0x38);                                                                  CHECK(result[0] == 0x18);                                       
                        CHECK(static_cast<int16_t>(-1 - result[1]) == i);                                          CHECK(result[1] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:357                                                        │ json/tests/src/unit-cbor.cpp:678                                                         
                                                                                                                                                                                   
                    for (auto i = -256; i < -24; ++i)                                                          for (size_t i = 24; i <= 255; ++i)                                  
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0x38);                                                                  expected.push_back(0x18);                                       
                        expected.push_back(static_cast<uint8_t>(-1 - i));                                          expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0x38);                                                                  CHECK(result[0] == 0x18);                                       
                        CHECK(static_cast<int16_t>(-1 - result[1]) == i);                                          auto restored = static_cast<uint8_t>(result[1]);                
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:400                                                     │ json/tests/src/unit-msgpack.cpp:271                                                      
                                                                                                                                                                                   
                    for (auto i = -128; i <= -33; ++i)                                                         for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd0);                                                                  expected.push_back(0xcd);                                       
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd0);                                                                  CHECK(result[0] == 0xcd);                                       
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:400                                                     │ json/tests/src/unit-msgpack.cpp:643                                                      
                                                                                                                                                                                   
                    for (auto i = -128; i <= -33; ++i)                                                         for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd0);                                                                  expected.push_back(0xcd);                                       
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd0);                                                                  CHECK(result[0] == 0xcd);                                       
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:400                                                     │ json/tests/src/unit-msgpack.cpp:448                                                      
                                                                                                                                                                                   
                    for (auto i = -128; i <= -33; ++i)                                                         for (int16_t i = -32768; i <= static_cast<std::int16_t>(-129); ++i) 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd0);                                                                  expected.push_back(0xd1);                                       
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd0);                                                                  CHECK(result[0] == 0xd1);                                       
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<int16_t>((result[1] << 8) + result[2
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:400                                                     │ json/tests/src/unit-msgpack.cpp:237                                                      
                                                                                                                                                                                   
                    for (auto i = -128; i <= -33; ++i)                                                         for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd0);                                                                  expected.push_back(0xcc);                                       
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd0);                                                                  CHECK(result[0] == 0xcc);                                       
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint8_t>(result[1]);                
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:400                                                     │ json/tests/src/unit-msgpack.cpp:610                                                      
                                                                                                                                                                                   
                    for (auto i = -128; i <= -33; ++i)                                                         for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(0xd0);                                                                  expected.push_back(0xcc);                                       
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 0xd0);                                                                  CHECK(result[0] == 0xcc);                                       
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint8_t>(result[1]);                
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:335                                                      │ json/tests/src/unit-bjdata.cpp:468                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           32768u, 55555u, 65535u                                  
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('u'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'u');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:335                                                      │ json/tests/src/unit-bjdata.cpp:433                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('I'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'I');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:335                                                      │ json/tests/src/unit-bjdata.cpp:792                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (uint32_t i :                                                   
                                                                                                                       {                                                           
                                                                                                                           32768u, 55555u, 65535u                                  
                                                                                                                       })                                                          
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('u');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'u');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:335                                                      │ json/tests/src/unit-bjdata.cpp:758                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 256; i <= 32767; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('I');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'I');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:335                                                      │ json/tests/src/unit-bjdata.cpp:281                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (int32_t i = -32768; i <= -129; ++i)                            
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('I'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'I');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<int16_t>(((result[2] << 8) + result[
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:335                                                      │ json/tests/src/unit-ubjson.cpp:400                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('U'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                CHECK(result[1] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:335                                                      │ json/tests/src/unit-bjdata.cpp:400                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('U'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                CHECK(result[1] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:335                                                      │ json/tests/src/unit-ubjson.cpp:367                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('i'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'i');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                CHECK(result[1] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:335                                                      │ json/tests/src/unit-bjdata.cpp:367                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back(static_cast<uint8_t>('i'));                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'i');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                CHECK(result[1] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:335                                                      │ json/tests/src/unit-ubjson.cpp:596                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('U');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint8_t>(result[1]);                
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:335                                                      │ json/tests/src/unit-bjdata.cpp:725                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 128; i <= 255; ++i)                                 
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('U');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'U');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint8_t>(result[1]);                
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:335                                                      │ json/tests/src/unit-ubjson.cpp:563                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('i');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_ubjson(j);                                                    const auto result = json::to_ubjson(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'i');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint8_t>(result[1]);                
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_ubjson(result) == j);                                                     CHECK(json::from_ubjson(result) == j);                          
                        CHECK(json::from_ubjson(result, true, false) == j);                                        CHECK(json::from_ubjson(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:335                                                      │ json/tests/src/unit-bjdata.cpp:692                                                       
                                                                                                                                                                                   
                    for (auto i = -128; i <= -1; ++i)                                                          for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back('i');                                                                   expected.push_back('i');                                        
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_bjdata(j);                                                    const auto result = json::to_bjdata(j);                         
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 2);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == 'i');                                                                   CHECK(result[0] == 'i');                                        
                        CHECK(static_cast<int8_t>(result[1]) == i);                                                auto restored = static_cast<uint8_t>(result[1]);                
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_bjdata(result) == j);                                                     CHECK(json::from_bjdata(result) == j);                          
                        CHECK(json::from_bjdata(result, true, false) == j);                                        CHECK(json::from_bjdata(result, true, false) == j);             
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-to_chars.cpp:110                                                    │ json/tests/src/unit-to_chars.cpp:58                                                      
                                                                                                                                                                                   
    constexpr uint64_t kHiddenBit               = 0x0010000000000000;                          constexpr uint64_t kHiddenBit               = 0x00800000;                           
    constexpr uint64_t kSignificandMask         = 0x000FFFFFFFFFFFFF;                          constexpr uint64_t kSignificandMask         = 0x007FFFFF;                           
    constexpr int      kPhysicalSignificandSize = 52;  // Excludes the hidden bit.             constexpr int      kPhysicalSignificandSize = 23;  // Excludes the hidden bit.      
    constexpr int      kExponentBias            = 0x3FF + kPhysicalSignificandSize;            constexpr int      kExponentBias            = 0x7F + kPhysicalSignificandSize;      
    constexpr int      kDenormalExponent        = 1     - kExponentBias;                       constexpr int      kDenormalExponent        = 1 -    kExponentBias;                 
    constexpr int      kMaxExponent             = 0x7FF - kExponentBias;                       constexpr int      kMaxExponent             = 0xFF - kExponentBias;                 
                                                                                                                                                                                   
    while (f > kHiddenBit + kSignificandMask)                                                  while (f > kHiddenBit + kSignificandMask)                                           
    {                                                                                          {                                                                                   
        f >>= 1;                                                                                   f >>= 1;                                                                        
        e++;                                                                                       e++;                                                                            
    }                                                                                          }                                                                                   
    if (e >= kMaxExponent)                                                                     if (e >= kMaxExponent)                                                              
    {                                                                                          {                                                                                   
        return std::numeric_limits<double>::infinity();                                            return std::numeric_limits<float>::infinity();                                  
    }                                                                                          }                                                                                   
    if (e < kDenormalExponent)                                                                 if (e < kDenormalExponent)                                                          
    {                                                                                          {                                                                                   
        return 0.0;                                                                                return 0.0;                                                                     
    }                                                                                          }                                                                                   
    while (e > kDenormalExponent && (f & kHiddenBit) == 0)                                     while (e > kDenormalExponent && (f & kHiddenBit) == 0)                              
    {                                                                                          {                                                                                   
        f <<= 1;                                                                                   f <<= 1;                                                                        
        e--;                                                                                       e--;                                                                            
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    uint64_t biased_exponent = (e == kDenormalExponent && (f & kHiddenBit) == 0)               uint64_t biased_exponent = (e == kDenormalExponent && (f & kHiddenBit) == 0)        
                               ? 0                                                                                        ? 0                                                      
                               : static_cast<uint64_t>(e + kExponentBias);                                                : static_cast<uint64_t>(e + kExponentBias);              
                                                                                                                                                                                   
    uint64_t bits = (f & kSignificandMask) | (biased_exponent << kPhysicalSignificandSiz       uint64_t bits = (f & kSignificandMask) | (biased_exponent << kPhysicalSignificandSiz
    return reinterpret_bits<double>(bits);                                                     return reinterpret_bits<float>(static_cast<uint32_t>(bits));                        
}                                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1127                                                       │ json/tests/src/unit-cbor.cpp:1093                                                        
                                                                                                                                                                                   
                for (size_t N = 24; N <= 255; ++N)                                                         for (size_t N = 0; N <= 0x17; ++N)                                      
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::string(N, 'x');                                 
                    json j = s;                                                                                json j = s;                                                         
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                      
                    expected.push_back(0x78);                                                                  expected.push_back(static_cast<uint8_t>(0x60 + N));                 
                    expected.push_back(static_cast<uint8_t>(N));                                                                                                                   
                    for (size_t i = 0; i < N; ++i)                                                             for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back('x');                                                                   expected.push_back('x');                                        
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 2);                                                             CHECK(result.size() == N + 1);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            if (N > 0)                                                          
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.back() != '\x00');                                 
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:1127                                                       │ json/tests/src/unit-cbor.cpp:1476                                                        
                                                                                                                                                                                   
                for (size_t N = 24; N <= 255; ++N)                                                         for (size_t N = 24; N <= 255; ++N)                                      
                {                                                                                          {                                                                       
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with string containing of N * 'x'              
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                      
                    expected.push_back(0x78);                                                                  expected.push_back(0x58);                                           
                    expected.push_back(static_cast<uint8_t>(N));                                               expected.push_back(static_cast<uint8_t>(N));                        
                    for (size_t i = 0; i < N; ++i)                                                             for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back('x');                                                                   expected.push_back('x');                                        
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                               
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 2);                                                             CHECK(result.size() == N + 2);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                                
                    CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);                   
                }                                                                                          }                                                                       
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:419                                                        │ json/tests/src/unit-cbor.cpp:483                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(0x19));                 
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == 0x19);                                       
                                                                                                                   auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:419                                                        │ json/tests/src/unit-cbor.cpp:711                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(0x19);                                       
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == 0x19);                                       
                                                                                                                   auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:419                                                        │ json/tests/src/unit-cbor.cpp:450                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (size_t i = 24; i <= 255; ++i)                                  
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = -1;                                                    
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                           j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                                                                                                                   expected.push_back(static_cast<uint8_t>(0x18));                 
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == 0x18);                                       
                                                                                                                   CHECK(result[1] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:419                                                        │ json/tests/src/unit-cbor.cpp:678                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (size_t i = 24; i <= 255; ++i)                                  
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with unsigned integer number               
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                                                                                                                   expected.push_back(0x18);                                       
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == 0x18);                                       
                                                                                                                   auto restored = static_cast<uint8_t>(result[1]);                
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:419                                                        │ json/tests/src/unit-cbor.cpp:357                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (auto i = -256; i < -24; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = -1;                                                                               json j = i;                                                     
                        j.get_ref<json::number_integer_t&>() = static_cast<json::number_                                                                                           
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(0x38);                                       
                                                                                                                   expected.push_back(static_cast<uint8_t>(-1 - i));               
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == 0x38);                                       
                                                                                                                   CHECK(static_cast<int16_t>(-1 - result[1]) == i);               
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-capacity.cpp:76                                                     │ json/tests/src/unit-capacity.cpp:115                                                     
                                                                                                                                                                                   
            SECTION("empty array")                                                                     SECTION("empty object")                                                     
            {                                                                                          {                                                                           
                json j = json::array();                                                                    json j = json::object();                                                
                const json j_const(j);                                                                     const json j_const(j);                                                  
                                                                                                                                                                                   
                SECTION("result of empty")                                                                 SECTION("result of empty")                                              
                {                                                                                          {                                                                       
                    CHECK(j.empty() == true);                                                                  CHECK(j.empty() == true);                                           
                    CHECK(j_const.empty() == true);                                                            CHECK(j_const.empty() == true);                                     
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("definition of empty")                                                             SECTION("definition of empty")                                          
                {                                                                                          {                                                                       
                    CHECK(j.empty() == (j.begin() == j.end()));                                                CHECK(j.empty() == (j.begin() == j.end()));                         
                    CHECK(j_const.empty() == (j_const.begin() == j_const.end()));                              CHECK(j_const.empty() == (j_const.begin() == j_const.end()));       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            SECTION("filled array")                                                                    SECTION("filled object")                                                    
            {                                                                                          {                                                                           
                json j = {1, 2, 3};                                                                        json j = {{"one", 1}, {"two", 2}, {"three", 3}};                        
                const json j_const(j);                                                                     const json j_const(j);                                                  
                                                                                                                                                                                   
                SECTION("result of empty")                                                                 SECTION("result of empty")                                              
                {                                                                                          {                                                                       
                    CHECK(j.empty() == false);                                                                 CHECK(j.empty() == false);                                          
                    CHECK(j_const.empty() == false);                                                           CHECK(j_const.empty() == false);                                    
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                SECTION("definition of empty")                                                             SECTION("definition of empty")                                          
                {                                                                                          {                                                                       
                    CHECK(j.empty() == (j.begin() == j.end()));                                                CHECK(j.empty() == (j.begin() == j.end()));                         
                    CHECK(j_const.empty() == (j_const.begin() == j_const.end()));                              CHECK(j_const.empty() == (j_const.begin() == j_const.end()));       
                }                                                                                          }                                                                       
            }                                                                                          }                                                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/iterators/iter_impl.hpp:314                                │ json/include/nlohmann/detail/iterators/iter_impl.hpp:270                                 
                                                                                                                                                                                   
        JSON_ASSERT(m_object != nullptr);                                                          JSON_ASSERT(m_object != nullptr);                                               
                                                                                                                                                                                   
        switch (m_object->m_type)                                                                  switch (m_object->m_type)                                                       
        {                                                                                          {                                                                               
            case value_t::object:                                                                      case value_t::object:                                                       
            {                                                                                          {                                                                           
                JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end());                      JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end());   
                return &(m_it.object_iterator->second);                                                    return m_it.object_iterator->second;                                    
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            case value_t::array:                                                                       case value_t::array:                                                        
            {                                                                                          {                                                                           
                JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end());                        JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end());     
                return &*m_it.array_iterator;                                                              return *m_it.array_iterator;                                            
            }                                                                                          }                                                                           
                                                                                                                                                                                   
            case value_t::null:                                                                        case value_t::null:                                                         
                                                                                                           JSON_THROW(invalid_iterator::create(214, "cannot get value", m_object));
                                                                                                                                                                                   
            case value_t::string:                                                                      case value_t::string:                                                       
            case value_t::boolean:                                                                     case value_t::boolean:                                                      
            case value_t::number_integer:                                                              case value_t::number_integer:                                               
            case value_t::number_unsigned:                                                             case value_t::number_unsigned:                                              
            case value_t::number_float:                                                                case value_t::number_float:                                                 
            case value_t::binary:                                                                      case value_t::binary:                                                       
            case value_t::discarded:                                                                   case value_t::discarded:                                                    
            default:                                                                                   default:                                                                    
            {                                                                                          {                                                                           
                if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin()))                                if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin()))             
                {                                                                                          {                                                                       
                    return m_object;                                                                           return *m_object;                                                   
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                JSON_THROW(invalid_iterator::create(214, "cannot get value", m_object));                   JSON_THROW(invalid_iterator::create(214, "cannot get value", m_object));
            }                                                                                          }                                                                           
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:2253                                                     │ json/tests/src/unit-ubjson.cpp:2206                                                      
                                                                                                                                                                                   
            json j =                                                                                   json j =                                                                    
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    "post", {                                                                                  "post", {                                                           
                        {"id", 1137},                                                                              {"id", 1137},                                                   
                        {"author", "rkalla"},                                                                      {"author", "rkalla"},                                           
                        {"timestamp", 1364482090592},                                                              {"timestamp", 1364482090592},                                   
                        {"body", "I totally agree!"}                                                               {"body", "I totally agree!"}                                    
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            };                                                                                         };                                                                          
            std::vector<uint8_t> v = {'{', '$', '{', '#', 'i', 1, 'i', 4, 'p', 'o', 's',               std::vector<uint8_t> v = {'{', 'i', 4, 'p', 'o', 's', 't', '{',             
                                      'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,                                         'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,
                                      'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '                                         'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '
                                      'i', 2, 'i', 'd', 'I', 0x04, 0x71,                                                         'i', 2, 'i', 'd', 'I', 0x04, 0x71,                
                                      'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p                                         'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p
                                                                                                                                 '}', '}'                                          
                                     };                                                                                         };                                                 
            CHECK(json::to_ubjson(j, true, true) == v);                                                CHECK(json::to_ubjson(j) == v);                                             
            CHECK(json::from_ubjson(v) == j);                                                          CHECK(json::from_ubjson(v) == j);                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:3097                                                     │ json/tests/src/unit-bjdata.cpp:3050                                                      
                                                                                                                                                                                   
            json j =                                                                                   json j =                                                                    
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    "post", {                                                                                  "post", {                                                           
                        {"id", 1137},                                                                              {"id", 1137},                                                   
                        {"author", "rkalla"},                                                                      {"author", "rkalla"},                                           
                        {"timestamp", 1364482090592},                                                              {"timestamp", 1364482090592},                                   
                        {"body", "I totally agree!"}                                                               {"body", "I totally agree!"}                                    
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            };                                                                                         };                                                                          
            std::vector<uint8_t> v = {'{', '#', 'i', 1, 'i', 4, 'p', 'o', 's', 't', '{',               std::vector<uint8_t> v = {'{', 'i', 4, 'p', 'o', 's', 't', '{',             
                                      'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,                                         'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,
                                      'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '                                         'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '
                                      'i', 2, 'i', 'd', 'I', 0x71, 0x04,                                                         'i', 2, 'i', 'd', 'I', 0x71, 0x04,                
                                      'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p                                         'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p
                                                                                                                                 '}', '}'                                          
                                     };                                                                                         };                                                 
            CHECK(json::to_bjdata(j, true, true) == v);                                                CHECK(json::to_bjdata(j) == v);                                             
            CHECK(json::from_bjdata(v) == j);                                                          CHECK(json::from_bjdata(v) == j);                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-conversions.cpp:170                                                 │ json/tests/src/unit-conversions.cpp:122                                                  
                                                                                                                                                                                   
        json::object_t o_reference = {{"object", json::object()},                                  json::object_t o_reference = {{"object", json::object()},                       
            {"array", {1, 2, 3, 4}},                                                                   {"array", {1, 2, 3, 4}},                                                    
            {"number", 42},                                                                            {"number", 42},                                                             
            {"boolean", false},                                                                        {"boolean", false},                                                         
            {"null", nullptr},                                                                         {"null", nullptr},                                                          
            {"string", "Hello world"}                                                                  {"string", "Hello world"}                                                   
        };                                                                                         };                                                                              
        json j(o_reference);                                                                       json j(o_reference);                                                            
                                                                                                                                                                                   
        SECTION("json::object_t")                                                                  SECTION("json::object_t")                                                       
        {                                                                                          {                                                                               
            json::object_t o = j;                                                                      json::object_t o = {{"previous", "value"}};                                 
                                                                                                       j.get_to(o);                                                                
            CHECK(json(o) == j);                                                                       CHECK(json(o) == j);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("std::map<json::string_t, json>")                                                  SECTION("std::map<json::string_t, json>")                                       
        {                                                                                          {                                                                               
            std::map<json::string_t, json> o = j;                                                      std::map<json::string_t, json> o{{"previous", "value"}};                    
                                                                                                       j.get_to(o);                                                                
            CHECK(json(o) == j);                                                                       CHECK(json(o) == j);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("std::multimap<json::string_t, json>")                                             SECTION("std::multimap<json::string_t, json>")                                  
        {                                                                                          {                                                                               
            std::multimap<json::string_t, json> o = j;                                                 std::multimap<json::string_t, json> o{{"previous", "value"}};               
                                                                                                       j.get_to(o);                                                                
            CHECK(json(o) == j);                                                                       CHECK(json(o) == j);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("std::unordered_map<json::string_t, json>")                                        SECTION("std::unordered_map<json::string_t, json>")                             
        {                                                                                          {                                                                               
            std::unordered_map<json::string_t, json> o = j;                                            std::unordered_map<json::string_t, json> o{{"previous", "value"}};          
                                                                                                       j.get_to(o);                                                                
            CHECK(json(o) == j);                                                                       CHECK(json(o) == j);                                                        
        }                                                                                          }                                                                               
                                                                                                                                                                                   
        SECTION("std::unordered_multimap<json::string_t, json>")                                   SECTION("std::unordered_multimap<json::string_t, json>")                        
        {                                                                                          {                                                                               
            std::unordered_multimap<json::string_t, json> o = j;                                       std::unordered_multimap<json::string_t, json> o{{"previous", "value"}};     
                                                                                                       j.get_to(o);                                                                
            CHECK(json(o) == j);                                                                       CHECK(json(o) == j);                                                        
        }                                                                                          }                                                                               
    }                                                                                                                                                                              
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:389                                                        │ json/tests/src/unit-cbor.cpp:419                                                         
                                                                                                                                                                                   
                    for (auto i = -24; i <= -1; ++i)                                                           for (size_t i = 0; i <= 23; ++i)                                    
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(0x20 - 1 - static_cast<u                           expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 1);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(static_cast<int8_t>(0x20 - 1 - result[0]) == i);                                     CHECK(result[0] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:3074                                                     │ json/tests/src/unit-bjdata.cpp:3050                                                      
                                                                                                                                                                                   
            json j =                                                                                   json j =                                                                    
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    "post", {                                                                                  "post", {                                                           
                        {"id", 1137},                                                                              {"id", 1137},                                                   
                        {"author", "rkalla"},                                                                      {"author", "rkalla"},                                           
                        {"timestamp", 1364482090592},                                                              {"timestamp", 1364482090592},                                   
                        {"body", "I totally agree!"}                                                               {"body", "I totally agree!"}                                    
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            };                                                                                         };                                                                          
            std::vector<uint8_t> v = {'{', '#', 'i', 1, 'i', 4, 'p', 'o', 's', 't', '{',               std::vector<uint8_t> v = {'{', 'i', 4, 'p', 'o', 's', 't', '{',             
                                      'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,                                         'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,
                                      'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '                                         'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '
                                      'i', 2, 'i', 'd', 'I', 0x71, 0x04,                                                         'i', 2, 'i', 'd', 'I', 0x71, 0x04,                
                                      'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p                                         'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p
                                                                                                                                 '}', '}'                                          
                                     };                                                                                         };                                                 
            CHECK(json::to_bjdata(j, true) == v);                                                      CHECK(json::to_bjdata(j) == v);                                             
            CHECK(json::from_bjdata(v) == j);                                                          CHECK(json::from_bjdata(v) == j);                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:3074                                                     │ json/tests/src/unit-bjdata.cpp:3097                                                      
                                                                                                                                                                                   
            json j =                                                                                   json j =                                                                    
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    "post", {                                                                                  "post", {                                                           
                        {"id", 1137},                                                                              {"id", 1137},                                                   
                        {"author", "rkalla"},                                                                      {"author", "rkalla"},                                           
                        {"timestamp", 1364482090592},                                                              {"timestamp", 1364482090592},                                   
                        {"body", "I totally agree!"}                                                               {"body", "I totally agree!"}                                    
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            };                                                                                         };                                                                          
            std::vector<uint8_t> v = {'{', '#', 'i', 1, 'i', 4, 'p', 'o', 's', 't', '{',               std::vector<uint8_t> v = {'{', '#', 'i', 1, 'i', 4, 'p', 'o', 's', 't', '{',
                                      'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,                                         'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,
                                      'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '                                         'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '
                                      'i', 2, 'i', 'd', 'I', 0x71, 0x04,                                                         'i', 2, 'i', 'd', 'I', 0x71, 0x04,                
                                      'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p                                         'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p
                                     };                                                                                         };                                                 
            CHECK(json::to_bjdata(j, true) == v);                                                      CHECK(json::to_bjdata(j, true, true) == v);                                 
            CHECK(json::from_bjdata(v) == j);                                                          CHECK(json::from_bjdata(v) == j);                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:2230                                                     │ json/tests/src/unit-ubjson.cpp:2206                                                      
                                                                                                                                                                                   
            json j =                                                                                   json j =                                                                    
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    "post", {                                                                                  "post", {                                                           
                        {"id", 1137},                                                                              {"id", 1137},                                                   
                        {"author", "rkalla"},                                                                      {"author", "rkalla"},                                           
                        {"timestamp", 1364482090592},                                                              {"timestamp", 1364482090592},                                   
                        {"body", "I totally agree!"}                                                               {"body", "I totally agree!"}                                    
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            };                                                                                         };                                                                          
            std::vector<uint8_t> v = {'{', '#', 'i', 1, 'i', 4, 'p', 'o', 's', 't', '{',               std::vector<uint8_t> v = {'{', 'i', 4, 'p', 'o', 's', 't', '{',             
                                      'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,                                         'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,
                                      'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '                                         'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '
                                      'i', 2, 'i', 'd', 'I', 0x04, 0x71,                                                         'i', 2, 'i', 'd', 'I', 0x04, 0x71,                
                                      'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p                                         'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p
                                                                                                                                 '}', '}'                                          
                                     };                                                                                         };                                                 
            CHECK(json::to_ubjson(j, true) == v);                                                      CHECK(json::to_ubjson(j) == v);                                             
            CHECK(json::from_ubjson(v) == j);                                                          CHECK(json::from_ubjson(v) == j);                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:2230                                                     │ json/tests/src/unit-ubjson.cpp:2253                                                      
                                                                                                                                                                                   
            json j =                                                                                   json j =                                                                    
            {                                                                                          {                                                                           
                {                                                                                          {                                                                       
                    "post", {                                                                                  "post", {                                                           
                        {"id", 1137},                                                                              {"id", 1137},                                                   
                        {"author", "rkalla"},                                                                      {"author", "rkalla"},                                           
                        {"timestamp", 1364482090592},                                                              {"timestamp", 1364482090592},                                   
                        {"body", "I totally agree!"}                                                               {"body", "I totally agree!"}                                    
                    }                                                                                          }                                                                   
                }                                                                                          }                                                                       
            };                                                                                         };                                                                          
            std::vector<uint8_t> v = {'{', '#', 'i', 1, 'i', 4, 'p', 'o', 's', 't', '{',               std::vector<uint8_t> v = {'{', '$', '{', '#', 'i', 1, 'i', 4, 'p', 'o', 's',
                                      'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,                                         'i', 6, 'a', 'u', 't', 'h', 'o', 'r', 'S', 'i', 6,
                                      'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '                                         'i', 4, 'b', 'o', 'd', 'y', 'S', 'i', 16, 'I', ' '
                                      'i', 2, 'i', 'd', 'I', 0x04, 0x71,                                                         'i', 2, 'i', 'd', 'I', 0x04, 0x71,                
                                      'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p                                         'i', 9, 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p
                                     };                                                                                         };                                                 
            CHECK(json::to_ubjson(j, true) == v);                                                      CHECK(json::to_ubjson(j, true, true) == v);                                 
            CHECK(json::from_ubjson(v) == j);                                                          CHECK(json::from_ubjson(v) == j);                                           
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:875                                                     │ json/tests/src/unit-msgpack.cpp:1314                                                     
                                                                                                                                                                                   
                    CAPTURE(N)                                                                                 CAPTURE(N)                                                          
                                                                                                                                                                                   
                    // create JSON value with string containing of N * 'x'                                     // create JSON value with byte array containing of N * 'x'          
                    const auto s = std::string(N, 'x');                                                        const auto s = std::vector<uint8_t>(N, 'x');                        
                    json j = s;                                                                                json j = json::binary(s);                                           
                                                                                                                                                                                   
                    // create expected byte vector                                                             // create expected byte vector                                      
                    std::vector<uint8_t> expected;                                                             std::vector<std::uint8_t> expected;                                 
                    expected.push_back(0xd9);                                                                  expected.push_back(static_cast<std::uint8_t>(0xC4));                
                    expected.push_back(static_cast<uint8_t>(N));                                               expected.push_back(static_cast<std::uint8_t>(N));                   
                    for (size_t i = 0; i < N; ++i)                                                             for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back('x');                                                                   expected.push_back(0x78);                                       
                    }                                                                                          }                                                                   
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                            
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 2);                                                             CHECK(result.size() == N + 2);                                      
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            if (N > 0)                                                          
                                                                                                               {                                                                   
                                                                                                                   CHECK(result.back() != '\x00');                                 
                                                                                                               }                                                                   
                                                                                                                                                                                   
                    // roundtrip                                                                               // roundtrip                                                        
                    CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                             
                    CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);                
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/include/nlohmann/detail/output/binary_writer.hpp:575                               │ json/include/nlohmann/detail/output/binary_writer.hpp:688                                
                                                                                                                                                                                   
                // step 1: write control byte and the array size                                           // step 1: write control byte and the object size                       
                const auto N = j.m_value.array->size();                                                    const auto N = j.m_value.object->size();                                
                if (N <= 15)                                                                               if (N <= 15)                                                            
                {                                                                                          {                                                                       
                    // fixarray                                                                                // fixmap                                                           
                    write_number(static_cast<std::uint8_t>(0x90 | N));                                         write_number(static_cast<std::uint8_t>(0x80 | (N & 0xF)));          
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint16_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint16_t>::max)())              
                {                                                                                          {                                                                       
                    // array 16                                                                                // map 16                                                           
                    oa->write_character(to_char_type(0xDC));                                                   oa->write_character(to_char_type(0xDE));                            
                    write_number(static_cast<std::uint16_t>(N));                                               write_number(static_cast<std::uint16_t>(N));                        
                }                                                                                          }                                                                       
                else if (N <= (std::numeric_limits<std::uint32_t>::max)())                                 else if (N <= (std::numeric_limits<std::uint32_t>::max)())              
                {                                                                                          {                                                                       
                    // array 32                                                                                // map 32                                                           
                    oa->write_character(to_char_type(0xDD));                                                   oa->write_character(to_char_type(0xDF));                            
                    write_number(static_cast<std::uint32_t>(N));                                               write_number(static_cast<std::uint32_t>(N));                        
                }                                                                                          }                                                                       
                                                                                                                                                                                   
                // step 2: write each element                                                              // step 2: write each element                                           
                for (const auto& el : *j.m_value.array)                                                    for (const auto& el : *j.m_value.object)                                
                {                                                                                          {                                                                       
                    write_msgpack(el);                                                                         write_msgpack(el.first);                                            
                                                                                                               write_msgpack(el.second);                                           
                }                                                                                          }                                                                       
                break;                                                                                     break;                                                                  
            }                                                                                                                                                                      
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:176                                                     │ json/tests/src/unit-msgpack.cpp:206                                                      
                                                                                                                                                                                   
                    for (auto i = -32; i <= -1; ++i)                                                           for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with integer number                                                   // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_integer());                                                              CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 1);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(static_cast<int8_t>(result[0]) == i);                                                CHECK(result[0] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1149                                                     │ json/tests/src/unit-ubjson.cpp:1173                                                      
                                                                                                                                                                                   
                    std::vector<uint8_t> expected;                                                             std::vector<std::uint8_t> expected;                                 
                    expected.push_back(static_cast<std::uint8_t>('['));                                        expected.push_back(static_cast<std::uint8_t>('['));                 
                    for (std::size_t i = 0; i < N; ++i)                                                        expected.push_back(static_cast<std::uint8_t>('#'));                 
                                                                                                               expected.push_back(static_cast<std::uint8_t>('i'));                 
                                                                                                               expected.push_back(static_cast<std::uint8_t>(N));                   
                                                                                                                                                                                   
                                                                                                               for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back(static_cast<std::uint8_t>('U'));                                        expected.push_back(static_cast<std::uint8_t>('U'));             
                        expected.push_back(static_cast<std::uint8_t>(0x78));                                       expected.push_back(static_cast<std::uint8_t>(0x78));            
                    }                                                                                          }                                                                   
                    expected.push_back(static_cast<std::uint8_t>(']'));                                                                                                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_ubjson(j, false, false);                                      const auto result = json::to_ubjson(j, true, false);                
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 12);                                                            CHECK(result.size() == N + 14);                                     
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip only works to an array of numbers                                             // roundtrip only works to an array of numbers                      
                    json j_out = s;                                                                            json j_out = s;                                                     
                    CHECK(json::from_ubjson(result) == j_out);                                                 CHECK(json::from_ubjson(result) == j_out);                          
                    CHECK(json::from_ubjson(result, true, false) == j_out);                                    CHECK(json::from_ubjson(result, true, false) == j_out);             
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-bjdata.cpp:1579                                                     │ json/tests/src/unit-bjdata.cpp:1603                                                      
                                                                                                                                                                                   
                    std::vector<uint8_t> expected;                                                             std::vector<std::uint8_t> expected;                                 
                    expected.push_back(static_cast<std::uint8_t>('['));                                        expected.push_back(static_cast<std::uint8_t>('['));                 
                    for (std::size_t i = 0; i < N; ++i)                                                        expected.push_back(static_cast<std::uint8_t>('#'));                 
                                                                                                               expected.push_back(static_cast<std::uint8_t>('i'));                 
                                                                                                               expected.push_back(static_cast<std::uint8_t>(N));                   
                                                                                                                                                                                   
                                                                                                               for (size_t i = 0; i < N; ++i)                                      
                    {                                                                                          {                                                                   
                        expected.push_back(static_cast<std::uint8_t>('U'));                                        expected.push_back(static_cast<std::uint8_t>('U'));             
                        expected.push_back(static_cast<std::uint8_t>(0x78));                                       expected.push_back(static_cast<std::uint8_t>(0x78));            
                    }                                                                                          }                                                                   
                    expected.push_back(static_cast<std::uint8_t>(']'));                                                                                                            
                                                                                                                                                                                   
                    // compare result + size                                                                   // compare result + size                                            
                    const auto result = json::to_bjdata(j, false, false);                                      const auto result = json::to_bjdata(j, true, false);                
                    CHECK(result == expected);                                                                 CHECK(result == expected);                                          
                    CHECK(result.size() == N + 12);                                                            CHECK(result.size() == N + 14);                                     
                    // check that no null byte is appended                                                     // check that no null byte is appended                              
                    CHECK(result.back() != '\x00');                                                            CHECK(result.back() != '\x00');                                     
                                                                                                                                                                                   
                    // roundtrip only works to an array of numbers                                             // roundtrip only works to an array of numbers                      
                    json j_out = s;                                                                            json j_out = s;                                                     
                    CHECK(json::from_bjdata(result) == j_out);                                                 CHECK(json::from_bjdata(result) == j_out);                          
                    CHECK(json::from_bjdata(result, true, false) == j_out);                                    CHECK(json::from_bjdata(result, true, false) == j_out);             
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:580                                                     │ json/tests/src/unit-msgpack.cpp:206                                                      
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (size_t i = 0; i <= 127; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 1);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-msgpack.cpp:580                                                     │ json/tests/src/unit-msgpack.cpp:176                                                      
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 127; ++i)                                                          for (auto i = -32; i <= -1; ++i)                                    
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_msgpack(j);                                                   const auto result = json::to_msgpack(j);                        
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 1);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(static_cast<int8_t>(result[0]) == i);                     
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_msgpack(result) == j);                                                    CHECK(json::from_msgpack(result) == j);                         
                        CHECK(json::from_msgpack(result, true, false) == j);                                       CHECK(json::from_msgpack(result, true, false) == j);            
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:648                                                        │ json/tests/src/unit-cbor.cpp:711                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (size_t i = 256; i <= 65535; ++i)                               
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(0x19);                                       
                                                                                                                   expected.push_back(static_cast<uint8_t>((i >> 8) & 0xff));      
                                                                                                                   expected.push_back(static_cast<uint8_t>(i & 0xff));             
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 3);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == 0x19);                                       
                                                                                                                   auto restored = static_cast<uint16_t>(static_cast<uint8_t>(resul
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:648                                                        │ json/tests/src/unit-cbor.cpp:450                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (size_t i = 24; i <= 255; ++i)                                  
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                                                                                                                   expected.push_back(static_cast<uint8_t>(0x18));                 
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == 0x18);                                       
                                                                                                                   CHECK(result[1] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:648                                                        │ json/tests/src/unit-cbor.cpp:678                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (size_t i = 24; i <= 255; ++i)                                  
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with unsigned integer number               
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_unsigned());                                  
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                                                                                                                   expected.push_back(0x18);                                       
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == 0x18);                                       
                                                                                                                   auto restored = static_cast<uint8_t>(result[1]);                
                                                                                                                   CHECK(restored == i);                                           
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:648                                                        │ json/tests/src/unit-cbor.cpp:357                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (auto i = -256; i < -24; ++i)                                   
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(0x38);                                       
                                                                                                                   expected.push_back(static_cast<uint8_t>(-1 - i));               
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 2);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == 0x38);                                       
                                                                                                                   CHECK(static_cast<int16_t>(-1 - result[1]) == i);               
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:648                                                        │ json/tests/src/unit-cbor.cpp:419                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (size_t i = 0; i <= 23; ++i)                                    
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = -1;                                                    
                                                                                                                   j.get_ref<json::number_integer_t&>() = static_cast<json::number_
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(i));                    
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 1);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(result[0] == i);                                          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-cbor.cpp:648                                                        │ json/tests/src/unit-cbor.cpp:389                                                         
                                                                                                                                                                                   
                    for (size_t i = 0; i <= 23; ++i)                                                           for (auto i = -24; i <= -1; ++i)                                    
                    {                                                                                          {                                                                   
                        CAPTURE(i)                                                                                 CAPTURE(i)                                                      
                                                                                                                                                                                   
                        // create JSON value with unsigned integer number                                          // create JSON value with integer number                        
                        json j = i;                                                                                json j = i;                                                     
                                                                                                                                                                                   
                        // check type                                                                              // check type                                                   
                        CHECK(j.is_number_unsigned());                                                             CHECK(j.is_number_integer());                                   
                                                                                                                                                                                   
                        // create expected byte vector                                                             // create expected byte vector                                  
                        std::vector<uint8_t> expected;                                                             std::vector<uint8_t> expected;                                  
                        expected.push_back(static_cast<uint8_t>(i));                                               expected.push_back(static_cast<uint8_t>(0x20 - 1 - static_cast<u
                                                                                                                                                                                   
                        // compare result + size                                                                   // compare result + size                                        
                        const auto result = json::to_cbor(j);                                                      const auto result = json::to_cbor(j);                           
                        CHECK(result == expected);                                                                 CHECK(result == expected);                                      
                        CHECK(result.size() == 1);                                                                 CHECK(result.size() == 1);                                      
                                                                                                                                                                                   
                        // check individual bytes                                                                  // check individual bytes                                       
                        CHECK(result[0] == i);                                                                     CHECK(static_cast<int8_t>(0x20 - 1 - result[0]) == i);          
                                                                                                                                                                                   
                        // roundtrip                                                                               // roundtrip                                                    
                        CHECK(json::from_cbor(result) == j);                                                       CHECK(json::from_cbor(result) == j);                            
                        CHECK(json::from_cbor(result, true, false) == j);                                          CHECK(json::from_cbor(result, true, false) == j);               
                    }                                                                                          }                                                                   
                }                                                                                                                                                                  
 next prev up                                                                                                                                                                        
 json/tests/src/unit-ubjson.cpp:1913                                                     │ json/tests/src/unit-ubjson.cpp:1929                                                      
                                                                                                                                                                                   
            std::vector<uint8_t> v0 = {'[', '$'};                                                      std::vector<uint8_t> vST = {'[', '$', 'i', '#', 'i', 2, 1};                 
            json _;                                                                                    json _;                                                                     
            CHECK_THROWS_WITH_AS(_ = json::from_ubjson(v0), "[json.exception.parse_error               CHECK_THROWS_WITH_AS(_ = json::from_ubjson(vST), "[json.exception.parse_erro
            CHECK(json::from_ubjson(v0, true, false).is_discarded());                                  CHECK(json::from_ubjson(vST, true, false).is_discarded());                  
                                                                                                                                                                                   
            std::vector<uint8_t> vi = {'[', '$', '#'};                                                 std::vector<uint8_t> vS = {'[', '#', 'i', 2, 'i', 1};                       
            CHECK_THROWS_WITH_AS(_ = json::from_ubjson(vi), "[json.exception.parse_error               CHECK_THROWS_WITH_AS(_ = json::from_ubjson(vS), "[json.exception.parse_error
            CHECK(json::from_ubjson(vi, true, false).is_discarded());                                  CHECK(json::from_ubjson(vS, true, false).is_discarded());                   
                                                                                                                                                                                   
            std::vector<uint8_t> vT = {'[', '$', 'T'};                                                 std::vector<uint8_t> v = {'[', 'i', 2, 'i', 1};                             
            CHECK_THROWS_WITH_AS(_ = json::from_ubjson(vT), "[json.exception.parse_error               CHECK_THROWS_WITH_AS(_ = json::from_ubjson(v), "[json.exception.parse_error.
            CHECK(json::from_ubjson(vT, true, false).is_discarded());                                  CHECK(json::from_ubjson(v, true, false).is_discarded());                    
        }                                                                                                                                                                          
 next prev up                                                                                                                                                                        
 json/tests/src/fuzzer-parse_cbor.cpp:29                                                 │ json/tests/src/fuzzer-parse_bson.cpp:29                                                  
                                                                                                                                                                                   
    try                                                                                        try                                                                                 
    {                                                                                          {                                                                                   
        // step 1: parse input                                                                     // step 1: parse input                                                          
        std::vector<uint8_t> vec1(data, data + size);                                              std::vector<uint8_t> vec1(data, data + size);                                   
        json j1 = json::from_cbor(vec1);                                                           json j1 = json::from_bson(vec1);                                                
                                                                                                                                                                                   
                                                                                                   if (j1.is_discarded())                                                          
                                                                                                   {                                                                               
                                                                                                       return 0;                                                                   
                                                                                                   }                                                                               
                                                                                                                                                                                   
        try                                                                                        try                                                                             
        {                                                                                          {                                                                               
            // step 2: round trip                                                                      // step 2: round trip                                                       
            std::vector<uint8_t> vec2 = json::to_cbor(j1);                                             std::vector<uint8_t> vec2 = json::to_bson(j1);                              
                                                                                                                                                                                   
            // parse serialization                                                                     // parse serialization                                                      
            json j2 = json::from_cbor(vec2);                                                           json j2 = json::from_bson(vec2);                                            
                                                                                                                                                                                   
            // serializations must match                                                               // serializations must match                                                
            assert(json::to_cbor(j2) == vec2);                                                         assert(json::to_bson(j2) == vec2);                                          
        }                                                                                          }                                                                               
        catch (const json::parse_error&)                                                           catch (const json::parse_error&)                                                
        {                                                                                          {                                                                               
            // parsing a CBOR serialization must not fail                                              // parsing a BSON serialization must not fail                               
            assert(false);                                                                             assert(false);                                                              
        }                                                                                          }                                                                               
    }                                                                                          }                                                                                   
    catch (const json::parse_error&)                                                           catch (const json::parse_error&)                                                    
    {                                                                                          {                                                                                   
        // parse errors are ok, because input may be random bytes                                  // parse errors are ok, because input may be random bytes                       
    }                                                                                          }                                                                                   
    catch (const json::type_error&)                                                            catch (const json::type_error&)                                                     
    {                                                                                          {                                                                                   
        // type errors can occur during parsing, too                                               // type errors can occur during parsing, too                                    
    }                                                                                          }                                                                                   
    catch (const json::out_of_range&)                                                          catch (const json::out_of_range&)                                                   
    {                                                                                          {                                                                                   
        // out of range errors can occur during parsing, too                                       // out of range errors can occur during parsing, too                            
    }                                                                                          }                                                                                   
                                                                                                                                                                                   
    // return 0 - non-zero return values are reserved for future use                           // return 0 - non-zero return values are reserved for future use                    
    return 0;                                                                                  return 0;                                                                           
}