テキストアートで,ビットフィールドを説明

ソースコードのコメントでビットフィールドを説明する為のテキストアートのテンプレート.結構作るのに時間が掛ったので記念に貼っておく.

パケットのヘッダの各ビットの説明とか, ドライバが叩くポートとかレジスタの説明を書くときに便利.

         4       0
  |-+-+-+-|-+-+-+-|
  |               |

        12       8       4       0
  |-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|
  |               |               |

        28      24      20      16      12       8       4       0
  |-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|
  |               |               |               |               |

    7   6   5   4   3   2   1   0
  |---+---|---+---|---+---|---+---|
  |               |               |

   15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0
  |---+---|---+---|---+---|---+---|---+---|---+---|---+---|---+---|
  |               |               |               |               |

使用例

       28      24      20      16      12       8       4       0
 |-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|-+-+-+-|
 | reserved      |      type     |  opt  | flag  |Q|T|  priority |           

たとえばこんな感じ.