tearshark пре 6 година
родитељ
комит
df2243e8eb
5 измењених фајлова са 15 додато и 13 уклоњено
  1. 1
    1
      librf/src/def.h
  2. 1
    1
      librf/src/scheduler.h
  3. 1
    1
      librf/src/state.h
  4. 7
    7
      librf/src/when.h
  5. 5
    3
      vs_proj/librf.vcxproj

+ 1
- 1
librf/src/def.h Прегледај датотеку

#pragma once #pragma once
#include <yvals.h>
//#include <yvals.h>
#include <atomic> #include <atomic>
#include <memory> #include <memory>
#include <chrono> #include <chrono>

+ 1
- 1
librf/src/scheduler.h Прегледај датотеку

#include <array> #include <array>
#include <vector> #include <vector>
#include <yvals.h>
//#include <yvals.h>
#include "rf_task.h" #include "rf_task.h"
#include "utils.h" #include "utils.h"

+ 1
- 1
librf/src/state.h Прегледај датотеку

#endif #endif
protected: protected:
coroutine_handle<> _coro; coroutine_handle<> _coro;
std::atomic<intptr_t> _count = 0; // tracks reference count of state object
std::atomic<intptr_t> _count{0}; // tracks reference count of state object
std::exception_ptr _exception; std::exception_ptr _exception;
std::atomic<bool> _ready = false; std::atomic<bool> _ready = false;

+ 7
- 7
librf/src/when.h Прегледај датотеку

}; };
template<class _Tup, size_t _Idx> template<class _Tup, size_t _Idx>
inline void when_all_one__(scheduler & s, const detail::when_impl_ptr & e, _Tup & t)
inline void when_all_one__(scheduler & s, const when_impl_ptr & e, _Tup & t)
{ {
} }
template<class _Tup, size_t _Idx, class _Fty, class... _Rest> template<class _Tup, size_t _Idx, class _Fty, class... _Rest>
inline void when_all_one__(scheduler & s, const detail::when_impl_ptr & e, _Tup & t, _Fty f, _Rest&&... rest)
inline void when_all_one__(scheduler & s, const when_impl_ptr & e, _Tup & t, _Fty f, _Rest&&... rest)
{ {
s + when_all_functor<_Fty, std::tuple_element_t<_Idx, _Tup> >{e, std::move(f), std::get<_Idx>(t)}; s + when_all_functor<_Fty, std::tuple_element_t<_Idx, _Tup> >{e, std::move(f), std::get<_Idx>(t)};
} }
template<class _Val, class _Iter, typename _Fty = decltype(*std::declval<_Iter>())> template<class _Val, class _Iter, typename _Fty = decltype(*std::declval<_Iter>())>
inline void when_all_range__(scheduler & s, const detail::when_impl_ptr & e, std::vector<_Val> & t, _Iter begin, _Iter end)
inline void when_all_range__(scheduler & s, const when_impl_ptr & e, std::vector<_Val> & t, _Iter begin, _Iter end)
{ {
using future_type = std::remove_reference_t<_Fty>; using future_type = std::remove_reference_t<_Fty>;
mutable when_any_result_ptr _val; mutable when_any_result_ptr _val;
intptr_t _Idx; intptr_t _Idx;
when_any_functor(const detail::when_impl_ptr & e, future_type f, const when_any_result_ptr & v, intptr_t idx)
when_any_functor(const when_impl_ptr & e, future_type f, const when_any_result_ptr & v, intptr_t idx)
: _e(e) : _e(e)
, _f(std::move(f)) , _f(std::move(f))
, _val(v) , _val(v)
}; };
template<intptr_t _Idx> template<intptr_t _Idx>
inline void when_any_one__(scheduler & s, const detail::when_impl_ptr & e, const when_any_result_ptr & t)
inline void when_any_one__(scheduler & s, const when_impl_ptr & e, const when_any_result_ptr & t)
{ {
} }
template<intptr_t _Idx, class _Fty, class... _Rest> template<intptr_t _Idx, class _Fty, class... _Rest>
inline void when_any_one__(scheduler & s, const detail::when_impl_ptr & e, const when_any_result_ptr & t, _Fty f, _Rest&&... rest)
inline void when_any_one__(scheduler & s, const when_impl_ptr & e, const when_any_result_ptr & t, _Fty f, _Rest&&... rest)
{ {
s + when_any_functor<_Fty>{e, std::move(f), t, _Idx}; s + when_any_functor<_Fty>{e, std::move(f), t, _Idx};
template<class _Iter, typename _Fty = decltype(*std::declval<_Iter>())> template<class _Iter, typename _Fty = decltype(*std::declval<_Iter>())>
inline void when_any_range__(scheduler & s, const detail::when_impl_ptr & e, const when_any_result_ptr & t, _Iter begin, _Iter end)
inline void when_any_range__(scheduler & s, const when_impl_ptr & e, const when_any_result_ptr & t, _Iter begin, _Iter end)
{ {
using future_type = std::remove_reference_t<_Fty>; using future_type = std::remove_reference_t<_Fty>;

+ 5
- 3
vs_proj/librf.vcxproj Прегледај датотеку

<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/await /std:c++latest </AdditionalOptions>
<AdditionalOptions>/await /permissive- </AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard> <LanguageStandard>stdcpplatest</LanguageStandard>
</ClCompile> </ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard> <LanguageStandard>stdcpp17</LanguageStandard>
<MinimalRebuild /> <MinimalRebuild />
<CLanguageStandard>c11</CLanguageStandard>
<CppLanguageStandard>c++1y</CppLanguageStandard>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/await /std:c++latest </AdditionalOptions>
<AdditionalOptions>/await /permissive- </AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard> <LanguageStandard>stdcpplatest</LanguageStandard>
</ClCompile> </ClCompile>
<IntrinsicFunctions>true</IntrinsicFunctions> <IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/await </AdditionalOptions>
<AdditionalOptions>/await /permissive- </AdditionalOptions>
<ExceptionHandling>Sync</ExceptionHandling> <ExceptionHandling>Sync</ExceptionHandling>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

Loading…
Откажи
Сачувај