Artistic Style(AStyle) の スタイルオプション(Bracket Style)

概要:Artistic Style(AStyle) の波括弧{}のスタイル

具体的な内容がよくわからない場合

ざっくりと以下3タイプに分類されます。

  • Allman / K & R / Stroustrup / Linux / 1TBS
  • java / google
  • その他(Whitesmith / Banner / GNU / Horstmann / Pico / Lisp)
インデントに使用されるタブは、どの Bracket Style オプション でも4つの空白を使用します。(デフォルト動作)
幅が4のタブを使用したい場合、 -–indent=tab=4 オプションを指定して下さい。

参考

ウィキペディアの 字下げスタイル
Wikipedia の Indent style

注釈

スタイル名をクリックすると、その行が非表示になります。(JavaScript)
Artistic Style 2.04 Bracket Style(波括弧{}のスタイル)のサンプル一覧
スタイル
Bracket Style
オプション
サンプル ウィキ Wiki 備考
Allman
--style=allman
--style=ansi
--style=bsd
--style=break
-A1
int main(int argc, char *argv[])
{
    while(n == y)
    {
        func1();
        if (flag)
        {
            func2();
        }
        else
            func3();
    }
    func4();
}
特徴:
  • 波括弧{}専用の行
java
--style=java
--style=attach
-A2
int main(int argc, char *argv[]) {
    while(n == y) {
        func1();
        if (flag) {
            func2();
        } else
            func3();
    }
    func4();
}
class Test {
public:
    int n_;
};
 
類似:
  • google
特徴:
  • アクセス指定子をインデントしない
K & R
--style=kr
--style=k&r
--style=k/r
-A3
int main(int argc, char *argv[])
{
    while(n == y) {
        func1();
        if (flag) {
            func2();
        } else
            func3();
    }
    func4();
}
class Test
{
public:
    int n_;
};
類似:
  • Stroustrup
  • Linux
  • 1TBS
Stroustrup
--style=stroustrup
-A4
int main(int argc, char *argv[])
{
    while(n == y) {
        func1();
        if (flag) {
            func2();
        } else
            func3();
    }
    func4();
}
class Test {
public:
    int n_;
};
 
類似:
  • K & R
  • Linux
  • 1TBS
特徴:
  • クラスや名前空間の後ろに 波括弧{}を配置
Whitesmith
--style=whitesmith
-A5
int main(int argc, char *argv[])
    {
    while(n == y)
        {
        func1();
        if (flag)
            {
            func2();
            }
        else
            func3();
        }
    func4();
    }
 
Banner
--style=banner
-A6
int main(int argc, char *argv[]) {
    while(n == y) {
        func1();
        if (flag) {
            func2();
            }
        else
            func3();
        }
    func4();
    }
 
GNU
--style=gnu
-A7
int main(int argc, char *argv[])
{
    while(n == y)
        {
            func1();
            if (flag)
                {
                    func2();
                }
            else
                func3();
        }
    func4();
}
規約:GNU coding standards
Linux
--style=linux
--style=knf
-A8
int main(int argc, char *argv[])
{
    while(n == y) {
        func1();
        if (flag) {
            func2();
        } else
            func3();
    }
    func4();
}
class Test
{
public:
    int n_;
};
 
規約:

Linux kernel coding style

類似:
  • K & R
  • Stroustrup
  • 1TBS
Horstmann
--style=horstmann
-A9
int main(int argc, char *argv[])
{   while(n == y)
    {   func1();
        if (flag)
        {   func2();
        }
        else
            func3();
    }
    func4();
}
   
1TBS
--style=1tbs
--style=otbs
-A10
int main(int argc, char *argv[])
{
    while(n == y) {
        func1();
        if (flag) {
            func2();
        } else {
            func3();
        }
    }
    func4();
}
class Test
{
public:
    int n_;
};
 
類似:
  • K & R
  • Stroustrup
  • Linux
特徴:
  • if文等に必ず括弧を付与する
Google
--style=google
-A14
int main(int argc, char *argv[]) {
    while(n == y) {
        func1();
        if (flag) {
            func2();
        } else
            func3();
    }
    func4();
}
class Test {
  public:
    int n_;
};
   
規約:

Google’s C++ style guide

類似:
  • java
特徴:
  • アクセス指定子をインデント
Pico
--style=pico
-A11
int main(int argc, char *argv[])
{   while(n == y)
    {   func1();
        if (flag)
        {   func2(); }
        else
            func3(); }
    func4(); }
 
Lisp
--style=lisp
-A12
int main(int argc, char *argv[]) {
    while(n == y) {
        func1();
        if (flag) {
            func2(); }
        else
            func3(); }
    func4(); }
   

Bracket Style を確認する

概要:手持ちのソースコードで全てのBracket Style を確認したい場合のバッチファイル
@echo off

astyle -A1 < %1 > A1.cpp
astyle -A2 < %1 > A2.cpp
astyle -A3 < %1 > A3.cpp
astyle -A4 < %1 > A4.cpp
astyle -A5 < %1 > A5.cpp
astyle -A6 < %1 > A6.cpp
astyle -A7 < %1 > A7.cpp
astyle -A8 < %1 > A8.cpp
astyle -A9 < %1 > A9.cpp
astyle -A10 < %1 > A10.cpp
astyle -A11 < %1 > A11.cpp
astyle -A12 < %1 > A12.cpp
astyle -A14 < %1 > A14.cpp