LCOV - code coverage report
Current view: top level - root/contrail/src/contrail-common/sandesh/compiler/parse - t_set.h (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 12 12 100.0 %
Date: 2026-11-09 02:10:49 Functions: 5 5 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             :  * Modifications Copyright (c) Juniper Networks, Inc.
      20             :  * Copyright Contributors to the OpenSDN project
      21             :  */
      22             : 
      23             : #ifndef T_SET_H
      24             : #define T_SET_H
      25             : 
      26             : #include "t_container.h"
      27             : 
      28             : /**
      29             :  * A set is a lightweight container type that just wraps another data type.
      30             :  *
      31             :  */
      32             : class t_set : public t_container {
      33             :  public:
      34         110 :   t_set(t_type* elem_type) :
      35         110 :     elem_type_(elem_type) {}
      36             : 
      37         409 :   t_type* get_elem_type() const {
      38         409 :     return elem_type_;
      39             :   }
      40             : 
      41         523 :   bool is_set() const {
      42         523 :     return true;
      43             :   }
      44             : 
      45         336 :   virtual std::string get_fingerprint_material() const {
      46         672 :     return "set<" + elem_type_->get_fingerprint_material() + ">";
      47             :   }
      48             : 
      49         111 :   virtual void generate_fingerprint() {
      50         111 :     t_type::generate_fingerprint();
      51         111 :     elem_type_->generate_fingerprint();
      52         111 :   }
      53             : 
      54             :  private:
      55             :   t_type* elem_type_;
      56             : };
      57             : 
      58             : #endif

Generated by: LCOV version 1.14