C++ links: Coroutines
https://github.com/MattPD/cpplinks / C++ Standard / C++20 / Coroutines
(draft; work in progress)
#coroutines (C++ Slack): https://cpplang.slack.com/archives/C5JS5JXT5
<?xml version="1.0"?> | |
<?mso-application progid="Excel.Sheet"?> | |
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" | |
xmlns:o="urn:schemas-microsoft-com:office:office" | |
xmlns:x="urn:schemas-microsoft-com:office:excel" | |
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" | |
xmlns:html="http://www.w3.org/TR/REC-html40"> | |
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> | |
<LastAuthor>Me</LastAuthor> | |
<Revision>1</Revision> |
namespace coyield | |
{ | |
template<typename T> | |
struct generator_type | |
{ | |
struct promise_type; | |
using coroutine_handle_type = stdco::coroutine_handle<promise_type>; | |
coroutine_handle_type handle; | |
generator_type(coroutine_handle_type handle) : handle{ handle } |
/* | |
* Pretty thread logger | |
* | |
* Copyright (C) 2020 Anatoly Shirokov. | |
* | |
* Permission is hereby granted, free of charge, to any person obtaining a copy | |
* of this software and associated documentation files (the "Software"), to deal | |
* in the Software without restriction, including without limitation the rights | |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
* copies of the Software, and to permit persons to whom the Software is |
https://github.com/MattPD/cpplinks / C++ Standard / C++20 / Coroutines
(draft; work in progress)
#coroutines (C++ Slack): https://cpplang.slack.com/archives/C5JS5JXT5
#pragma warning(disable : 4251 4275) | |
#include "gtest/gtest.h" | |
#include <functional> | |
#include <initializer_list> | |
#include <memory> | |
#include <optional> | |
#include <vector> | |
/** |
/////////////////////////////////////////////////////////////////////////////// | |
// params.h | |
// | |
// Файл содержит определение вспомогательных шаблонов, с помощью которых | |
// можно контролировать правильность передачи параметров при вызове | |
// серверных методов (порядок, тип и значение аргументов). | |
// | |
// Подход заключается в маркировании типов аргументов с помощью | |
// тегов с метаинформацией о параметре метода (method::name, method::age и т.д.): | |
// // метаинформация |