Free Electron
PartitionI.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __draw_PartitionI_h__
8 #define __draw_PartitionI_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief matchable list of strings
17 
18  @ingroup draw
19 *//***************************************************************************/
20 class FE_DL_EXPORT PartitionI:
21  virtual public Counted,
22  public CastableAs<PartitionI>
23 {
24  public:
25  enum FilterMethod
26  {
27  e_matchRegex,
28  e_notMatchRegex
29  };
30 
31 virtual sp<PartitionI> clone(void) const =0;
32 
33 virtual U32 partitionCount(void) const =0;
34 virtual String partitionName(U32 a_index) const =0;
35 
36 virtual I32 lookup(String a_partitionString) =0;
37 virtual I32 select(String a_filterString) =0;
38 virtual I32 select(String a_filterString,
39  FilterMethod a_filterMethod) =0;
40 virtual BWORD add(String a_string) =0;
41 virtual BWORD remove(String a_string) =0;
42 virtual BWORD match(I32 a_partitionIndex) =0;
43 virtual BWORD matchable(void) const =0;
44 };
45 
46 } /* namespace ext */
47 } /* namespace fe */
48 
49 #endif /* __draw_PartitionI_h__ */
50 
Heap-based support for classes participating in fe::ptr <>
Definition: Counted.h:35
kernel
Definition: namespace.dox:3
matchable list of strings
Definition: PartitionI.h:20
Automatically reference-counted string container.
Definition: String.h:128
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192