ossrv_pub/boost_apis/boost/archive/wcslen.hpp
changeset 0 e4d67989cc36
equal deleted inserted replaced
-1:000000000000 0:e4d67989cc36
       
     1 #ifndef BOOST_ARCHIVE_WCSLEN_HPP
       
     2 #define BOOST_ARCHIVE_WCSLEN_HPP
       
     3 
       
     4 // MS compatible compilers support #pragma once
       
     5 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
       
     6 # pragma once
       
     7 #endif
       
     8 
       
     9 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
       
    10 // wcslen.hpp:
       
    11 
       
    12 // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
       
    13 // Use, modification and distribution is subject to the Boost Software
       
    14 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
       
    15 // http://www.boost.org/LICENSE_1_0.txt)
       
    16 
       
    17 //  See http://www.boost.org for updates, documentation, and revision history.
       
    18 
       
    19 #include <cstddef> // size_t
       
    20 #include <boost/config.hpp>
       
    21 #if defined(BOOST_NO_STDC_NAMESPACE)
       
    22 namespace std{ 
       
    23     using ::size_t; 
       
    24 } // namespace std
       
    25 #endif
       
    26 
       
    27 #ifndef BOOST_NO_CWCHAR
       
    28 
       
    29 // a couple of libraries which include wchar_t don't include
       
    30 // wcslen
       
    31 
       
    32 #if defined(BOOST_DINKUMWARE_STDLIB) && BOOST_DINKUMWARE_STDLIB < 306 \
       
    33 || defined(__LIBCOMO__) 
       
    34 
       
    35 namespace std {
       
    36 inline std::size_t wcslen(const wchar_t * ws)
       
    37 {
       
    38     const wchar_t * eows = ws;
       
    39     while(* eows != 0)
       
    40         ++eows;
       
    41     return eows - ws;
       
    42 }
       
    43 } // namespace std
       
    44 
       
    45 #else
       
    46 
       
    47 #include <cwchar>
       
    48 #ifdef BOOST_NO_STDC_NAMESPACE
       
    49 namespace std{ using ::wcslen; }
       
    50 #endif
       
    51 
       
    52 #endif // wcslen
       
    53 
       
    54 #endif //BOOST_NO_CWCHAR
       
    55 
       
    56 #endif //BOOST_ARCHIVE_WCSLEN_HPP