diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-20 00:50:22 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-20 00:50:22 +0000 |
| commit | 3505201f3333c937b5b870d70019d400c722a69f (patch) | |
| tree | def64ac6be50375e43da5e3e91eb443dd4c171fc /src/version_usage.cc | |
| parent | 99733a84e2102739ee7c9de08ffae9e9216b6003 (diff) | |
2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten SharedHandle. Now copy constructor taking raw pointer
has
keyword explicit and SharedHandle's default constructor
initializes
its internal obj to null, old implementation initializes it
using
obj's default constructor.
To assign null, write SharedHandle<T> x(...); x.reset();
TODO: test/SharedHandleTest.cc needs more tests.
* src/SharedHandle.h
Diffstat (limited to 'src/version_usage.cc')
| -rw-r--r-- | src/version_usage.cc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/version_usage.cc b/src/version_usage.cc index cf689b33..c4d35bc0 100644 --- a/src/version_usage.cc +++ b/src/version_usage.cc @@ -113,23 +113,26 @@ void showUsage(const std::string& category) { } else { printf(_("Printing options tagged with '%s'."), category.c_str()); std::cout << "\n"; + SharedHandle<HelpItem> helpItem + (dynamic_pointer_cast<HelpItem>(tc->nameMatch("help"))); printf(_("See -h option to know other command-line options(%s)."), - SharedHandle<HelpItem>(tc->nameMatch("help"))->getAvailableValues().c_str()); + helpItem->getAvailableValues().c_str()); } std::cout << "\n" << _("Options:") << "\n"; - std::copy(items.begin(), items.end(), std::ostream_iterator<SharedHandle<HelpItem> >(std::cout, "\n")); + + std::copy(items.begin(), items.end(), std::ostream_iterator<SharedHandle<TaggedItem> >(std::cout, "\n")); + } else { std::deque<SharedHandle<TaggedItem> > items = tc->nameMatchForward(category); if(items.size() > 0) { printf(_("Printing options whose name starts with '%s'."), category.c_str()); std::cout << "\n" << _("Options:") << "\n"; - std::copy(items.begin(), items.end(), std::ostream_iterator<SharedHandle<HelpItem> >(std::cout, "\n")); + std::copy(items.begin(), items.end(), std::ostream_iterator<SharedHandle<TaggedItem> >(std::cout, "\n")); } else { printf(_("No help category or option name matching with '%s'."), category.c_str()); - std::cout << "\n" - << SharedHandle<HelpItem>(tc->nameMatch("help")) << "\n"; + std::cout << "\n" << tc->nameMatch("help") << "\n"; } } if(category == TAG_BASIC) { |
