tooling 0.0.1

Various small tools that help with C++ code editing.

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Simple Tooling for C++ Code

Various small tools that help with C++ code editing build on top of Facebook's C++ Linter flint

flint is published at It's Tokenizer.d is the basis of this whole project.

Fun with D ranges

This is all about D ranges and the fun to create something with it.

Central idea

We get an array of proper C++ tokens thanks to Tokenizer.d. Based on this we create a nested structure of Entity objects by looking for pairs for curly braces in Scanner.d.

At this point various custom ranges can be used to transform the tokens and entities.


  • CxxImplement.d: Given a header/source file pair, add new functions from header to source
  • CxxMerge.d: Merge multiple C++ files while preserving the namespace structure
  • CxxSortFunctions.d: Sort functions by name while preserving the namespace structure

These utils are very specific and will not work on your files.

Custom Ranges

  • MergedRange.d: Merge multiple token arrays into one
  • SortRange.d: Sort functions with namespaces in token array
  • TokenRange.d: Map tokens to entities
  • TreeRange.d: Make a range out of a nested tree structure
  • UnifyRange.d: Unify functions in namespaces


Distributed under the Boost license.

  • Ulrich Küttler
0.0.1 2014-Dec-07
~master 2014-Dec-07
Show all 2 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 216 downloads total

Short URL: