#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 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 short find_match(const charT* const* short_names, const charT* const* long_names, short size, const std::basic_string& 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