Sierra Toolkit Version of the Day
ci_string.hpp
00001 /*------------------------------------------------------------------------*/
00002 /*                 Copyright 2010 Sandia Corporation.                     */
00003 /*  Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive   */
00004 /*  license for use of this work by or on behalf of the U.S. Government.  */
00005 /*  Export of this program may require a license from the                 */
00006 /*  United States Government.                                             */
00007 /*------------------------------------------------------------------------*/
00008 
00009 #ifndef STK_UTIL_UTIL_CI_STRING_H
00010 #define STK_UTIL_UTIL_CI_STRING_H
00011 
00012 #include <stk_util/util/ci_traits.hpp>
00013 #include <iosfwd>
00014 
00015 // #include <boost/unordered_set.hpp> // boost 1.36.0 unordered_set not in the tr1
00016 
00017 // namespace std {
00018 // namespace tr1 {
00019 //   using ::boost::unordered_set;
00020 // }
00021 // }
00022 
00023 typedef std::basic_string<char,ignorecase_traits> ci_string;
00024 
00025 std::ostream &operator<<(std::ostream &os, const ci_string &s);
00026 
00027 std::istream &operator>>(std::istream &is, ci_string &s);
00028 
00029 std::string operator+(const std::string &s1, const ci_string &s2);
00030 
00031 ci_string operator+(const ci_string &s1, const std::string &s2);
00032 
00033 ci_string operator+(const char *cs1, const ci_string &cs2);
00034 
00035 // namespace boost {
00036 
00037 // template <>
00038 // struct hash<ci_string>
00039 // {
00040 //   std::size_t operator()(const ci_string &s) const;
00041 // };
00042   
00043 // } // namespace boost
00044 
00045 #endif // STK_UTIL_UTIL_CI_STRING_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines