| 123456789101112131415161718192021222324252627282930313233343536373839404142 | #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
 |