小编Seb*_*ian的帖子

在Cthon中的Doxygen C++注释字符串解析器?

有没有人知道python模块来解析doxygen风格的C++注释字符串?我是指像这样的字符串(简单示例):

  /**
   * A constructor.
   * A more elaborate description of the constructor.
   * @param param1 test1
   * @param param2 test2
   */
Run Code Online (Sandbox Code Playgroud)

我想提取简短,长描述,参数,返回值等.我目前正在使用字符串方法和正则表达式,但我的解决方案不是很强大.或者任何人都可以推荐一个易于使用的python解析器库,我可以快速设置?

提前致谢

c++ python parsing doxygen

9
推荐指数
1
解决办法
3649
查看次数

C++中的C99样式可变长度数组函数签名

在C99中,我们可以像这样编写函数签名:

void func(int dim1, int dim2, float A[dim1 * dim2]);
Run Code Online (Sandbox Code Playgroud)

dim1并且dim2是运行时参数.这很好,因为这种功能的任何用户都可以立即了解维度,A因此可以在不阅读注释/文档的情况下推断出更多信息.如果dim1dim2是具有超出此处所示的语义的参数,则尤其如此.

是否有可能在C++中编写一个接口,提供函数所期望的向量/张量的维数和大小的提示?Dimensionality可能被编码为模板参数(特别是我不喜欢的东西,但这是另一个主题)但是大小?有任何想法吗?

更新:

我想,我必须让它更清楚.C++函数看起来像这样:

void func(int dim1, int dim2, std::vector<float> A);
Run Code Online (Sandbox Code Playgroud)

甚至可以省略两个维度中的一个(因为它是A.size()/dim).但是签名并没有告诉用户任何关于函数期望的向量大小的信息.当然我可以assert(A.size() == dim1*dim2);和那样的事情.这不是我要问的问题.我问如何让界面更具信息性.

更新2:

所以我很确定我想要的是这个:

typedef int dim1; 
typedef int dim2; 
void func(Matrix<dim1, dim2> A);
Run Code Online (Sandbox Code Playgroud)

正如答案中提到的那样,信息必须属于类型 - 当然.

c c++ arrays c99

4
推荐指数
1
解决办法
228
查看次数

通过命令行将 GCP 凭据添加到气流

Airflow 允许我们通过命令行气流连接添加连接信息。这有助于通过 ansible 或其他 dev-ops 工具自动部署气流安装。

目前尚不清楚如何通过命令行将与谷歌云平台(服务帐户)的连接添加到 ariflow。

python command-line google-cloud-platform airflow

2
推荐指数
1
解决办法
1879
查看次数

如何使用包含策略类型的容器创建容器迭代器?

我有以下代码:

#include <map>
#include <string>

class policy1
{
  public:
    struct data
    {
    };
};

template<typename policy>
class policy_user : public policy
{
  typedef std::map<std::string, typename policy::data> mymap;        // good 
  typedef std::map<std::string, 
           typename policy::data >::iterator myiterator;              // bad
  typedef mymap::iterator myseconditerator;                      // also bad
};
Run Code Online (Sandbox Code Playgroud)

失败了:

der.cpp:17: error: type ‘std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, typename policy::data, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, typename policy::data> > >’ is not derived from type ‘policy_user<policy>’
der.cpp:17: error: expected ‘;’ before ‘myiterator’ …
Run Code Online (Sandbox Code Playgroud)

c++ policy

1
推荐指数
1
解决办法
261
查看次数