Usage: ====== ```C++ brainfuck("++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>."); ``` The default arguments make it use `std::cout` and an empty string as input. You can also use a string as input: brainfuck(",[.,]", "input"); Or with a stream/container/iterator: brainfuck(",[.,]", std::input_iterator(std::cin)); You can specify the memory-units: brainfuck("..."); As long as the type has certain operators. The default output is comma-seperated, except for char. You can specify an output-iterator: brainfuck("...", "", std::back_inserter(my_vector)); It has a lot of defaultparameters, because it's intended use was on an irc-channel.