GDCM  2.2.0
gdcmQueryBase.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef GDCMQUERYBASE_H
19 #define GDCMQUERYBASE_H
20 
21 #include "gdcmTag.h"
22 #include "gdcmDataSet.h"
23 
24 #include <string>
25 #include <vector>
26 #include <algorithm>
27 
28 namespace gdcm
29 {
30  enum ERootType
31  {
34  };
35 
62 {
63  public:
64  virtual ~QueryBase() {}
65 
66  virtual std::vector<Tag> GetRequiredTags(const ERootType& inRootType) const = 0;
67  virtual std::vector<Tag> GetUniqueTags(const ERootType& inRootType) const = 0;
68  virtual std::vector<Tag> GetOptionalTags(const ERootType& inRootType) const = 0;
69 
72  virtual std::vector<Tag> GetAllTags(const ERootType& inRootType) const;
73 
74  virtual std::string GetName() const = 0;
75  virtual DataElement GetQueryLevel() const = 0;
76  };
77 }
78 
79 #endif //GDCMQUERYBASE_H

Generated on Wed Jun 13 2012 20:40:37 for GDCM by doxygen 1.8.1
SourceForge.net Logo