Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:30

0001 #ifndef BOOST_ARCHIVE_WCSLEN_HPP
0002 #define BOOST_ARCHIVE_WCSLEN_HPP
0003 
0004 // MS compatible compilers support #pragma once
0005 #if defined(_MSC_VER)
0006 # pragma once
0007 #endif
0008 
0009 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
0010 // wcslen.hpp:
0011 
0012 // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
0013 // Use, modification and distribution is subject to the Boost Software
0014 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0015 // http://www.boost.org/LICENSE_1_0.txt)
0016 
0017 //  See http://www.boost.org for updates, documentation, and revision history.
0018 
0019 #include <cstddef> // size_t
0020 #include <boost/config.hpp>
0021 #if defined(BOOST_NO_STDC_NAMESPACE)
0022 namespace std{
0023     using ::size_t;
0024 } // namespace std
0025 #endif
0026 
0027 #ifndef BOOST_NO_CWCHAR
0028 
0029 // a couple of libraries which include wchar_t don't include
0030 // wcslen
0031 
0032 #if defined(BOOST_DINKUMWARE_STDLIB) && BOOST_DINKUMWARE_STDLIB < 306 \
0033 || defined(__LIBCOMO__)
0034 
0035 namespace std {
0036 inline std::size_t wcslen(const wchar_t * ws)
0037 {
0038     const wchar_t * eows = ws;
0039     while(* eows != 0)
0040         ++eows;
0041     return eows - ws;
0042 }
0043 } // namespace std
0044 
0045 #else
0046 
0047 #ifndef BOOST_NO_CWCHAR
0048 #include <cwchar>
0049 #endif
0050 #ifdef BOOST_NO_STDC_NAMESPACE
0051 namespace std{ using ::wcslen; }
0052 #endif
0053 
0054 #endif // wcslen
0055 
0056 #endif //BOOST_NO_CWCHAR
0057 
0058 #endif //BOOST_ARCHIVE_WCSLEN_HPP