⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 constructors.cpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 CPP
字号:
// Boost enable_if library// Copyright 2003 (c) The Trustees of Indiana University.// Use, modification, and distribution is subject to the Boost Software// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)//    Authors: Jaakko Jarvi (jajarvi at osl.iu.edu)//             Jeremiah Willcock (jewillco at osl.iu.edu)//             Andrew Lumsdaine (lums at osl.iu.edu)#include <boost/test/minimal.hpp>#include <boost/utility/enable_if.hpp>#include <boost/type_traits.hpp>using boost::enable_if;using boost::disable_if;using boost::is_arithmetic;struct container {  bool my_value;  template <class T>  container(const T&, const typename enable_if<is_arithmetic<T>, T>::type * = 0):  my_value(true) {}  template <class T>  container(const T&, const typename disable_if<is_arithmetic<T>, T>::type * = 0):  my_value(false) {}};// example from Howard Hinnant (tests enable_if template members of a templated class)template <class charT>struct xstring{  template <class It>  xstring(It begin, It end, typename           disable_if<is_arithmetic<It> >::type* = 0)    : data(end-begin) {}    int data;};int test_main(int, char*[]){   BOOST_CHECK(container(1).my_value);  BOOST_CHECK(container(1.0).my_value);  BOOST_CHECK(!container("1").my_value);    BOOST_CHECK(!container(static_cast<void*>(0)).my_value);    char sa[] = "123456";  BOOST_CHECK(xstring<char>(sa, sa+6).data == 6);  return 0;}

⌨️ 快捷键说明

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