Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)