Last change
on this file since 2360 was
2019,
checked in by yushan, 4 years ago
|
Graph intermedia commit to a tmp branch
|
-
Property svn:executable set to
*
|
File size:
1.2 KB
|
Line | |
---|
1 | #ifndef __XIOS_TRANSFORMATION_PATH_HPP__ |
---|
2 | #define __XIOS_TRANSFORMATION_PATH_HPP__ |
---|
3 | |
---|
4 | #include "transformation_enum.hpp" |
---|
5 | #include "element_type.hpp" |
---|
6 | #include "xios_spl.hpp" |
---|
7 | |
---|
8 | namespace xios |
---|
9 | { |
---|
10 | class CTransformationPaths |
---|
11 | { |
---|
12 | public: |
---|
13 | typedef std::tuple<EElement, string, std::list<std::pair<ETranformationType,std::string>>> TPath ; |
---|
14 | |
---|
15 | private: |
---|
16 | TPath path_ ; |
---|
17 | std::list<TPath> donePath_ ; |
---|
18 | TPath remainPath_ ; |
---|
19 | string getPathId(const TPath& path) ; |
---|
20 | string getPathsId(const list<TPath>& paths) ; |
---|
21 | |
---|
22 | public: |
---|
23 | void addPath(TPath& path) {path_=path;} |
---|
24 | void mergePaths(const CTransformationPaths& transformationPath) ; |
---|
25 | void mergePaths(void) ; |
---|
26 | bool hasTransform(void) { return !std::get<2>(remainPath_).empty();} |
---|
27 | bool hasPath(void) { return !std::get<1>(path_).empty() ;} |
---|
28 | CTransformationPaths getDonePath(void) ; |
---|
29 | |
---|
30 | EElement getNextElementType(void); |
---|
31 | std::string getNextElementId(void) ; |
---|
32 | std::string getNextElementSrcId(void) ; |
---|
33 | ETranformationType getNextTransformationType(void) ; |
---|
34 | std::string getNextTransformationId(void) ; |
---|
35 | void removeNextTransform(void) ; |
---|
36 | }; |
---|
37 | |
---|
38 | } |
---|
39 | |
---|
40 | #endif // __XIOS_TRANSFORMATION_PATH_HPP__ |
---|
Note: See
TracBrowser
for help on using the repository browser.