00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #pragma once
00014
00015 #ifndef Path_h__
00016 #define Path_h__
00017
00018
00019 #include "BasePath.h"
00020 #include "DefaultPath.h"
00021
00022 #include <memory>
00023
00024
00025
00027
00029 template <typename my_alg_type>
00030 class Path :
00031 public BasePath<my_alg_type>
00032 {
00033 public:
00035 Path(void) : pImpl(std::tr1::shared_ptr< const DefaultPath<my_alg_type> > (new DefaultPath<my_alg_type>))
00036 {
00037 };
00038
00040 Path(std::tr1::shared_ptr < const BasePath<my_alg_type> > pimpl1) : pImpl(pimpl1)
00041 {
00042 };
00043
00045 ~Path(void)
00046 {
00047 };
00048
00050 LIE DescribePath(const dyadic_interval & di, const int accuracy) const
00051 {
00052 return pImpl->DescribePath(di,accuracy);
00053 };
00054
00056 LIE DescribePath(const dyadic_interval & di) const
00057 {
00058 return DescribePath(di, di.n);
00059 };
00060
00061 private:
00063 std::tr1::shared_ptr < const BasePath<my_alg_type> > pImpl;
00064
00065 };
00066
00067 #endif // Path_h__
00068