Browse Source

兼容 asio 1.14.1版本

兼容 VS2019 version 16.5.0 preview 2.0
tags/v2.9.7
tearshark 4 years ago
parent
commit
1a0817bd02

+ 6
- 0
librf/src/future.h View File

@@ -240,6 +240,12 @@ namespace resumef
{
return _state->cancellation_requested();
}
/*
void unhandled_exception()
{
std::terminate();
}
*/
//return_value/return_void 只能由派生类去实现

+ 2
- 2
librf/src/rf_task.h View File

@@ -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;

+ 2
- 2
tutorial/test_async_dynamic_go.cpp View File

@@ -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)
{

+ 2
- 2
tutorial/test_async_resumable.cpp View File

@@ -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;

+ 2
- 2
tutorial/test_async_yield_return.cpp View File

@@ -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;

+ 1
- 1
vs_proj/librf.cpp View File

@@ -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();

+ 6
- 6
vs_proj/librf.vcxproj View File

@@ -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>

Loading…
Cancel
Save