LCOV - code coverage report
Current view: top level - cell - MembraneType.hpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2025-12-06 00:15:40 Functions: 1 1 100.0 %

          Line data    Source code
       1             : #ifndef BF6AA0FA_191C_4C99_AE82_01625CBB6222_HPP
       2             : #define BF6AA0FA_191C_4C99_AE82_01625CBB6222_HPP
       3             : 
       4             : #include "Types.hpp"
       5             : #include "Vector2d.hpp"
       6             : 
       7             : namespace cell
       8             : {
       9             : 
      10             : class MembraneType
      11             : {
      12             : public:
      13             :     enum class Permeability
      14             :     {
      15             :         Inward,
      16             :         Outward,
      17             :         Bidirectional,
      18             :         None
      19             :     };
      20             : 
      21             :     using PermeabilityMap = std::unordered_map<DiscTypeID, Permeability>;
      22             : 
      23             : public:
      24             :     MembraneType(std::string name, double radius, PermeabilityMap permeabilityMap);
      25             : 
      26             :     MembraneType(const MembraneType&) = delete;
      27             :     MembraneType& operator=(const MembraneType&) = delete;
      28          14 :     MembraneType(MembraneType&&) = default;
      29             :     MembraneType& operator=(MembraneType&&) = default;
      30             : 
      31             :     Permeability getPermeabilityFor(const DiscTypeID& discTypeID) const;
      32             : 
      33             :     const std::string& getName() const;
      34             :     double getRadius() const;
      35             : 
      36             : private:
      37             :     std::string name_;
      38             :     PermeabilityMap permeabilityMap_;
      39             :     double radius_;
      40             : };
      41             : 
      42             : } // namespace cell
      43             : 
      44             : #endif /* BF6AA0FA_191C_4C99_AE82_01625CBB6222_HPP */

Generated by: LCOV version 1.14