Clang-Format 错误检测 & 运算符(增强序列化)

mar*_*ker 5 c++ boost clang-format

我尝试在包含 boost 可序列化文件的文件上应用 clang-format (11),其内容如下

class MyClass
{
    int _myNumber;
    int &_myRefNumber;

    friend class boost::serialization::access;
    template <typename Archive>
    void serialize(Archive& ar, const unsigned int /*version*/) const
    {
        ar & _myNumber;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在假设我喜欢左边的参考,我设置PointerAlignment : Left并得到

class MyClass
{
    int _myNumber;
    int& _myRefNumber;

    friend class boost::serialization::access;
    template <typename Archive>
    void serialize(Archive& ar, const unsigned int /*version*/) const
    {
        ar& _myNumber;
    }
}
Run Code Online (Sandbox Code Playgroud)

这对于参考来说是正确的,但也会令人讨厌地将&操作员移到左侧。是否有任何优雅的方式使用 clang-format 来使操作员在移动引用时保留空格?目前我看到的唯一方法是禁用这些行的 clang-format 。