YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
func.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
yaclib/util/ref.hpp
>
4
5
#include <type_traits>
6
#include <utility>
7
8
namespace
yaclib
{
9
10
/**
11
* Callable interface
12
*/
13
class
IFunc
:
public
IRef
{
// TODO(MBkkt) Maybe remove inheritance from IRef
14
public
:
15
// compiler remove this call from tests
16
virtual
void
Call
()
noexcept
{
// LCOV_EXCL_LINE
17
YACLIB_PURE_VIRTUAL
();
// LCOV_EXCL_LINE
18
}
// LCOV_EXCL_LINE
19
};
20
21
}
// namespace yaclib
yaclib::IFunc
Callable interface.
Definition
func.hpp:13
yaclib::IFunc::Call
virtual void Call() noexcept
Definition
func.hpp:16
yaclib::IRef
Reference counting interface.
Definition
ref.hpp:8
YACLIB_PURE_VIRTUAL
#define YACLIB_PURE_VIRTUAL()
Definition
log.hpp:86
yaclib
Definition
base_core.hpp:18
yaclib::MakeContract
Contract< V, E > MakeContract()
Creates related future and promise.
Definition
contract.hpp:25
ref.hpp
include
yaclib
util
func.hpp
Generated by
1.9.8