Browse Source

最后决定下来when_any使用std::any来返回

tags/v2.9.7
tearshark 6 years ago
parent
commit
d862f0f1da
1 changed files with 6 additions and 2 deletions
  1. 6
    2
      librf/src/when.h

+ 6
- 2
librf/src/when.h View File

@@ -1,9 +1,13 @@
#pragma once
#include "_awaker.h"
#include <optional>
#include <any>
#include <variant>
//纠结过when_any的返回值,是选用index + std::any,还是选用std::variant<>。最终选择了std::any。
//std::variant<>存在第一个元素不能默认构造的问题,需要使用std::monostate来占位,导致下标不是从0开始。
//而且,std::variant<>里面存在类型重复的问题,好几个操作都是病态的
//最最重要的,要统一ranged when_any的返回值,还得做一个运行时通过下标设置std::variant<>的东西
//std::any除了内存布局不太理想,其他方面几乎没缺点(在此应用下)
namespace resumef
{

Loading…
Cancel
Save