mgcpp
A C++ Math Library Based on CUDA
expression.hpp
Go to the documentation of this file.
1 
2 // Copyright RedPortal, mujjingun 2017 - 2018.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6 
7 #ifndef _MGCPP_EXPRESSIONS_EXPRESSION_HPP_
8 #define _MGCPP_EXPRESSIONS_EXPRESSION_HPP_
9 
10 #include <cstddef>
12 
13 namespace mgcpp {
14 
15 size_t make_id();
16 
17 template <typename Type>
18 class expression {
19  public:
20  inline Type& operator~() noexcept;
21  inline Type const& operator~() const noexcept;
22 
23  protected:
24  size_t id = make_id();
25 };
26 
27 } // namespace mgcpp
28 
30 #endif
Definition: adapter_base.hpp:12
Definition: expression.hpp:18
size_t make_id()
Type & operator~() noexcept