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

📄 literalexpr.h

📁 精确的函数表达模板,里面包含了许多C和C++的函数表达模板
💻 H
字号:

/****************************************************************************
 * Copyright (C) 2001        Piece Wise Functions
 *                           Carlo Galotto
 *                           Italy
 *                           Email: carlo.galotto@libero.it
 *                                  cgalotto@hotmail.com
 *
 *
 * This framework is free  software; you can  redistribute it and/or modify
 * it. This framework is distributed  in the  hope  that  it  will  be useful,
 * but WITHOUT ANY WARRANTY;  without even the   implied  warranty of
 * MERCHANTABILITY  or FITNESS FOR A PARTICULAR PURPOSE.
 * The proposed framework is based upon the paper "Expression Templates" by
 * Todd Veldhuizen.
 ****************************************************************************/

// Class: LiteralExpr

#ifndef __LTRLEXPR_H  //Required for current class
  #define __LTRLEXPR_H

#include <functional> // required for base classes

/****************************************************************************
 * LiteralExpr represents a literal which appears in the expression. */   template <class argT, class resT = argT>
   class LiteralExpr : public std::unary_function<argT, resT>   {      public:         typedef std::unary_function<argT, resT>::argument_type argument_type;
         typedef std::unary_function<argT, resT>::result_type result_type;
      private:         resT value;      public:         // Default constructor         LiteralExpr() : value( resT() ) { }         // Conversion constructor         explicit LiteralExpr(const argument_type& v) : value(v) { }         // Copy Constructor         LiteralExpr(const LiteralExpr& aLiteralExpr) : value(aLiteralExpr.value) {}  	      //Assignment Operator         LiteralExpr& operator= (const LiteralExpr& aLiteralExpr)
         {
            if(&aLiteralExpr != this)
               value = aLiteralExpr.value;
            return *this;
         }
         // Evaluator operator         result_type operator()(const argument_type& ) const { return resT(value); }         // Destructor         ~LiteralExpr() {}   };
#endif

⌨️ 快捷键说明

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