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

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

?? null.hpp

?? 用STL的方式封裝了WindowsAPI、COM調(diào)用、ACE、ATL、MFC、WTL等多種組件
?? HPP
字號:
/* /////////////////////////////////////////////////////////////////////////
 * File:        stlsoft/null.hpp (stlsoft_null.h
 *
 * Purpose:     NULL_v template class. Include stlsoft_nulldef.h for NULL to be
 *              automatically the strong NULL.
 *
 * Created:     8th September 2002
 * Updated:     10th June 2006
 *
 * Home:        http://stlsoft.org/
 *
 * Copyright (c) 2002-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 stlsoft/null.hpp
///
/// NULL_v template class. Include stlsoft_nulldef.h for NULL to be automatically the strong NULL.

#ifndef STLSOFT_INCL_STLSOFT_HPP_NULL
#define STLSOFT_INCL_STLSOFT_HPP_NULL

#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
# define STLSOFT_VER_STLSOFT_HPP_NULL_MAJOR     3
# define STLSOFT_VER_STLSOFT_HPP_NULL_MINOR     1
# define STLSOFT_VER_STLSOFT_HPP_NULL_REVISION  1
# define STLSOFT_VER_STLSOFT_HPP_NULL_EDIT      43
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */

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

#ifndef STLSOFT_INCL_STLSOFT_H_STLSOFT
# include <stlsoft/stlsoft.h>
#endif /* !STLSOFT_INCL_STLSOFT_H_STLSOFT */

/* _STLSOFT_NULL_v_DEFINED */

#ifdef _STLSOFT_NULL_v_DEFINED
# undef _STLSOFT_NULL_v_DEFINED
#endif /* _STLSOFT_NULL_v_DEFINED */

#define _STLSOFT_NULL_v_DEFINED

#if defined(STLSOFT_COMPILER_IS_DMC) && \
    __DMC__ < 0x0840
# undef _STLSOFT_NULL_v_DEFINED
#elif defined(STLSOFT_COMPILER_IS_MSVC) && \
      _MSC_VER < 1310
# undef _STLSOFT_NULL_v_DEFINED
#elif defined(STLSOFT_COMPILER_IS_WATCOM)
# undef _STLSOFT_NULL_v_DEFINED
#endif /* compiler */

/* _STLSOFT_NULL_v_DEFINED_PTR_TO_MEMBER_SUPPORT */

#ifdef _STLSOFT_NULL_v_DEFINED_PTR_TO_MEMBER_SUPPORT
# undef _STLSOFT_NULL_v_DEFINED_PTR_TO_MEMBER_SUPPORT
#endif /* _STLSOFT_NULL_v_DEFINED_PTR_TO_MEMBER_SUPPORT */

#define _STLSOFT_NULL_v_DEFINED_PTR_TO_MEMBER_SUPPORT

#if defined(STLSOFT_COMPILER_IS_GCC)
# undef _STLSOFT_NULL_v_DEFINED_PTR_TO_MEMBER_SUPPORT
#elif defined(STLSOFT_COMPILER_IS_MWERKS)
# undef _STLSOFT_NULL_v_DEFINED_PTR_TO_MEMBER_SUPPORT
#endif /* compiler */

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

#ifndef _STLSOFT_NO_NAMESPACE
namespace stlsoft
{
#endif /* _STLSOFT_NO_NAMESPACE */

/* /////////////////////////////////////////////////////////////////////////
 * Classes
 */

#ifdef _STLSOFT_NULL_v_DEFINED

/// \brief Represents a type that can be an active replacement for NULL
///
/// This class can act as a replacement for the NULL macro, by being validly
/// assigned to or equated with pointer types only, as in
///
///   int   i = NULL; // error
///   int   *p = NULL; // OK
///
///   if(i == NULL) {} // error
///   if(NULL == i) {} // error
///
///   if(p == NULL) {} // OK
///   if(NULL == p) {} // OK
///
///
/// When used via inclusion of the file stlsoft_nulldef.h, the macro NULL is
/// redefined as NULL_v(), such that expressions containing NULL will be valid
/// against pointers only.
struct NULL_v
{
// Construction
public:
    /// Default constructor
    NULL_v()
    {}

/// Static creation
public:
    static NULL_v create()
    {
        return NULL_v();
    }

// Conversion
public:
    /// Implicit conversion operator (convertible to any pointer type)
    template <ss_typename_param_k T>
    operator T *() const
    {
        return 0;
    }

#ifdef _STLSOFT_NULL_v_DEFINED_PTR_TO_MEMBER_SUPPORT
    /// Implicit conversion operator (convertible to any pointer type)
    template<   ss_typename_param_k T2
            ,   ss_typename_param_k C
            >
    operator T2 C::*() const
    {
        return 0;
    }
#endif /* _STLSOFT_NULL_v_DEFINED_PTR_TO_MEMBER_SUPPORT */

