diff options
author | Taylor C. Richberger <taywee@gmx.com> | 2017-07-03 10:21:35 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-03 10:21:35 -0600 |
commit | 5c6c5dbee8c106d23af0185a61d730053e7fc25b (patch) | |
tree | ac2acf79b8b576846a72833d8b623f9faa394d6e | |
parent | Merge pull request #22 from MtnViewJohn/vs2017_fixes (diff) | |
parent | added container typedefs to ValueFlagList (diff) | |
download | args.hxx-5c6c5dbee8c106d23af0185a61d730053e7fc25b.tar.xz |
Merge pull request #24 from IvanKush/master
added container typedefs and begin/end methods to ValueFlagList
-rw-r--r-- | args.hxx | 48 |
1 files changed, 46 insertions, 2 deletions
@@ -1627,11 +1627,25 @@ namespace args class ValueFlagList : public ValueFlagBase { private: - List<T> values; + using Container = List<T>; + Container values; Reader reader; - + public: + typedef T value_type; + typedef typename Container::allocator_type allocator_type; + typedef typename Container::pointer pointer; + typedef typename Container::const_pointer const_pointer; + typedef T& reference; + typedef const T& const_reference; + typedef typename Container::size_type size_type; + typedef typename Container::difference_type difference_type; + typedef typename Container::iterator iterator; + typedef typename Container::const_iterator const_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + ValueFlagList(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const List<T> &defaultValues_ = List<T>()): ValueFlagBase(name_, help_, std::move(matcher_)), values(defaultValues_) { group_.Add(*this); @@ -1670,6 +1684,36 @@ namespace args ValueFlagBase::Reset(); values.clear(); } + + iterator begin() noexcept + { + return values.begin(); + } + + const_iterator begin() const noexcept + { + return values.begin(); + } + + const_iterator cbegin() const noexcept + { + return values.cbegin(); + } + + iterator end() noexcept + { + return values.end(); + } + + const_iterator end() const noexcept + { + return values.end(); + } + + const_iterator cend() const noexcept + { + return values.cend(); + } }; /** A mapping value flag class |