blob: 78f7a8be81d2063bfc8558134e5e3fb571d361e1 [file] [log] [blame]
Chris Lattner30fdc8d2010-06-08 16:52:24 +00001//===-- CFCMutableSet.h -----------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef CoreFoundationCPP_CFMutableSet_h_
11#define CoreFoundationCPP_CFMutableSet_h_
12
13#include "CFCReleaser.h"
14
15class CFCMutableSet : public CFCReleaser<CFMutableSetRef>
16{
17public:
18 //------------------------------------------------------------------
19 // Constructors and Destructors
20 //------------------------------------------------------------------
21 CFCMutableSet(CFMutableSetRef s = NULL);
22 CFCMutableSet(const CFCMutableSet& rhs);
23 virtual ~CFCMutableSet();
24
25 //------------------------------------------------------------------
26 // Operators
27 //------------------------------------------------------------------
28 const CFCMutableSet&
29 operator=(const CFCMutableSet& rhs);
30
31
32 CFIndex GetCount() const;
33 CFIndex GetCountOfValue(const void *value) const;
34 const void * GetValue(const void *value) const;
35 const void * AddValue(const void *value, bool can_create);
36 void RemoveValue(const void *value);
37 void RemoveAllValues();
38
39
40
41protected:
42 //------------------------------------------------------------------
43 // Classes that inherit from CFCMutableSet can see and modify these
44 //------------------------------------------------------------------
45
46private:
47 //------------------------------------------------------------------
48 // For CFCMutableSet only
49 //------------------------------------------------------------------
50
51};
52
53#endif // CoreFoundationCPP_CFMutableSet_h_