LCOV - code coverage report
Current view: top level - root/contrail/src/contrail-common/sandesh/compiler/parse - t_map.h (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 17 17 100.0 %
Date: 2026-08-03 02:19:58 Functions: 6 6 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Licensed to the Apache Software Foundation (ASF) under one
       3             :  * or more contributor license agreements. See the NOTICE file
       4             :  * distributed with this work for additional information
       5             :  * regarding copyright ownership. The ASF licenses this file
       6             :  * to you under the Apache License, Version 2.0 (the
       7             :  * "License"); you may not use this file except in compliance
       8             :  * with the License. You may obtain a copy of the License at
       9             :  *
      10             :  *   http://www.apache.org/licenses/LICENSE-2.0
      11             :  *
      12             :  * Unless required by applicable law or agreed to in writing,
      13             :  * software distributed under the License is distributed on an
      14             :  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
      15             :  * KIND, either express or implied. See the License for the
      16             :  * specific language governing permissions and limitations
      17             :  * under the License.
      18             :  */
      19             : 
      20             : #ifndef T_MAP_H
      21             : #define T_MAP_H
      22             : 
      23             : #include "t_container.h"
      24             : 
      25             : /**
      26             :  * A map is a lightweight container type that just wraps another two data
      27             :  * types.
      28             :  *
      29             :  */
      30             : class t_map : public t_container {
      31             :  public:
      32        2404 :   t_map(t_type* key_type, t_type* val_type) :
      33        2404 :     key_type_(key_type),
      34        2404 :     val_type_(val_type) {}
      35             : 
      36       11993 :   t_type* get_key_type() const {
      37       11993 :     return key_type_;
      38             :   }
      39             : 
      40       12647 :   t_type* get_val_type() const {
      41       12647 :     return val_type_;
      42             :   }
      43             : 
      44        9008 :   bool is_map() const {
      45        9008 :     return true;
      46             :   }
      47             : 
      48        3351 :   virtual std::string get_fingerprint_material() const {
      49        6702 :     return "map<" + key_type_->get_fingerprint_material() +
      50       13404 :       "," + val_type_->get_fingerprint_material() + ">";
      51             :   }
      52             : 
      53        1111 :   virtual void generate_fingerprint() {
      54        1111 :     t_type::generate_fingerprint();
      55        1111 :     key_type_->generate_fingerprint();
      56        1111 :     val_type_->generate_fingerprint();
      57        1111 :   }
      58             : 
      59             :  private:
      60             :   t_type* key_type_;
      61             :   t_type* val_type_;
      62             : };
      63             : 
      64             : #endif

Generated by: LCOV version 1.14