]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/date_time/find_match.hpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / boost / date_time / find_match.hpp
diff --git a/ceph/src/boost/boost/date_time/find_match.hpp b/ceph/src/boost/boost/date_time/find_match.hpp
new file mode 100644 (file)
index 0000000..72c81ce
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef _BOOST_DATE_TIME_FIND_MATCH_HPP___
+#define _BOOST_DATE_TIME_FIND_MATCH_HPP___
+
+/* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
+ * Use, modification and distribution is subject to the
+ * Boost Software License, Version 1.0. (See accompanying
+ * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+ * Author: Jeff Garland, Bart Garst
+ * $Date$
+ */
+
+#include <string>
+
+namespace boost {
+namespace date_time {
+
+
+    //! Find index of a string in either of 2 arrays
+    /*! find_match searches both arrays for a match to 's'. Both arrays
+     * must contain 'size' elements. The index of the match is returned.
+     * If no match is found, 'size' is returned.
+     * Ex. "Jan" returns 0, "Dec" returns 11, "Tue" returns 2.
+     * 'size' can be sent in with: (greg_month::max)() (which 12),
+     * (greg_weekday::max)() + 1 (which is 7) or date_time::NumSpecialValues */
+    template<class charT>
+    short find_match(const charT* const* short_names,
+                     const charT* const* long_names,
+                     short size,
+                     const std::basic_string<charT>& s) {
+      for(short i = 0; i < size; ++i){
+        if(short_names[i] == s || long_names[i] == s){
+          return i;
+        }
+      }
+      return size; // not-found, return a value out of range
+    }
+
+
+} } //namespace date_time
+
+
+#endif