## align_typedef

### align_typedef_span

The span for aligning single-line typedefs (0=don't align)

original align_typedef_span=0 | align_typedef_span=1 | align_typedef_span=2

    typedef int MY_INT;
    int a;
    typedef int      *MY_INTP;
    typedef float  My_Float;

no alignment

    typedef int MY_INT;
    int a;
    typedef int   *MY_INTP;
    typedef float My_Float;

The third line is not catch in the span

    typedef int   MY_INT;
    int a;
    typedef int   *MY_INTP;
    typedef float My_Float;

all the lines are catched

### align_typedef_gap

The minimum space between the type and the synonym of a typedef
Can be only used if align_typedef_span >= 1

original align_typedef_span=2 | align_typedef_gap=1 | align_typedef_gap=3

    typedef int   MY_INT;
    int a;
    typedef int   *MY_INTP;
    typedef float My_Float;

as above

    typedef int   MY_INT;
    int a;
    typedef int   *MY_INTP;
    typedef float My_Float;

no change

    typedef int     MY_INT;
    int a;
    typedef int     *MY_INTP;
    typedef float   My_Float;

the gap has 3 spaces

### align_typedef_star_style

Controls the positioning of the '*' in typedefs.
0: Align on typedef type, ignore '*'
1: The '*' is part of type name
2: The '*' is part of the type, but dangling

original | align_typedef_gap=3 align_typedef_star_style=0 | align_typedef_gap=3 align_typedef_star_style=1 | align_typedef_gap=3 align_typedef_star_style=2

    typedef int MY_INT;
    int a;
    typedef int  *    MY_INTP;
    typedef float  My_Float;

no alignment

    typedef int     MY_INT;
    int a;
    typedef int *   MY_INTP;
    typedef float   My_Float;

the star is ignored

    typedef int     MY_INT;
    int a;
    typedef int     *MY_INTP;
    typedef float   My_Float;

the star is part of type name

    typedef int     MY_INT;
    int a;
    typedef int    *MY_INTP;
    typedef float   My_Float;

the star is part of type name, but dangling

### align_typedef_func

How to align typedef'd functions with other typedefs
0: Don't mix them at all
1: align the open paren with the types

original | align_typedef_gap=3 align_typedef_star_style=1 align_typedef_func=1

    typedef int MY_INT;
    int a;
    typedef int  *    MY_INTP;
    typedef float  My_Float;
    typedef int      (*foo_t)(void *bar);
    typedef int          (*somefunc_t)(void *barstool);

no alignment

    typedef int     MY_INT;
    int a;
    typedef int     *MY_INTP;
    typedef float   My_Float;
    typedef int     (*foo_t)(void *bar);
    typedef int     (*somefunc_t)(void *barstool);