static_check.h

来自「C++封装的视频采集代码」· C头文件 代码 · 共 52 行

H
52
字号
////////////////////////////////////////////////////////////////////////////////// The Loki Library// Copyright (c) 2001 by Andrei Alexandrescu// This code accompanies the book:// Alexandrescu, Andrei. "Modern C++ Design: Generic Programming and Design //     Patterns Applied". Copyright (c) 2001. Addison-Wesley.// Permission to use, copy, modify, distribute and sell this software for any //     purpose is hereby granted without fee, provided that the above copyright //     notice appear in all copies and that both that copyright notice and this //     permission notice appear in supporting documentation.// The author or Addison-Wesley Longman make no representations about the //     suitability of this software for any purpose. It is provided "as is" //     without express or implied warranty.////////////////////////////////////////////////////////////////////////////////// Last update: June 20, 2001#ifndef STATIC_CHECK_INC_#define STATIC_CHECK_INC_namespace Loki{////////////////////////////////////////////////////////////////////////////////// Helper structure for the STATIC_CHECK macro////////////////////////////////////////////////////////////////////////////////    template<int> struct CompileTimeError;    template<> struct CompileTimeError<true> {};}////////////////////////////////////////////////////////////////////////////////// macro STATIC_CHECK// Invocation: STATIC_CHECK(expr, id)// where:// expr is a compile-time integral or pointer expression// id is a C++ identifier that does not need to be defined// If expr is zero, id will appear in a compile-time error message.////////////////////////////////////////////////////////////////////////////////#define STATIC_CHECK(expr, msg) \    { Loki::CompileTimeError<((expr) != 0)> ERROR_##msg; (void)ERROR_##msg; } ////////////////////////////////////////////////////////////////////////////////// Change log:// March 20, 2001: add extra parens to STATIC_CHECK - it looked like a fun //     definition// June 20, 2001: ported by Nick Thurn to gcc 2.95.3. Kudos, Nick!!!////////////////////////////////////////////////////////////////////////////////#endif // STATIC_CHECK_INC_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?