1#ifndef _BOOST_DATE_TIME_FIND_MATCH_HPP___
2#define _BOOST_DATE_TIME_FIND_MATCH_HPP___
3
4/* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
5 * Use, modification and distribution is subject to the
6 * Boost Software License, Version 1.0. (See accompanying
7 * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
8 * Author: Jeff Garland, Bart Garst
9 * $Date$
10 */
11
12#include <string>
13
14namespace boost {
15namespace date_time {
16
17
18 //! Find index of a string in either of 2 arrays
19 /*! find_match searches both arrays for a match to 's'. Both arrays
20 * must contain 'size' elements. The index of the match is returned.
21 * If no match is found, 'size' is returned.
22 * Ex. "Jan" returns 0, "Dec" returns 11, "Tue" returns 2.
23 * 'size' can be sent in with: (greg_month::max)() (which 12),
24 * (greg_weekday::max)() + 1 (which is 7) or date_time::NumSpecialValues */
25 template<class charT>
26 short find_match(const charT* const* short_names,
27 const charT* const* long_names,
28 short size,
29 const std::basic_string<charT>& s) {
30 for(short i = 0; i < size; ++i){
31 if(short_names[i] == s || long_names[i] == s){
32 return i;
33 }
34 }
35 return size; // not-found, return a value out of range
36 }
37
38
39} } //namespace date_time
40
41
42#endif
43

source code of include/boost/date_time/find_match.hpp