/** * @file align_tools.h * * @author Guy Maurel * split from align.cpp * @author Ben Gardner * @license GPL v2+ */ #ifndef ALIGN_TOOLS_H_INCLUDED #define ALIGN_TOOLS_H_INCLUDED #include "chunk.h" #include "uncrustify_types.h" /** * @brief return the chunk the follows after a C array * * The provided chunk is considered an array if it is an opening square * (CT_SQUARE_OPEN) and the matching close is followed by an equal sign '=' * * Example: array[25] = 12; * /|\ /|\ * | | * provided chunk has to point to [ | * returned chunk points to 12 * * @param chunk chunk to operate on * * @return the chunk after the '=' if the check succeeds * @return Chunk::NullChunkPtr in all other cases */ Chunk *skip_c99_array(Chunk *sq_open); /** * Scans a line for stuff to align on. * * We trigger on BRACE_OPEN, FPAREN_OPEN, ASSIGN, and COMMA. * We want to align the NEXT item. */ Chunk *scan_ib_line(Chunk *start); void ib_shift_out(size_t idx, size_t num); Chunk *step_back_over_member(Chunk *pc); #endif /* ALIGN_TOOLS_H_INCLUDED */