diff options
author | Anton Samokhvalov <pg83@yandex.ru> | 2022-02-10 16:45:17 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:17 +0300 |
commit | d3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch) | |
tree | dd4bd3ca0f36b817e96812825ffaf10d645803f2 /library/cpp/getopt/small/ygetopt.h | |
parent | 72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff) | |
download | ydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz |
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/getopt/small/ygetopt.h')
-rw-r--r-- | library/cpp/getopt/small/ygetopt.h | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/library/cpp/getopt/small/ygetopt.h b/library/cpp/getopt/small/ygetopt.h index 6f9b92cc79..615d3dd18e 100644 --- a/library/cpp/getopt/small/ygetopt.h +++ b/library/cpp/getopt/small/ygetopt.h @@ -1,72 +1,72 @@ #pragma once - + #include <util/generic/fwd.h> #include <util/generic/ptr.h> - -class TGetOpt { -public: - class TIterator { - friend class TGetOpt; - - public: - char Key() const noexcept; - const char* Arg() const noexcept; - - inline bool HaveArg() const noexcept { - return Arg(); - } - - inline void operator++() { - Next(); - } - - inline bool operator==(const TIterator& r) const noexcept { - return AtEnd() == r.AtEnd(); - } - - inline bool operator!=(const TIterator& r) const noexcept { - return !(*this == r); - } - - inline TIterator& operator*() noexcept { - return *this; - } - - inline const TIterator& operator*() const noexcept { - return *this; - } - - inline TIterator* operator->() noexcept { - return this; - } - - inline const TIterator* operator->() const noexcept { - return this; - } - - private: - TIterator() noexcept; - TIterator(const TGetOpt* parent); - - void Next(); - bool AtEnd() const noexcept; - - private: - class TIterImpl; - TSimpleIntrusivePtr<TIterImpl> Impl_; - }; - - TGetOpt(int argc, const char* const* argv, const TString& format); - - inline TIterator Begin() const { - return TIterator(this); - } - - inline TIterator End() const noexcept { - return TIterator(); - } - -private: - class TImpl; - TSimpleIntrusivePtr<TImpl> Impl_; -}; + +class TGetOpt { +public: + class TIterator { + friend class TGetOpt; + + public: + char Key() const noexcept; + const char* Arg() const noexcept; + + inline bool HaveArg() const noexcept { + return Arg(); + } + + inline void operator++() { + Next(); + } + + inline bool operator==(const TIterator& r) const noexcept { + return AtEnd() == r.AtEnd(); + } + + inline bool operator!=(const TIterator& r) const noexcept { + return !(*this == r); + } + + inline TIterator& operator*() noexcept { + return *this; + } + + inline const TIterator& operator*() const noexcept { + return *this; + } + + inline TIterator* operator->() noexcept { + return this; + } + + inline const TIterator* operator->() const noexcept { + return this; + } + + private: + TIterator() noexcept; + TIterator(const TGetOpt* parent); + + void Next(); + bool AtEnd() const noexcept; + + private: + class TIterImpl; + TSimpleIntrusivePtr<TIterImpl> Impl_; + }; + + TGetOpt(int argc, const char* const* argv, const TString& format); + + inline TIterator Begin() const { + return TIterator(this); + } + + inline TIterator End() const noexcept { + return TIterator(); + } + +private: + class TImpl; + TSimpleIntrusivePtr<TImpl> Impl_; +}; |