亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? path.hpp

?? 用STL的方式封裝了WindowsAPI、COM調用、ACE、ATL、MFC、WTL等多種組件
?? HPP
字號:
/* /////////////////////////////////////////////////////////////////////////
 * File:        platformstl/filesystem/path.hpp
 *
 * Purpose:     Platform header for the path components.
 *
 * Created:     20th March 2005
 * Updated:     13th June 2006
 *
 * Home:        http://stlsoft.org/
 *
 * Copyright (c) 2005-2006, Matthew Wilson and Synesis Software
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice, this
 *   list of conditions and the following disclaimer.
 * - Redistributions in binary form must reproduce the above copyright notice,
 *   this list of conditions and the following disclaimer in the documentation
 *   and/or other materials provided with the distribution.
 * - Neither the name(s) of Matthew Wilson and Synesis Software nor the names of
 *   any contributors may be used to endorse or promote products derived from
 *   this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * ////////////////////////////////////////////////////////////////////// */


/** \file platformstl/filesystem/path.hpp
 *
 * \brief [C++ only] Definition of the platformstl::basic_path
 *  type.
 *  (\ref group__library__file_system "File System" Library.)
 */

#ifndef PLATFORMSTL_INCL_PLATFORMSTL_FILESYSTEM_HPP_PATH
#define PLATFORMSTL_INCL_PLATFORMSTL_FILESYSTEM_HPP_PATH

/* File version */
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
# define PLATFORMSTL_VER_PLATFORMSTL_FILESYSTEM_HPP_PATH_MAJOR      2
# define PLATFORMSTL_VER_PLATFORMSTL_FILESYSTEM_HPP_PATH_MINOR      0
# define PLATFORMSTL_VER_PLATFORMSTL_FILESYSTEM_HPP_PATH_REVISION   2
# define PLATFORMSTL_VER_PLATFORMSTL_FILESYSTEM_HPP_PATH_EDIT       17
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */

/* /////////////////////////////////////////////////////////////////////////
 * Includes
 */

#ifndef PLATFORMSTL_INCL_PLATFORMSTL_FILESYSTEM_HPP_PLATFORMSTL
# include <platformstl/platformstl.hpp>
#endif /* !PLATFORMSTL_INCL_PLATFORMSTL_FILESYSTEM_HPP_PLATFORMSTL */

#if defined(PLATFORMSTL_OS_IS_UNIX)
# ifndef UNIXSTL_INCL_UNIXSTL_FILESYSTEM_HPP_PATH
#  include <unixstl/filesystem/path.hpp>
# endif /* !UNIXSTL_INCL_UNIXSTL_FILESYSTEM_HPP_PATH */
#elif defined(PLATFORMSTL_OS_IS_WIN32)
# ifndef WINSTL_INCL_WINSTL_FILESYSTEM_HPP_PATH
#  include <winstl/filesystem/path.hpp>
# endif /* !WINSTL_INCL_WINSTL_FILESYSTEM_HPP_PATH */
#else /* ? operating system */
# error Operating system not discriminated
#endif /* operating system */

/* /////////////////////////////////////////////////////////////////////////
 * Namespace
 */

#if defined(_STLSOFT_NO_NAMESPACE) || \
    defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
/* There is no stlsoft namespace, so must define ::platformstl */
namespace platformstl
{
#else
/* Define stlsoft::platformstl_project */

namespace stlsoft
{

namespace platformstl_project
{
#endif /* _STLSOFT_NO_NAMESPACE */

/* ////////////////////////////////////////////////////////////////////// */

#if defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)

