ROOT  6.06/09
Reference Guide
operand.h
Go to the documentation of this file.
1 /* This file is part of the Vc library. {{{
2 
3  Copyright (C) 2013 Matthias Kretz <kretz@kde.org>
4 
5  Vc is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as
7  published by the Free Software Foundation, either version 3 of
8  the License, or (at your option) any later version.
9 
10  Vc is distributed in the hope that it will be useful, but
11  WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public
16  License along with Vc. If not, see <http://www.gnu.org/licenses/>.
17 
18 }}}*/
19 
20 #ifndef VC_COMMON_OPERAND_H
21 #define VC_COMMON_OPERAND_H
22 
23 namespace ROOT {
24 namespace Vc
25 {
26 template<typename Parent> class Operand
27 {
28  public:
29  Parent *parent() { return static_cast<Parent *>(this); }
30  const Parent *parent() const { return static_cast<const Parent *>(this); }
31 
32  private:
33 };
34 
40 };
41 
42 template<typename Result, typename Left, typename Right> class BinaryOperation : public Operand<BinaryOperation<Result, Left, Right> >
43 {
44  Left m_left;
45  Right m_right;
46  public:
47 #if VC_CXX11
48  Vc_ALWAYS_INLINE BinaryOperation(Left &&l, Right &&r)
49 #endif
50  operator Result()
51 };
52 
53 } // namespace Vc
54 } // namespace ROOT
55 
56 #endif // VC_COMMON_OPERAND_H
const Parent * parent() const
Definition: operand.h:30
Namespace for new ROOT classes and functions.
Definition: ROOT.py:1
BinaryOperation
Definition: operand.h:35
Parent * parent()
Definition: operand.h:29
ROOT::R::TRInterface & r
Definition: Object.C:4
TLine * l
Definition: textangle.C:4
#define Vc_ALWAYS_INLINE
Definition: macros.h:130
Definition: casts.h:28