1 2We could either implement simple chaining for variable maps, or 3implement generic composition classes. The former was choosen, 4mostly because of simplicity. 5 6There were two implementation approaches for multiple option 7occurrences in options_and_arguments. First is store them 8separately. The advantage is that it's easy to obtain all 9occurrences before certain position on command line. The 10disadvantage is that we cannot return a reference to 11vector<vector<string> > in get_all_values. It was considered 12that if support for position-dependent options is to be 13added, then we're be mostly interested in occurrences of 14a single option that were before some point. That's possible 15with vector<vector<string> > storage. 16