    /** \brief Class used for composing and decomposing file-system paths.
     *
     * \ingroup group__library__file_system
     *
     * The class is not actually defined in the
     * \link ::platformstl platformstl\endlink namespace. Rather, it
     * resolves to the appropriate type for the given platform, relying on
     * \ref group__principle__intersecting_structural_conformance "Intersecting Structural Conformance"
     * of the resolved platform-specific types.
     *
     * When compiling on UNIX platforms, the platformstl::basic_path
     * type resolves to the unixstl::basic_path class. On Windows
     * platforms it resolves to the winstl::basic_path class. It
     * is not defined for other platforms.
     */
    template<   ss_typename_param_k C
            ,   ss_typename_param_k T = filesystem_traits<C>
            ,   ss_typename_param_k A = stlsoft::allocator_selector<C>::allocator_type
            >
    class basic_path
    {};

    /// \brief Instantiation of the basic_path template for the ANSI character type \c char
    typedef basic_path<char, filesystem_traits<char> >          path_a;
    /// \brief Instantiation of the basic_path template for the Unicode character type \c wchar_t
    typedef basic_path<wchar_t, filesystem_traits<wchar_t> >    path_w;
    /// \brief Instantiation of the basic_path template for the ANSI character type \c char on UNIX, and for the \c TCHAR type on Windows
    typedef basic_path<tchar, filesystem_traits<tchar> >        path;

#elif defined(PLATFORMSTL_OS_IS_UNIX)

    // Because early incarnations of Visual C++ are pretty stupid, we need to
    // work around their inability to introduce a template via using by
    // defining and deriving here
    //
    // This one required an *extra* degree of trickery, by defining a derivation
    // of unixstl::basic_path _within_ unixstl, in the form of
    // basic_path__, and then deriving from that. If we just try and
    // derive from unixstl::basic_path directly, the compiler gets
    // confused between the unixstl one and the local one, and fails and says that
    // it cannot derive from itself (which happens to be incomplete).

# if defined(STLSOFT_COMPILER_IS_MSVC) && \
     _MSC_VER < 1310

    template<   ss_typename_param_k C
#  ifdef STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT
            ,   ss_typename_param_k T = unixstl_ns_qual(filesystem_traits)<C>
            ,   ss_typename_param_k A = stlsoft::allocator_selector<C>::allocator_type
#  else /* ? STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT */
            ,   ss_typename_param_k T /* = filesystem_traits<C> */
            ,   ss_typename_param_k A /* = processheap_allocator<C> */
#  endif /* STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT */
            >
    class basic_path
        : public unixstl_ns_qual(basic_path__)<C, T, A>
    {
    private:
        typedef unixstl_ns_qual(basic_path__)<C, T, A>                  parent_class_type;
        typedef basic_path<C, T, A>                                     class_type;
    public:
        typedef ss_typename_type_k parent_class_type::char_type         char_type;
        typedef ss_typename_type_k parent_class_type::traits_type       traits_type;
        typedef ss_typename_type_k parent_class_type::allocator_type    allocator_type;
        typedef ss_typename_type_k parent_class_type::size_type         size_type;

    public:
        basic_path()
            : parent_class_type()
        {}
        ss_explicit_k basic_path(char_type const *path)
            : parent_class_type(path)
        {}
        basic_path(parent_class_type const &s)
            : parent_class_type(s)
        {}
#  ifdef STLSOFT_CF_MEMBER_TEMPLATE_CTOR_SUPPORT
        /// Constructs a path from \c path
        template<ss_typename_param_k S>
        basic_path(S const &s)
            : parent_class_type(s)
        {}
#  endif /* STLSOFT_CF_MEMBER_TEMPLATE_CTOR_SUPPORT */
        basic_path(char_type const *path, size_type cch)
            : parent_class_type(path, cch)
        {}
        basic_path(class_type const &rhs)
            : parent_class_type(rhs)
        {}

        class_type &operator =(class_type const &rhs)
        {
            parent_class_type::operator =(rhs);

            return *this;
        }
        class_type &operator =(parent_class_type const &rhs)
        {
            parent_class_type::operator =(rhs);

            return *this;
        }
        class_type &operator =(char_type const *rhs)
        {
            parent_class_type::operator =(rhs);

            return *this;
        }
#  ifdef STLSOFT_CF_MEMBER_TEMPLATE_FUNCTION_SUPPORT
        template<ss_typename_param_k S>
        class_type &operator =(S const &s)
        {
            parent_class_type::operator =(s);

            return *this;
        }
#  endif /* STLSOFT_CF_MEMBER_TEMPLATE_FUNCTION_SUPPORT */
    };

