如何跳过clang格式的SWIG指令

时间:2017-02-02 19:31:41

标签: swig clang-format

我们使用SWIG为某些C ++代码生成Python包装器。 SWIG指令以%开头,在标题中如下所示:

#ifdef SWIG
%apply int* INT_RET_VAL{int * is_donor};
#ENDIF
ErrLevel mmct_hbond_is_donor(MM_Index ct, int atom_idx, int* is_donor);
#ifdef SWIG
%clear int * is_donor;
#ENDIF

当clang格式处理它们时,%apply变为% apply,这不再是SWIG语句了!目前我们的代码库中有批次。有没有一种方法可以说服clang-format跳过%apply和%clear语句?或者也许是#ifdef SWIG中的所有内容?

1 个答案:

答案 0 :(得分:1)

您可以使用// clang-format off

int formatted_code;
// clang-format off
    void    unformatted_code  ;
// clang-format on
void formatted_code_again;

https://clang.llvm.org/docs/ClangFormatStyleOptions.html#disabling-formatting-on-a-piece-of-code