Go to the documentation of this file.00001 #ifndef VIENNAMATH_RUNTIME_SYMBOLIC_INTERVAL_HPP
00002 #define VIENNAMATH_RUNTIME_SYMBOLIC_INTERVAL_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <ostream>
00022 #include "viennamath/forwards.h"
00023
00028 namespace viennamath
00029 {
00030
00032 template <typename InterfaceType>
00033 class rt_symbolic_interval
00034 {
00035
00036 public:
00037 typedef rt_expr<InterfaceType> value_type;
00038 typedef InterfaceType interface_type;
00039 typedef typename InterfaceType::numeric_type numeric_type;
00040
00041 rt_symbolic_interval(id_type interval_id = 0) : id_(interval_id) {}
00042
00044 id_type id() const { return id_; }
00045
00046 private:
00047 id_type id_;
00048 };
00049
00051 template <typename InterfaceType>
00052 std::ostream& operator<<(std::ostream & stream, rt_symbolic_interval<InterfaceType> const & e)
00053 {
00054 stream << "symbolic_interval[" << e.id() << "]";
00055 return stream;
00056 }
00057
00058
00059
00060
00062
00063
00064
00065
00066 }
00067
00068 #endif