LCOV - code coverage report
Current view: top level - cpp2can/include/can/filter - IMerger.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2025-04-15 08:32:23 Functions: 0 0 -

          Line data    Source code
       1             : // Copyright 2024 Accenture.
       2             : 
       3             : /**
       4             :  * Contains IMerger interface.
       5             :  * \file IMerger.h
       6             :  * \ingroup filter
       7             :  */
       8             : #pragma once
       9             : 
      10             : namespace can
      11             : {
      12             : class BitFieldFilter;
      13             : class AbstractStaticBitFieldFilter;
      14             : class IntervalFilter;
      15             : 
      16             : /**
      17             :  * interface for class that are able to merge with other filter classes
      18             :  * @class        IMerger
      19             :  *
      20             :  *
      21             :  * \see BitFieldFilter
      22             :  * \see AbstractStaticBitFieldFilter
      23             :  * \see IntervalFilter
      24             :  */
      25             : class IMerger
      26             : {
      27             : public:
      28          78 :     IMerger()                          = default;
      29             :     IMerger(IMerger const&)            = delete;
      30             :     IMerger& operator=(IMerger const&) = delete;
      31             : 
      32             :     /**
      33             :      * merges with a BitFieldFilter
      34             :      * \param filter    BitFieldFilter to merge with
      35             :      */
      36             :     virtual void mergeWithBitField(BitFieldFilter const& filter) = 0;
      37             : 
      38             :     /**
      39             :      * merges with a AbstractStaticBitFieldFilter
      40             :      * \param filter    AbstractStaticBitFieldFilter to merge with
      41             :      */
      42             :     virtual void mergeWithStaticBitField(AbstractStaticBitFieldFilter const& filter) = 0;
      43             : 
      44             :     /**
      45             :      * merges with a IntervalFilter
      46             :      * \param filter    IntervalFilter to merge with
      47             :      */
      48             :     virtual void mergeWithInterval(IntervalFilter const& filter) = 0;
      49             : };
      50             : 
      51             : } // namespace can

Generated by: LCOV version 1.14