Koz*_*oss 2 templates types nullable d type-conversion
我正在尝试定义一个值类型,它包含一个size_t或一个null(这就是我所说的'可能的类型').我想要做的是这样的事情(相关类型是Maybe!size_t:
Maybe!size_t something_which_could_fail (int foo) {
if (foo < 0) { return null;}
else { return foo;}
}
Run Code Online (Sandbox Code Playgroud)
我该如何实现这样的事情?理想情况下,我希望能够使它成为一个模板(所以我也可以有其他Maybe类型),并且可能如上所述从可能到非可能类型的转换(尽管如果不是这样,我不介意进行类型转换)可能).如果我可以做这样的事情也会很好:
Maybe!size_t a = 50;
Maybe!size_t b = null;
Run Code Online (Sandbox Code Playgroud)
Koz*_*i11 10
在phobos库中Nullable类型怎么样?http://dlang.org/phobos/std_typecons.html#.Nullable
以及D论坛中的其他一些信息: 关于Option(Maybe)类型的D论坛帖子