Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkNodePredicateCompositeBase.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITKNODEPREDICATECOMPOSITEBASE_H_HEADER_INCLUDED_
18 #define MITKNODEPREDICATECOMPOSITEBASE_H_HEADER_INCLUDED_
19 
20 #include "mitkNodePredicateBase.h"
21 #include <list>
22 
23 namespace mitk
24 {
25  //##Documentation
26  //## @brief Base class for all predicates that can have child predicates (e.g. AND/OR)
27  //##
28  //## This class provides methods to add and remove child predicates. It is used for
29  //## predicates that are compositions of other predicates like AND and OR.
30  //##
31  //## @ingroup DataStorage
33  {
34  public:
36 
37  typedef std::list<NodePredicateBase::ConstPointer> ChildPredicates;
38 
39  //##Documentation
40  //## @brief Pure virtual (but implemented) Destructor makes NodePredicateCompositeBase an abstract class
41  virtual ~NodePredicateCompositeBase() = 0;
42 
43  //##Documentation
44  //## @brief Adds a child predicate
45  virtual void AddPredicate(const NodePredicateBase *p);
46 
47  //##Documentation
48  //## @brief Removes a child predicate
49  virtual void RemovePredicate(const NodePredicateBase *p);
50 
51  //##Documentation
52  //## @brief Return all child predicates (immutable).
53  virtual ChildPredicates GetPredicates() const;
54 
55  protected:
56  //##Documentation
57  //## @brief list of child predicates
58  ChildPredicates m_ChildPredicates;
59  };
60 
61 } // namespace mitk
62 
63 #endif /* MITKNODEPREDICATECOMPOSITEBASE_H_HEADER_INCLUDED_ */
#define MITKCORE_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
ChildPredicates m_ChildPredicates
list of child predicates
std::list< NodePredicateBase::ConstPointer > ChildPredicates
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
Interface for evaluation conditions used in the DataStorage class GetSubset() method.
Base class for all predicates that can have child predicates (e.g. AND/OR)