LCOV - code coverage report
Current view: top level - include/Module/Stateful/Sleeper - Sleeper.hpp (source / functions) Hit Total Coverage
Test: streampu_clean.info Lines: 0 1 0.0 %
Date: 2025-01-11 12:25:42 Functions: 0 2 0.0 %

          Line data    Source code
       1             : /*!
       2             :  * \file
       3             :  * \brief Class module::Sleeper.
       4             :  */
       5             : #ifndef SLEEPER_HPP_
       6             : #define SLEEPER_HPP_
       7             : 
       8             : #include <cstdint>
       9             : 
      10             : #include "Module/Stateful/Stateful.hpp"
      11             : 
      12             : namespace spu
      13             : {
      14             : namespace module
      15             : {
      16             : namespace slp
      17             : {
      18             : enum class tsk : size_t
      19             : {
      20             :     sleep,
      21             :     SIZE
      22             : };
      23             : 
      24             : namespace sck
      25             : {
      26             : enum class sleep : size_t
      27             : {
      28             :     status
      29             : };
      30             : }
      31             : }
      32             : 
      33             : class Sleeper : public Stateful
      34             : {
      35             :   public:
      36             :     inline runtime::Task& operator[](const slp::tsk t);
      37             :     inline runtime::Socket& operator[](const slp::sck::sleep s);
      38             :     inline runtime::Socket& operator[](const std::string& tsk_sck);
      39             : 
      40             :   protected:
      41             :     size_t ns;
      42             : 
      43             :   public:
      44             :     Sleeper(const size_t ns = 0);
      45           0 :     virtual ~Sleeper() = default;
      46             :     virtual Sleeper* clone() const;
      47             : 
      48             :     size_t get_ns() const;
      49             :     void set_ns(const size_t ns);
      50             : 
      51             :     void sleep(const int frame_id = -1, const bool managed_memory = true);
      52             : 
      53             :   protected:
      54             :     virtual void _sleep(const size_t frame_id);
      55             : };
      56             : }
      57             : }
      58             : 
      59             : #ifndef DOXYGEN_SHOULD_SKIP_THIS
      60             : #include "Module/Stateful/Sleeper/Sleeper.hxx"
      61             : #endif
      62             : 
      63             : #endif /* SLEEPER_HPP_ */

Generated by: LCOV version 1.14