📄 literal.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: Literal //ANSI C++
#ifndef __LITERAL_H //Required for current class
#define __LITERAL_H
#ifndef __EXPR_H //Required for base classes
#include "Expr.h"
#endif
#ifndef __LTRLEXPR_H //Required for base classes
#include "LiteralExpr.h"
#endif
// A shortcut for e.g. Expr< LiteralExpr<double, bool> > literal = true;
// A shortcut for e.g. Expr< LiteralExpr<int> > literal = 2;
template <class argT, class resT = argT>
class Literal : public Expr< LiteralExpr<argT, resT> >
{
public:
typedef typename LiteralExpr<argT, resT>::argument_type argument_type;
typedef typename LiteralExpr<argT, resT>::result_type result_type;
public:
//Default constructor
Literal()
: Expr< LiteralExpr<argT, resT> >(LiteralExpr<argT, resT>()) {}
// Conversion constructor
Literal(const resT & c)
: Expr< LiteralExpr<argT, resT> >(LiteralExpr<argT, resT>(c)) {}
// Destructor
~Literal() {}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -