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 + -
显示快捷键?