    typedef basic_path<TCHAR>   path;

# else /* ? compiler */

#  ifdef _UNIXSTL_NO_NAMESPACE
    using ::basic_path;
#  else /* ? _UNIXSTL_NO_NAMESPACE */
    using ::unixstl::basic_path;
    using ::unixstl::path;
#  endif /* _UNIXSTL_NO_NAMESPACE */

# endif /* compiler */

#elif defined(PLATFORMSTL_OS_IS_WIN32)

    // Because early incarnations of Visual C++ are pretty stupid, we need to
    // work around their inability to introduce a template via using by
    // defining and deriving here
    //
    // This one required an *extra* degree of trickery, by defining a derivation
    // of winstl::basic_path _within_ winstl, in the form of
    // basic_path__, and then deriving from that. If we just try and
    // derive from winstl::basic_path directly, the compiler gets
    // confused between the winstl one and the local one, and fails and says that
    // it cannot derive from itself (which happens to be incomplete).

# if defined(STLSOFT_COMPILER_IS_MSVC) && \
     _MSC_VER < 1310

    template<   ss_typename_param_k C
#  ifdef STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT
            ,   ss_typename_param_k T = winstl_ns_qual(filesystem_traits)<C>
            ,   ss_typename_param_k A = winstl_ns_qual(processheap_allocator)<C>
#  else /* ? STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT */
            ,   ss_typename_param_k T /* = filesystem_traits<C> */
            ,   ss_typename_param_k A /* = processheap_allocator<C> */
#  endif /* STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT */
            >
    class basic_path
        : public winstl_ns_qual(basic_path__)<C, T, A>
    {
    private:
        typedef winstl_ns_qual(basic_path__)<C, T, A>                   parent_class_type;
        typedef basic_path<C, T, A>                                     class_type;
    public:
        typedef ss_typename_type_k parent_class_type::char_type         char_type;
        typedef ss_typename_type_k parent_class_type::traits_type       traits_type;
        typedef ss_typename_type_k parent_class_type::allocator_type    allocator_type;
        typedef ss_typename_type_k parent_class_type::size_type         size_type;

    public:
        basic_path()
            : parent_class_type()
        {}
        ss_explicit_k basic_path(char_type const *path)
            : parent_class_type(path)
        {}
        basic_path(parent_class_type const &s)
            : parent_class_type(s)
        {}
#  ifdef STLSOFT_CF_MEMBER_TEMPLATE_CTOR_SUPPORT
        /// Constructs a path from \c path
        template<ss_typename_param_k S>
        basic_path(S const &s)
            : parent_class_type(s)
        {}
#  endif /* STLSOFT_CF_MEMBER_TEMPLATE_CTOR_SUPPORT */
        basic_path(char_type const *path, size_type cch)
            : parent_class_type(path, cch)
        {}
        basic_path(class_type const &rhs)
            : parent_class_type(rhs)
        {}

        class_type &operator =(class_type const &rhs)
        {
            parent_class_type::operator =(rhs);

            return *this;
        }
        class_type &operator =(parent_class_type const &rhs)
        {
            parent_class_type::operator =(rhs);

            return *this;
        }
        class_type &operator =(char_type const *rhs)
        {
            parent_class_type::operator =(rhs);

            return *this;
        }
#  ifdef STLSOFT_CF_MEMBER_TEMPLATE_FUNCTION_SUPPORT
        template<ss_typename_param_k S>
        class_type &operator =(S const &s)
        {
            parent_class_type::operator =(s);

            return *this;
        }
#  endif /* STLSOFT_CF_MEMBER_TEMPLATE_FUNCTION_SUPPORT */
    };

