Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
berryIStructuredSelection.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 BlueBerry Platform
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 
18 #ifndef BERRYISTRUCTUREDSELECTION_H_
19 #define BERRYISTRUCTUREDSELECTION_H_
20 
21 #include "berryISelection.h"
22 
23 #include <berryObjectList.h>
25 
26 namespace berry
27 {
28 
33 
35  typedef ContainerType::const_iterator iterator;
36 
38 
39 
45  virtual Object::Pointer GetFirstElement() const = 0;
46 
52  virtual iterator Begin() const = 0;
53 
59  virtual iterator End() const = 0;
60 
66  virtual int Size() const = 0;
67 
73  virtual ContainerType::Pointer ToVector() const = 0;
74 
75  /*
76  * We need to define at least the destructor in this compilation unit
77  * because of the export macro above. Otherwise Windows throws
78  * a linker error in dependent librraies. The export macro is needed
79  * for gcc < 4.5 to correctly mark the type_info object of this class
80  * as visible (we have default visibility 'hidden') so that dynamic_cast calls work.
81  */
82  virtual ~IStructuredSelection();
83 
84 };
85 
86 }
87 
88 #endif /* BERRYISTRUCTUREDSELECTION_H_ */
Light weight base class for most BlueBerry classes.
Definition: berryObject.h:78
ContainerType::const_iterator iterator
#define berryObjectMacro(...)
Definition: berryMacros.h:37
ObjectList< Object::Pointer > ContainerType
#define BERRY_UI_QT