diff options
author | Ivan Kush <ivan.v.kush@yandex.ru> | 2017-07-03 18:40:46 +0300 |
---|---|---|
committer | Ivan Kush <ivan.v.kush@yandex.ru> | 2017-07-03 18:40:46 +0300 |
commit | 1ba905ca136c0c0ca03facc689e7514928c8ab3d (patch) | |
tree | ac2acf79b8b576846a72833d8b623f9faa394d6e | |
parent | Merge pull request #22 from MtnViewJohn/vs2017_fixes (diff) | |
download | args.hxx-1ba905ca136c0c0ca03facc689e7514928c8ab3d.tar.xz |
added container typedefs 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 |