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

📄 value_init.hpp

📁 system C源码 一种替代verilog的语言
💻 HPP
字号:
// (C) 2002, Fernando Luis Cacciola Carballal.//// Distributed under 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)//// 21 Ago 2002 (Created) Fernando Cacciola//#ifndef BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP#define BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP#include "sysc/packages/boost/detail/select_type.hpp"#include "sysc/packages/boost/type_traits/cv_traits.hpp"namespace boost {namespace vinit_detail {template<class T>class const_T_base{  protected :   const_T_base() : x() {}   T x ;} ;template<class T>struct non_const_T_base{  protected :   non_const_T_base() : x() {}   mutable T x ;} ;template<class T>struct select_base{  typedef typename    detail::if_true< ::boost::is_const<T>::value >      ::template then< const_T_base<T>, non_const_T_base<T> >::type type ;} ;} // namespace vinit_detailtemplate<class T>class value_initialized : private vinit_detail::select_base<T>::type{  public :    value_initialized() {}    operator T&() const { return this->x ; }    T& data() const { return this->x ; }} ;template<class T>T const& get ( value_initialized<T> const& x ){  return x.data() ;}template<class T>T& get ( value_initialized<T>& x ){  return x.data() ;}} // namespace boost#endif

⌨️ 快捷键说明

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