    /// Evaluates whether an instance of a type is null
    ///
    /// \param rhs A reference arbitrary type which will be compared to null
    template <ss_typename_param_k T>
    ss_bool_t equal(T const &rhs) const
    {
        return rhs == 0;
    }
    /// \deprecated
    template <ss_typename_param_k T>
    ss_bool_t equals(T const &rhs) const
    {
        return equal(rhs);
    }

// Not to be implemented
private:
    void operator &() const;

#if !defined(STLSOFT_COMPILER_IS_GCC)
    NULL_v(NULL_v const &);
    NULL_v const &operator =(NULL_v const &);
#endif /* compiler */
};

#if 0
/// operator == for NULL_v and an arbitrary type
template <ss_typename_param_k T>
inline ss_bool_t operator ==(NULL_v const &lhs, T const &rhs)
{
    STLSOFT_STATIC_ASSERT(sizeof(rhs) == 4);

    return lhs.equal(rhs);
}

/// operator == for an arbitrary type and NULL_v
template <ss_typename_param_k T>
inline ss_bool_t operator ==(T const &lhs, NULL_v const &rhs)
{
    STLSOFT_STATIC_ASSERT(sizeof(lhs) == 4);

    return rhs.equal(lhs);
}

/// operator != for NULL_v and an arbitrary type
template <ss_typename_param_k T>
inline ss_bool_t operator !=(NULL_v const &lhs, T const &rhs)
{
    STLSOFT_STATIC_ASSERT(sizeof(rhs) == 4);

    return !lhs.equal(rhs);
}

/// operator != for an arbitrary type and NULL_v
template <ss_typename_param_k T>
inline ss_bool_t operator !=(T const &lhs, NULL_v const &rhs)
{
    STLSOFT_STATIC_ASSERT(sizeof(lhs) == 4);

    return !rhs.equal(lhs);
}
#endif /* 0 */

#endif /* _STLSOFT_NULL_v_DEFINED */

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

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

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

#ifndef _STLSOFT_NO_NAMESPACE
} // namespace stlsoft
#endif /* _STLSOFT_NO_NAMESPACE */

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