    typedef basic_path<TCHAR>   path;

# else /* ? compiler */

#  ifdef _WINSTL_NO_NAMESPACE
     using ::basic_path;
#  else /* ? _WINSTL_NO_NAMESPACE */
     using ::winstl::basic_path;
     using ::winstl::path;
#  endif /* _WINSTL_NO_NAMESPACE */

# endif /* compiler */

#else /* ? operating system */
# error Operating system not discriminated
#endif /* operating system */

/* ////////////////////////////////////////////////////////////////////// */

#if defined(_STLSOFT_NO_NAMESPACE) || \
    defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
} // namespace platformstl
#else
} // namespace platformstl_project
} // namespace stlsoft
#endif /* _STLSOFT_NO_NAMESPACE */

/* ////////////////////////////////////////////////////////////////////// */

#endif /* !PLATFORMSTL_INCL_PLATFORMSTL_FILESYSTEM_HPP_PATH */

/* ////////////////////////////////////////////////////////////////////// */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草成人在线观看| 国产成人在线免费| 国产一区二区三区四区五区美女| 丰满亚洲少妇av| 欧美日韩不卡一区二区| 国产精品剧情在线亚洲| 美女www一区二区| 欧美这里有精品| 亚洲一区中文日韩| 成人黄色av网站在线| 91精品国产一区二区三区蜜臀| 一色桃子久久精品亚洲| 国产精品自拍av| 日韩欧美国产系列| 五月天激情小说综合| 91女人视频在线观看| 日本一区二区三区电影| 久久国产精品99久久久久久老狼| 欧美视频第二页| 一区二区三区欧美在线观看| 成人在线综合网站| 国产日韩欧美一区二区三区综合| 美日韩黄色大片| 69堂亚洲精品首页| 日韩精品五月天| 欧美日韩国产一二三| 亚洲成av人片一区二区梦乃| 91国偷自产一区二区使用方法| 国产精品色在线| 成人午夜碰碰视频| 久久精品亚洲麻豆av一区二区 | 国产欧美日韩三级| 久久99精品久久久久久| 91精品国产aⅴ一区二区| 日本中文一区二区三区| 久久精品亚洲乱码伦伦中文| 精品亚洲porn| 久久久精品影视| 东方欧美亚洲色图在线| 国产精品国产精品国产专区不蜜| 不卡一卡二卡三乱码免费网站| 中文字幕 久热精品 视频在线 | 国产91对白在线观看九色| 久久品道一品道久久精品| 国产在线精品一区二区夜色| 久久综合九色综合欧美98| 粉嫩久久99精品久久久久久夜| 国产欧美久久久精品影院| av网站一区二区三区| 亚洲激情综合网| 91精品国产欧美一区二区| 久久国产精品99久久人人澡| 久久久一区二区| 99精品视频在线观看| 亚洲无线码一区二区三区| 日韩一区二区三区观看| 国产精品一区一区三区| 日韩毛片在线免费观看| 欧美喷潮久久久xxxxx| 蜜臀va亚洲va欧美va天堂| 国产日韩欧美精品综合| 色欧美日韩亚洲| 蜜桃av噜噜一区二区三区小说| 久久久久久亚洲综合影院红桃 | 久久这里只有精品首页| 成人激情免费网站| 亚洲成年人影院| www国产成人| 91黄色激情网站| 国内不卡的二区三区中文字幕 | 亚洲精品国产视频| 欧美一区二区精品在线| 国产成a人亚洲精| 亚洲午夜免费福利视频| 国产偷v国产偷v亚洲高清| 在线视频一区二区三区| 国产在线麻豆精品观看| 亚洲一区二区三区四区五区黄| 欧美v国产在线一区二区三区| 99v久久综合狠狠综合久久| 免费在线观看成人| 亚洲另类在线视频| 久久久久国产精品麻豆| 欧美日韩免费电影| 成人激情免费视频| 久草中文综合在线| 一区二区三区中文字幕电影| 久久精品夜色噜噜亚洲aⅴ| 51精品秘密在线观看| 福利视频网站一区二区三区| 日韩av电影天堂| 一卡二卡三卡日韩欧美| 欧美国产一区二区| 精品国产91亚洲一区二区三区婷婷| 日本高清不卡aⅴ免费网站| 国产91精品一区二区麻豆亚洲| 美美哒免费高清在线观看视频一区二区| 中文字幕一区二区三区精华液 | 91精品国产欧美一区二区成人| www.色精品| 国产乱码一区二区三区| 视频一区二区中文字幕| 一区二区三区中文免费| 中文字幕一区二区三中文字幕| 国产午夜一区二区三区| 欧美成人免费网站| 日韩午夜av电影| 5858s免费视频成人| 欧美妇女性影城| 欧美高清一级片在线| 欧美日本一区二区| 欧美日韩国产小视频在线观看| 91美女片黄在线观看| 色综合一区二区三区| 99视频一区二区| 99久久伊人久久99| 99国产精品久久久久| 91影院在线免费观看| 色综合久久综合中文综合网| 色综合一个色综合| 色吊一区二区三区| 欧美亚日韩国产aⅴ精品中极品| 91天堂素人约啪| 在线免费亚洲电影| 欧美日韩国产免费| 欧美一区二区免费视频| 日韩精品一区二区三区中文不卡| 欧美一区二区久久久| 精品国产91亚洲一区二区三区婷婷| 日韩美女一区二区三区| 久久网站热最新地址| 国产精品天美传媒| 一区二区在线看| 日本亚洲免费观看| 国产一区二区在线观看视频| 成人小视频在线观看| 色哟哟欧美精品| 91精品欧美久久久久久动漫| 亚洲精品一区二区三区福利| 国产女主播一区| 亚洲伊人色欲综合网| 久久精品国产一区二区三 | 色综合久久久久网| 欧美日韩国产综合一区二区三区 | 日本精品免费观看高清观看| 欧美性大战xxxxx久久久| 日韩欧美自拍偷拍| 国产精品美女久久久久aⅴ| 亚洲在线中文字幕| 一本久久精品一区二区| 欧美日韩在线不卡| 久久日韩粉嫩一区二区三区| 亚洲婷婷综合久久一本伊一区 | 日韩和欧美一区二区三区| 黄一区二区三区| 欧洲精品中文字幕| 欧美精品一区二区三| 亚洲美腿欧美偷拍| 极品美女销魂一区二区三区免费| www.久久久久久久久| 91精品国产91综合久久蜜臀| 中文字幕在线一区| 蜜臀a∨国产成人精品| 91麻豆精品在线观看| 精品国内二区三区| 亚洲一区二区精品久久av| 国产大陆亚洲精品国产| 91精品国产综合久久香蕉的特点 | 日韩欧美第一区| 亚洲免费av网站| 国产麻豆91精品| 91精品欧美一区二区三区综合在| 亚洲天堂成人网| 国产一区二三区好的| 91精品视频网| 亚洲一二三四在线| 成人av资源下载| 久久午夜色播影院免费高清| 日韩精品一级二级| 在线视频欧美区| 椎名由奈av一区二区三区| 国产麻豆日韩欧美久久| 欧美一区二区三区不卡| 亚洲成人在线免费| 91成人看片片| 国产精品欧美极品| 国产高清久久久| 久久久亚洲精品石原莉奈| 蜜桃精品视频在线| 欧美一区二区三区在线看| 亚洲成a人片在线观看中文| 99久久国产综合精品女不卡| 国产精品免费久久| 国产成人免费视| 久久老女人爱爱| 美国一区二区三区在线播放| 91精品国产综合久久久久| 日韩精品成人一区二区三区| 欧美日韩国产成人在线91| 亚洲国产一区二区a毛片|