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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? path.hpp

?? 用STL的方式封裝了WindowsAPI、COM調(diào)用、ACE、ATL、MFC、WTL等多種組件
?? HPP
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
        typedef unixstl_ns_qual(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)
        {}
# ifdef STLSOFT_CF_MEMBER_TEMPLATE_CTOR_SUPPORT
        /// Constructs a path from \c path
        template<ss_typename_param_k S>
        ss_explicit_k 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 =(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 */
    };

#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */

/* /////////////////////////////////////////////////////////////////////////
 * Operators
 */

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_bool_t operator ==(basic_path<C, T, A> const &lhs, ss_typename_type_k basic_path<C, T, A>::char_type const *rhs)
{
    return lhs.equal(rhs);
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_bool_t operator !=(basic_path<C, T, A> const &lhs, ss_typename_type_k basic_path<C, T, A>::char_type const *rhs)
{
    return !lhs.equal(rhs);
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_bool_t operator ==(ss_typename_type_k basic_path<C, T, A>::char_type const *lhs, basic_path<C, T, A> const &rhs)
{
    return rhs.equal(lhs);
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_bool_t operator !=(ss_typename_type_k basic_path<C, T, A>::char_type const *lhs, basic_path<C, T, A> const &rhs)
{
    return !rhs.equal(lhs);
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_bool_t operator ==(basic_path<C, T, A> const &lhs, basic_path<C, T, A> const &rhs)
{
    return lhs.equal(rhs);
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_bool_t operator !=(basic_path<C, T, A> const &lhs, basic_path<C, T, A> const &rhs)
{
    return !lhs.equal(rhs);
}

// operator /

/// \brief Concatenates \c rhs to the path \c lhs
template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline basic_path<C, T, A> operator /(basic_path<C, T, A> const &lhs, ss_typename_type_k basic_path<C, T, A>::char_type const *rhs)
{
    return basic_path<C, T, A>(lhs) /= rhs;
}

/// \brief Concatenates \c rhs to the path \c lhs
template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline basic_path<C, T, A> operator /(ss_typename_type_k basic_path<C, T, A>::char_type const *lhs, basic_path<C, T, A> const &rhs)
{
    return basic_path<C, T, A>(lhs) /= rhs;
}

/// \brief Concatenates \c rhs to the path \c lhs
template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline basic_path<C, T, A> operator /(basic_path<C, T, A> const &lhs, basic_path<C, T, A> const &rhs)
{
    return basic_path<C, T, A>(lhs) /= rhs;
}

/* /////////////////////////////////////////////////////////////////////////
 * Helper functions
 */

#if !defined(STLSOFT_COMPILER_IS_MSVC) || \
    _MSC_VER >= 1100

/// This helper function makes a path variable without needing to
/// qualify the template parameter.
template<ss_typename_param_k C>
inline basic_path<C> make_path(C const *path)
{
    return basic_path<C>(path);
}

#endif /* compiler */

/* /////////////////////////////////////////////////////////////////////////
 * swapping
 */

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline void swap(basic_path<C, T, A> &lhs, basic_path<C, T, A> &rhs)
{
    lhs.swap(rhs);
}

/* /////////////////////////////////////////////////////////////////////////
 * Shims
 */

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline C const *c_str_ptr_null(basic_path<C, T, A> const &b)
{
    return stlsoft_ns_qual(c_str_ptr_null)(b.c_str());
}

template<   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_char_a_t const *c_str_ptr_null_a(basic_path<us_char_a_t, T, A> const &b)
{
    return stlsoft_ns_qual(c_str_ptr_null_a)(b.c_str());
}

template<   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_char_w_t const *c_str_ptr_null_w(basic_path<us_char_w_t, T, A> const &b)
{
    return stlsoft_ns_qual(c_str_ptr_null_w)(b.c_str());
}



template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline C const *c_str_ptr(basic_path<C, T, A> const &b)
{
    return b.c_str();
}

template<   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_char_a_t const *c_str_ptr_a(basic_path<us_char_a_t, T, A> const &b)
{
    return b.c_str();
}

template<   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_char_w_t const *c_str_ptr_w(basic_path<us_char_w_t, T, A> const &b)
{
    return b.c_str();
}


template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline C const *c_str_data(basic_path<C, T, A> const &b)
{
    return b.c_str();
}

template<   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_char_a_t const *c_str_data_a(basic_path<us_char_a_t, T, A> const &b)
{
    return b.c_str();
}

template<   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_char_w_t const *c_str_data_w(basic_path<us_char_w_t, T, A> const &b)
{
    return b.c_str();
}




template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_size_t c_str_len(basic_path<C, T, A> const &b)
{
    return stlsoft_ns_qual(c_str_len)(b.c_str());
}

#if 0
template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline us_size_t c_str_size(basic_path<C, T, A> const &b)
{
    return stlsoft_ns_qual(c_str_size)(b.c_str());
}
#endif /* 0 */

template<   ss_typename_param_k S
        ,   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline S &operator <<(S & s, basic_path<C, T, A> const &b)
{
    s << b.c_str();

    return s;
}

////////////////////////////////////////////////////////////////////////////
// Unit-testing

#ifdef STLSOFT_UNITTEST
# include "./unittest/path_unittest_.h"
#endif /* STLSOFT_UNITTEST */

////////////////////////////////////////////////////////////////////////////
// Implementation

#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION

# if defined(STLSOFT_COMPILER_IS_MSVC) && \
     _MSC_VER >= 1300
#  pragma warning(push)
#  pragma warning(disable : 4702)
# endif /* compiler*/

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline /* static */ ss_typename_param_k basic_path<C, T, A>::char_type const *basic_path<C, T, A>::next_slash_or_end(ss_typename_param_k basic_path<C, T, A>::char_type const *p)
{
    for(; ; ++p)
    {
        switch(*p)
        {
            case    '/':
#ifdef _WIN32
            case    '\\':
#endif /* _WIN32 */
                ++p;
            case    '\0':
                return p;
            default:
                break;
        }
    }

    return NULL;
}

# if defined(STLSOFT_COMPILER_IS_MSVC) && \
     _MSC_VER >= 1300
#  pragma warning(pop)
# endif /* compiler*/


template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline /* static */ ss_typename_param_k basic_path<C, T, A>::char_type basic_path<C, T, A>::path_name_separator_alt()
{
    return '\\';
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline void basic_path<C, T, A>::swap(basic_path<C, T, A> &rhs)
{
    m_buffer.swap(rhs.m_buffer);
    std::swap(m_len, rhs.m_len);
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline ss_typename_param_k basic_path<C, T, A>::class_type &basic_path<C, T, A>::concat_(ss_typename_param_k basic_path<C, T, A>::char_type const *rhs)
{
    m_len = traits_type::str_len(traits_type::str_cat(&m_buffer[0], rhs));

    return *this;
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline ss_typename_param_k basic_path<C, T, A>::class_type &basic_path<C, T, A>::concat_(basic_path<C, T, A> const &rhs)
{
    m_len = traits_type::str_len(traits_type::str_cat(&m_buffer[0], rhs.c_str()));

    return *this;
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline basic_path<C, T, A>::basic_path()
    : m_len(0)
{
    m_buffer[0] = '\0';
}

template<   ss_typename_param_k C
        ,   ss_typename_param_k T
        ,   ss_typename_param_k A
        >
inline /* ss_explicit_k */ basic_path<C, T, A>::basic_path(ss_typename_type_k basic_path<C, T, A>::char_type const *path)
    : m_len(0)
{

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品乱人伦中文| 日韩精品电影在线观看| 国产视频一区在线观看| 欧美成人女星排名| 日韩一区二区三区在线视频| 欧美美女黄视频| 在线电影国产精品| 欧美一区二区三区在线视频| 88在线观看91蜜桃国自产| 91麻豆精品国产91久久久使用方法 | 伊人夜夜躁av伊人久久| 亚洲人成小说网站色在线| 综合欧美一区二区三区| 亚洲欧美激情小说另类| 亚洲国产欧美另类丝袜| 婷婷一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 久久99日本精品| 91福利在线观看| 欧美日韩国产一级| 欧美一级日韩不卡播放免费| 精品久久人人做人人爰| 久久嫩草精品久久久精品| 国产精品三级av| 亚洲欧美日韩国产成人精品影院| 亚洲综合免费观看高清完整版在线| 亚洲国产精品久久艾草纯爱| 日韩av中文字幕一区二区三区| 免费在线看成人av| 国产成人小视频| 91视频国产资源| 欧美精品久久99| 久久久久久久久久久久久久久99| 中文字幕亚洲一区二区va在线| 一区二区三区欧美日| 日本强好片久久久久久aaa| 国产综合久久久久影院| 99热在这里有精品免费| 欧美蜜桃一区二区三区| 26uuu精品一区二区| 日韩理论片在线| 免费在线观看一区| www..com久久爱| 91精品国产黑色紧身裤美女| 国产日产亚洲精品系列| 一级女性全黄久久生活片免费| 蜜桃av一区二区在线观看| 成人18视频日本| 日韩一区二区三区免费看| 中文久久乱码一区二区| 婷婷开心激情综合| 福利电影一区二区| 欧美精品 国产精品| 欧美国产日韩在线观看| 91在线视频在线| 91精品国产色综合久久ai换脸| 中文字幕av一区二区三区免费看 | 中文字幕日韩一区二区| 秋霞电影一区二区| av激情成人网| 亚洲精品一线二线三线无人区| 亚洲伦理在线免费看| 国产一区在线看| 在线播放中文一区| 自拍偷拍国产精品| 国产在线精品免费av| 欧美在线观看一区二区| 国产婷婷色一区二区三区在线| 午夜视频在线观看一区| 成人精品高清在线| 欧美精品一区二区三区蜜臀| 午夜精品福利在线| 99久久99久久精品免费观看| 久久嫩草精品久久久精品| 日韩精品一区第一页| 色天使久久综合网天天| 国产精品人人做人人爽人人添| 美女视频网站黄色亚洲| 欧美猛男超大videosgay| 亚洲欧洲韩国日本视频| 国产精品亚洲一区二区三区妖精| 91麻豆精品久久久久蜜臀 | 91亚洲精华国产精华精华液| 精品成a人在线观看| 免费看欧美女人艹b| 欧美色中文字幕| 亚洲欧美一区二区三区极速播放| 国产精品一区专区| 欧美精品一区二区蜜臀亚洲| 日韩和的一区二区| 欧美日韩免费观看一区三区| 亚洲精品自拍动漫在线| 99久久精品免费看国产免费软件| 国产欧美日韩综合| 国产精品一区二区在线看| 欧美精品一区二区高清在线观看| 日本不卡123| 欧美一区二区三区白人| 五月天欧美精品| 欧美日韩电影在线播放| 亚洲国产综合色| 欧美中文一区二区三区| 一区二区三区波多野结衣在线观看| 成人动漫中文字幕| 国产精品嫩草99a| 成人高清伦理免费影院在线观看| 中文字幕二三区不卡| 成人性生交大片免费看视频在线| 国产日韩影视精品| 丁香一区二区三区| 中文字幕第一区| 99久久久国产精品| 亚洲精品成人天堂一二三| 日本福利一区二区| 亚洲v中文字幕| 欧美一级理论性理论a| 蜜乳av一区二区| 2023国产一二三区日本精品2022| 欧美日韩精品免费| 免费观看一级特黄欧美大片| 日韩午夜电影在线观看| 国产一区二区三区最好精华液| 久久精品男人天堂av| av不卡在线播放| 亚洲最大色网站| 日韩一区二区影院| 国产成人一级电影| 亚洲精品国久久99热| 欧美精品vⅰdeose4hd| 激情综合色播五月| 欧美国产激情二区三区| 91国偷自产一区二区三区成为亚洲经典| 亚洲午夜久久久久| 日韩美一区二区三区| 丰满岳乱妇一区二区三区| 亚洲欧美韩国综合色| 4438x成人网最大色成网站| 久久国产精品一区二区| 中文字幕久久午夜不卡| 欧美视频精品在线| 国产精品99久久久久久久女警| 136国产福利精品导航| 欧美久久高跟鞋激| 国产成人丝袜美腿| 亚洲五码中文字幕| 26uuu另类欧美亚洲曰本| 91蜜桃免费观看视频| 免费观看一级欧美片| 1024成人网色www| 欧美军同video69gay| 国产成人免费在线观看不卡| 亚洲影视资源网| 久久日一线二线三线suv| 色综合久久久网| 黄色日韩网站视频| 一区二区三区国产豹纹内裤在线| 日韩欧美国产一区二区三区| 成人av电影免费观看| 免费精品99久久国产综合精品| 国产精品久久久一本精品| 3d动漫精品啪啪一区二区竹菊| 粉嫩蜜臀av国产精品网站| 视频一区二区国产| **网站欧美大片在线观看| 日韩精品一区在线| 欧美影片第一页| 成人午夜激情片| 美国十次综合导航| 一区二区三区免费在线观看| 国产亚洲欧美一区在线观看| 欧美二区三区的天堂| 91视频在线观看免费| 国产乱理伦片在线观看夜一区| 亚洲国产精品天堂| 亚洲欧洲另类国产综合| 久久综合成人精品亚洲另类欧美| 欧美最猛黑人xxxxx猛交| 粗大黑人巨茎大战欧美成人| 免费国产亚洲视频| 亚洲一区二区在线免费看| 中文字幕一区视频| 久久久无码精品亚洲日韩按摩| 欧美麻豆精品久久久久久| 91免费观看视频| 成人免费毛片app| 国产一区在线看| 精品一区二区在线视频| 五月天网站亚洲| 亚洲国产精品久久久男人的天堂| 中文字幕一区二区三区av | 国产在线播放一区二区三区| 亚洲成av人综合在线观看| 亚洲精选免费视频| 亚洲视频在线观看三级| 中文字幕第一页久久| 国产欧美精品一区二区色综合朱莉 | 欧美吻胸吃奶大尺度电影| 国产日韩欧美不卡| 精品国产一区二区三区av性色 | 中文字幕一区二区5566日韩|