Realm C++ SDK
Versão C++ v2.2.0
Incluir
cprealm
Scheduler.hpp
1
2
//
3
// Autores 2022 Realm Inc.
4
//
5
// Licenciado sob a Licença Apache, Versão 2.0 (a "Licença");
6
// você não pode usar este arquivo, exceto em conformidade com a Licença.
7
// Você pode obter uma cópia da Licença em
8
//
9
// http://www.apache.org/license/LICENSE-2.0
10
//
11
// A menos que exigido pela lei aplicável ou acordado por escrito, o software
12
// distribuído sob a Licença é distribuído "Como está",
13
// sem garantias ou condições de qualquer tipo, Express ou implícitas.
14
// Consulte a Licença para obter as permissões específicas de domínio do idioma e
15
// limitações da Licença.
16
//
18
19
#ifndef CPPREALM_SCHEDULER_HPP
20
#define CPPREALM_SCHEDULER_HPP
21
22
#include <functional>
23
#include <future>
24
#include <queue>
25
26
namespace
Realm {
27
estrutura, estrutura
agendador
{
28
virtual
~agendador
() =
padrão
;
29
30
// Invoque a função fornecida no thread do agendador.
31
//
32
// Esta função pode ser chamada de qualquer thread.
33
virtual
Invoque o(std::função< nulo ( )> &&)
= 0;
34
35
// Verifica se o chamador está em execução no thread do agendador.
36
//
37
// Esta função pode ser chamada de qualquer thread.
38
[[nodiscard]]
virtual
bool
is_on_thread()
const
noexceto
= 0;
39
40
// Verifica se esta instância do agendador envolve a mesma instância subjacente.
41
// Isto cabe às plataformas definir, mas se este método retornar verdadeiro,
42
// pode ocorrer cache.
43
virtual
bool
is_same_as(
agendador
const
*outro)
const
noexceto
= 0;
44
45
// Verificar se este agendador realmente pode suportar invoke(). Invocar pode ser
46
// não implementado, não aplicável a um tipo de agendador ou simplesmente não
47
// ser possível atualmente (por exemplo, se o loop de eventos associado não for realmente
48
// em execução).
49
//
50
// Esta função não é segura para threads.
51
[[nodiscard]]
virtual
bool
can_invoke()
const
noexceto
= 0;
52
};
53
}
54
#endif
//CPPrealm_SCHEDULER_HPP
Realm::scheduler
Definição:
scheduled.hpp:27
Generated by
1.9.4