#endif /* !STLSOFT_INCL_STLSOFT_HPP_NULL */

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久www免费人成精品| 成人晚上爱看视频| 51精品久久久久久久蜜臀| 亚洲一区二区免费视频| 欧美三级在线视频| 奇米影视7777精品一区二区| 日韩一区二区三区在线视频| 黑人巨大精品欧美一区| 国产免费久久精品| 一本色道久久综合亚洲aⅴ蜜桃| 一区二区三区波多野结衣在线观看| 一本到一区二区三区| 日韩在线播放一区二区| 久久先锋影音av鲁色资源网| 播五月开心婷婷综合| 亚洲综合激情小说| 日韩欧美www| aaa欧美大片| 日本成人中文字幕| 国产精品无人区| 欧美老肥妇做.爰bbww视频| 久久99国产精品免费| 中文一区一区三区高中清不卡| 在线免费观看日本欧美| 99精品视频一区| 亚洲成精国产精品女| 久久亚区不卡日本| 欧美日韩成人综合天天影院 | 国产亚洲一区二区三区在线观看| 成人激情开心网| 午夜激情综合网| 国产精品色呦呦| 欧美一级日韩不卡播放免费| 成人av免费在线观看| 日韩av一二三| 亚洲四区在线观看| www成人在线观看| 欧美伊人久久久久久午夜久久久久| 麻豆精品在线视频| 亚洲在线一区二区三区| 久久精品亚洲精品国产欧美| 欧美性受xxxx| 色综合视频一区二区三区高清| 久久国产精品99久久久久久老狼 | 亚洲女人的天堂| 久久女同性恋中文字幕| 在线电影国产精品| 色诱视频网站一区| 国产成人精品免费视频网站| 日韩国产精品久久久久久亚洲| 亚洲精品五月天| 欧美激情一区在线| 久久综合狠狠综合久久激情 | 精品国产sm最大网站免费看| 欧美综合视频在线观看| 波多野结衣在线aⅴ中文字幕不卡| 久久成人综合网| 日日摸夜夜添夜夜添国产精品| 中文字幕日韩av资源站| 久久精品视频网| 亚洲精品一区二区三区四区高清| 欧美日本一区二区在线观看| 91麻豆视频网站| 成人免费观看男女羞羞视频| 欧美日韩成人综合| 日韩精品国产欧美| 午夜视频一区二区| 欧美一区二区三区思思人| 精品一区二区三区蜜桃| 国产精品免费久久久久| 色综合久久中文综合久久97| 一区2区3区在线看| 久久九九久久九九| 久久久久久久久免费| 蜜臀99久久精品久久久久久软件| 亚洲男同性恋视频| 国产91在线看| 成人小视频免费在线观看| 激情久久五月天| 国产一区二区视频在线| 另类小说图片综合网| 久久国产精品露脸对白| 国内精品不卡在线| 国产乱一区二区| 国产成人精品一区二区三区网站观看| 久久99久久久欧美国产| 国产麻豆精品久久一二三| 国产高清在线精品| 大桥未久av一区二区三区中文| 成人免费视频视频在线观看免费| jiyouzz国产精品久久| 色综合一个色综合亚洲| 欧美性受xxxx| 26uuu成人网一区二区三区| 国产亚洲制服色| 亚洲精品va在线观看| 性久久久久久久久| 韩日精品视频一区| 成人av资源网站| 欧美色爱综合网| 精品播放一区二区| 国产精品福利影院| 午夜国产精品一区| 国产剧情一区二区| 91麻豆.com| 日韩一区二区三区电影| 日本一区二区三级电影在线观看| 亚洲欧美欧美一区二区三区| 偷拍与自拍一区| 国产精品1区二区.| 欧美天天综合网| 久久日一线二线三线suv| 国产精品国产馆在线真实露脸| 亚洲一区二区黄色| 国产一区不卡精品| 欧美在线免费播放| 久久伊人中文字幕| 一区二区三区**美女毛片| 精品一区二区综合| 色噜噜狠狠色综合中国| 欧美r级电影在线观看| 中文字幕一区二区三区在线观看| 午夜精品免费在线观看| 国产成人在线视频免费播放| 欧美日韩一区中文字幕| 国产日产精品一区| 日本不卡高清视频| 色综合久久综合网97色综合| 26uuu另类欧美亚洲曰本| 亚洲午夜精品在线| 成人黄色在线视频| 欧美一区二区在线看| 亚洲精品你懂的| 国产成人免费视频精品含羞草妖精 | 欧美美女喷水视频| 国产精品进线69影院| 久久精品国内一区二区三区| 色哟哟日韩精品| 日本一区二区免费在线观看视频| 无吗不卡中文字幕| 日本二三区不卡| 中国av一区二区三区| 狠狠色丁香婷婷综合| 91超碰这里只有精品国产| 亚洲精品一卡二卡| 91看片淫黄大片一级在线观看| 久久久久久久精| 极品少妇xxxx偷拍精品少妇| 欧美肥妇bbw| 亚洲高清在线视频| 日本高清免费不卡视频| 亚洲同性gay激情无套| 成人免费视频视频在线观看免费| 久久久久久久综合| 久久成人免费网| 精品国产乱码久久久久久免费| 肉肉av福利一精品导航| 日本美女一区二区三区视频| 蜜桃一区二区三区在线| 欧美私模裸体表演在线观看| 自拍av一区二区三区| 福利一区福利二区| 精品国产91亚洲一区二区三区婷婷| 欧美日韩一本到| 在线观看91av| 中文幕一区二区三区久久蜜桃| 韩国中文字幕2020精品| 久久久亚洲精品一区二区三区| 捆绑调教一区二区三区| 精品国产乱码久久久久久牛牛| 久久精品噜噜噜成人88aⅴ| 精品国产百合女同互慰| 国产在线精品一区二区不卡了| 精品国产乱码久久久久久免费 | 亚洲影院理伦片| 欧美亚洲国产一区二区三区| 亚洲综合视频网| 欧美日韩一区 二区 三区 久久精品| 亚洲欧美乱综合| 欧美色精品在线视频| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美精品一区二区在线观看| 国产麻豆欧美日韩一区| 国产精品短视频| 欧美专区日韩专区| 欧美a级一区二区| 国产丝袜欧美中文另类| 99国产精品99久久久久久| 亚洲午夜电影网| 日韩精品一区二区三区蜜臀| 国产成人精品亚洲日本在线桃色 | 亚洲不卡av一区二区三区| 777久久久精品| 国产精品一区二区在线看| 亚洲欧洲精品一区二区精品久久久| 色噜噜狠狠色综合欧洲selulu| 日日噜噜夜夜狠狠视频欧美人 | 国产又粗又猛又爽又黄91精品| 国产精品视频看| 欧美日韩精品高清|