-
Notifications
You must be signed in to change notification settings - Fork 6
Description
I've been working on refactoring a bit of the CBash code to reduce code duplication and make it less error prone (in the writing end of it). Specifically, I'm looking at addressing the classes used to define records, SubRecord, SimpleSubRecord, etc. I've come across a few things I would like to use that are from the C++11 standard though:
-
Fixes the parsing of closing template brackets so you don't have to put spaces. I.E:
Outer<Inner<int>>vsOuter<Inner<int> >. This one is't needed, it's just bugged me for ages that the first wasn't possible. -
Ranged For-Loops:
int sum = 0; for( const int &i: vect) sum += i;
vs
int sum = 0; for(auto it = vect.begin(); i != vect.end(); ++i) sum += *it;
Again, not needed for the refactoring I'm doing at the moment, but would be nice to use, especially in the future.
-
Constructor delegations. Nuff said I think. Makes it easier to ensure objects are in a good state when exceptions happen in a constructor.
-
Move-Constructor / Move-Assignement - makes memory management much easier
As far as building with Visual Studio, this would require 2013 (Express or otherwise).
@wrinklyninja, @Gruftikus : would using C++11 features cause any problems for you guys?