LCOV - code coverage report
Current view: top level - pencil/include/layout - layout_feature_iter.inl (source / functions) Coverage Total Hit
Test: crystal-facet-uml_v1.63.2_covts Lines: 0.0 % 20 0
Test Date: 2025-05-01 10:10:14 Functions: 0.0 % 4 0

            Line data    Source code
       1              : /* File: layout_feature_iter.inl; Copyright and License: see below */
       2              : 
       3              : #include "u8/u8_trace.h"
       4              : #include <assert.h>
       5              : 
       6            0 : static inline void layout_feature_iter_init( layout_feature_iter_t *this_,
       7              :                                              layout_visible_set_t *items,
       8              :                                              const universal_array_index_sorter_t *order )
       9              : {
      10            0 :     (*this_).next_idx = 0;
      11            0 :     (*this_).items = items;
      12            0 :     (*this_).order = order;
      13            0 : }
      14              : 
      15            0 : static inline void layout_feature_iter_destroy( layout_feature_iter_t *this_ )
      16              : {
      17            0 :     (*this_).next_idx = 0;
      18            0 :     (*this_).items = NULL;
      19            0 :     (*this_).order = NULL;
      20            0 : }
      21              : 
      22            0 : static inline bool layout_feature_iter_has_next( const layout_feature_iter_t *this_ )
      23              : {
      24            0 :     return ( (*this_).next_idx < universal_array_index_sorter_get_count( (*this_).order ) );
      25              : }
      26              : 
      27            0 : static inline layout_feature_t *layout_feature_iter_next_ptr( layout_feature_iter_t *this_ )
      28              : {
      29            0 :     layout_feature_t *result = NULL;
      30            0 :     if ( layout_feature_iter_has_next( this_ ) )
      31              :     {
      32            0 :         uint32_t array_index = universal_array_index_sorter_get_array_index( (*this_).order, (*this_).next_idx );
      33            0 :         assert( array_index < layout_visible_set_get_feature_count( (*this_).items ) );
      34            0 :         result = layout_visible_set_get_feature_ptr( (*this_).items, array_index );
      35            0 :         (*this_).next_idx ++;
      36              :     }
      37            0 :     return result;
      38              : }
      39              : 
      40              : 
      41              : /*
      42              : Copyright 2025-2025 Andreas Warnke
      43              : 
      44              : Licensed under the Apache License, Version 2.0 (the "License");
      45              : you may not use this file except in compliance with the License.
      46              : You may obtain a copy of the License at
      47              : 
      48              :     http://www.apache.org/licenses/LICENSE-2.0
      49              : 
      50              : Unless required by applicable law or agreed to in writing, software
      51              : distributed under the License is distributed on an "AS IS" BASIS,
      52              : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      53              : See the License for the specific language governing permissions and
      54              : limitations under the License.
      55              : */
        

Generated by: LCOV version 2.0-1