summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/libs/program_options/src/positional_options.cpp')
-rw-r--r--3rdParty/Boost/src/libs/program_options/src/positional_options.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/libs/program_options/src/positional_options.cpp b/3rdParty/Boost/src/libs/program_options/src/positional_options.cpp
new file mode 100644
index 0000000..55995d7
--- /dev/null
+++ b/3rdParty/Boost/src/libs/program_options/src/positional_options.cpp
@@ -0,0 +1,53 @@
+// Copyright Vladimir Prus 2004.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt
+// or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_PROGRAM_OPTIONS_SOURCE
+#include <boost/program_options/config.hpp>
+
+#include <boost/program_options/positional_options.hpp>
+
+#include <boost/limits.hpp>
+
+#include <cassert>
+
+namespace boost { namespace program_options {
+
+ positional_options_description::positional_options_description()
+ {}
+
+ positional_options_description&
+ positional_options_description::add(const char* name, int max_count)
+ {
+ assert(max_count != -1 || m_trailing.empty());
+
+ if (max_count == -1)
+ m_trailing = name;
+ else {
+ m_names.resize(m_names.size() + max_count, name);
+ }
+ return *this;
+ }
+
+ unsigned
+ positional_options_description::max_total_count() const
+ {
+ return m_trailing.empty() ?
+ m_names.size() : (std::numeric_limits<unsigned>::max)();
+ }
+
+ const std::string&
+ positional_options_description::name_for_position(unsigned position) const
+ {
+ assert(position < max_total_count());
+
+ if (position < m_names.size())
+ return m_names[position];
+ else
+ return m_trailing;
+ }
+
+
+}}
+