réplica de
https://github.com/tearshark/librf.git
synced 2024-10-04 08:50:31 +08:00
兼容 asio 1.14.1版本
兼容 VS2019 version 16.5.0 preview 2.0
Este commit está contenido en:
padre
6c659d57e2
commit
1a0817bd02
@ -240,6 +240,12 @@ namespace resumef
|
||||
{
|
||||
return _state->cancellation_requested();
|
||||
}
|
||||
/*
|
||||
void unhandled_exception()
|
||||
{
|
||||
std::terminate();
|
||||
}
|
||||
*/
|
||||
|
||||
//return_value/return_void 只能由派生类去实现
|
||||
|
||||
|
@ -149,9 +149,9 @@ namespace resumef
|
||||
//这个'函数对象'被调用后,返回generator<_Ty>/future_t<_Ty>类型
|
||||
//然后'函数对象'作为异步执行的上下文状态保存起来
|
||||
template<class _Ctx>
|
||||
struct ctx_task_t : public task_t<typename std::result_of<_Ctx()>::type>
|
||||
struct ctx_task_t : public task_t<typename std::decay<decltype(std::declval<_Ctx>()())>::type>
|
||||
{
|
||||
typedef task_t<typename std::result_of<_Ctx()>::type> base_type;
|
||||
typedef task_t<typename std::decay<decltype(std::declval<_Ctx>()())>::type> base_type;
|
||||
using base_type::_future;
|
||||
|
||||
typedef _Ctx context_type;
|
||||
|
@ -14,11 +14,11 @@ std::array<std::array<std::array<int32_t, M>, M>, 3> dynamic_cells;
|
||||
|
||||
void test_dynamic_go()
|
||||
{
|
||||
auto co_star = [](int j)
|
||||
auto co_star = [](int j) -> resumef::future_t<int>
|
||||
{
|
||||
for (int i = 0; i < M; ++i)
|
||||
{
|
||||
go[=]()
|
||||
go[=]() -> std::experimental::generator<int>
|
||||
{
|
||||
for (int k = 0; k < M; ++k)
|
||||
{
|
||||
|
@ -26,7 +26,7 @@ void dump(size_t idx, std::string name, T start, T end, intptr_t count)
|
||||
static const intptr_t N = 3000000;
|
||||
//static const int N = 10;
|
||||
|
||||
auto yield_switch(intptr_t coro)
|
||||
auto yield_switch(intptr_t coro) -> std::experimental::generator<intptr_t>
|
||||
{
|
||||
for (intptr_t i = 0; i < N / coro; ++i)
|
||||
co_yield i;
|
||||
@ -42,7 +42,7 @@ void resumable_switch(intptr_t coro, size_t idx)
|
||||
for (intptr_t i = 0; i < coro; ++i)
|
||||
{
|
||||
//go yield_switch(coro);
|
||||
go [=]
|
||||
go [=] ()->std::experimental::generator<intptr_t>
|
||||
{
|
||||
for (intptr_t i = 0; i < N / coro; ++i)
|
||||
co_yield i;
|
||||
|
@ -10,7 +10,7 @@
|
||||
using namespace resumef;
|
||||
|
||||
//std::experimental::generator<int>
|
||||
auto test_yield_int()
|
||||
auto test_yield_int() -> std::experimental::generator<int>
|
||||
{
|
||||
std::cout << "1 will yield return" << std::endl;
|
||||
co_yield 1;
|
||||
@ -43,7 +43,7 @@ auto test_yield_void()
|
||||
}
|
||||
*/
|
||||
|
||||
auto test_yield_void()
|
||||
auto test_yield_void() -> std::experimental::generator<std::nullptr_t>
|
||||
{
|
||||
std::cout << "block 1 will yield return" << std::endl;
|
||||
co_yield_void;
|
||||
|
@ -33,7 +33,7 @@ int main(int argc, const char* argv[])
|
||||
else
|
||||
resumable_main_benchmark_asio_server();
|
||||
*/
|
||||
return 0;
|
||||
//return 0;
|
||||
|
||||
resumable_main_when_all();
|
||||
resumable_main_multi_thread();
|
||||
|
@ -23,7 +23,7 @@
|
||||
<ProjectGuid>{C1D4A6BD-592F-4E48-8178-7C87219BF80E}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>librf</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
@ -42,7 +42,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
@ -88,7 +88,7 @@
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ASIO_STANDALONE;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ASIO_STANDALONE;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING=1;ASIO_DISABLE_CONCEPTS=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\librf;..\..\asio\asio\include;..\..\asio-1.10.6\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>/await</AdditionalOptions>
|
||||
@ -104,7 +104,7 @@
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;ASIO_STANDALONE;RESUMEF_DEBUG_COUNTER=0;RESUMEF_ENABLE_MULT_SCHEDULER=1;RESUMEF_USE_BOOST_ANY=0;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;ASIO_STANDALONE;RESUMEF_DEBUG_COUNTER=0;RESUMEF_ENABLE_MULT_SCHEDULER=1;RESUMEF_USE_BOOST_ANY=0;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING=1;ASIO_DISABLE_CONCEPTS=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\librf;..\..\asio\asio\include;..\..\asio-1.10.6\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>/await</AdditionalOptions>
|
||||
@ -126,7 +126,7 @@
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ASIO_STANDALONE;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ASIO_STANDALONE;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING=1;ASIO_DISABLE_CONCEPTS=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>
|
||||
</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\librf;..\..\asio\asio\include;..\..\asio-1.10.6\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -153,7 +153,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;ASIO_STANDALONE;RESUMEF_ENABLE_MULT_SCHEDULER=1;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;ASIO_STANDALONE;RESUMEF_ENABLE_MULT_SCHEDULER=1;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING=1;ASIO_DISABLE_CONCEPTS=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\librf;..\..\asio\asio\include;..\..\asio-1.10.6\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>/await</AdditionalOptions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
|
Cargando…
Referencia en una nueva incidencia
Block a user