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-01-20 13:53:09 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             : #ifndef GUARD_058F2EBC_3D62_4D90_9E7A_4B24E3C99085
       9             : #define GUARD_058F2EBC_3D62_4D90_9E7A_4B24E3C99085
      10             : 
      11             : namespace can
      12             : {
      13             : class BitFieldFilter;
      14             : class AbstractStaticBitFieldFilter;
      15             : class IntervalFilter;
      16             : 
      17             : /**
      18             :  * interface for class that are able to merge with other filter classes
      19             :  * @class        IMerger
      20             :  *
      21             :  *
      22             :  * \see BitFieldFilter
      23             :  * \see AbstractStaticBitFieldFilter
      24             :  * \see IntervalFilter
      25             :  */
      26             : class IMerger
      27             : {
      28             : public:
      29          77 :     IMerger()                          = default;
      30             :     IMerger(IMerger const&)            = delete;
      31             :     IMerger& operator=(IMerger const&) = delete;
      32             : 
      33             :     /**
      34             :      * merges with a BitFieldFilter
      35             :      * \param filter    BitFieldFilter to merge with
      36             :      */
      37             :     virtual void mergeWithBitField(BitFieldFilter const& filter) = 0;
      38             : 
      39             :     /**
      40             :      * merges with a AbstractStaticBitFieldFilter
      41             :      * \param filter    AbstractStaticBitFieldFilter to merge with
      42             :      */
      43             :     virtual void mergeWithStaticBitField(AbstractStaticBitFieldFilter const& filter) = 0;
      44             : 
      45             :     /**
      46             :      * merges with a IntervalFilter
      47             :      * \param filter    IntervalFilter to merge with
      48             :      */
      49             :     virtual void mergeWithInterval(IntervalFilter const& filter) = 0;
      50             : };
      51             : 
      52             : } // namespace can
      53             : 
      54             : #endif // GUARD_058F2EBC_3D62_4D90_9E7A_4B24E3C99085

Generated by: LCOV version 1.14