Archived
1
Fork 0
This commit is contained in:
Joshua Moerman (@Kassalade) 2011-05-22 17:41:27 +02:00
parent e76df1e9f9
commit 47557ea5f6
4 changed files with 33 additions and 2 deletions

4
README
View file

@ -1,5 +1,5 @@
Here are some (hopefully useful) c++ snippets. Here are some (hopefully useful) c++ snippets/libs/helperthingies.
Probably all are header only, with a main.cpp for testing. Probably all are header only, with a main.cpp for testing.
Stuff probably needs some C++0x features.

7
binary_output/README Normal file
View file

@ -0,0 +1,7 @@
Usage:
std::cout << make_binary(1337) << make_binary("a c-style array");
will output binary representations of shizzle.
Make sure your type is copyable by just copying it's memory-region.

View file

@ -19,3 +19,5 @@ As long as the type has certain operators. The default output is comma-seperated
You can specify an output-iterator: You can specify an output-iterator:
brainfuck("...", "", std::back_inserter(my_vector)); brainfuck("...", "", std::back_inserter(my_vector));
It has a lot of defaultparameters, because it's intended use was on an irc-channel.

22
iterators/README Normal file
View file

@ -0,0 +1,22 @@
counted
=======
"for(auto x : counted(v)) { ... x.value ... x.index ... }"
x.value is a reference to the element in the container (so you can change it's value), x.index is what it is.
Container should have forward iterators.
This headers is purely a handy tool for the range-based-for-loops (ie "for(auto x : counter(v))"). Using it explicitly with iterators is not recommended!
There is no const version of it. Doing "for(const auto x : counted(v))" doesn't make it impossible to change x (so the element in the container can be modified).
Example:
for(auto x : counted(v)) {
std::cout << "v[" << x.index << "] = " << x.value << std::endl;
x.value *= 2;
}
This will output the container v, with it's indeces. And it will multiply every value in v by 2.