CCSet
#ifndef __CC_SET_H__
#define __CC_SET_H__
#include <set>
#include "CCObject.h"
NS_CC_BEGIN
/**
* @addtogroup data_structures
* @{
*/
typedef std::set<CCObject *>::iterator CCSetIterator;
class CC_DLL CCSet : public CCObject
{
public:
CCSet(void);
CCSet(const CCSet &rSetObject);
virtual ~CCSet(void);
/**
* @brief Create and return a new empty set.
*/
static CCSet * create();
/**
*@brief Return a copy of the CCSet, it will copy all the elements.
*/
CCSet* copy();
/**
*@brief It is the same as copy().
*/
CCSet* mutableCopy();
/**
*@brief Return the number of elements the CCSet contains.
*/
int count();
/**
*@brief Add a element into CCSet, it will retain the element.
*/
void addObject(CCObject *pObject);
/**
*@brief Remove the given element, nothing todo if no element equals pObject.
*/
void removeObject(CCObject *pObject);
/**
*@brief Remove all elements of the set
*/
void removeAllObjects();
/**
*@brief Check if CCSet contains a element equals pObject.
*/
bool containsObject(CCObject *pObject);
/**
*@brief Return the iterator that points to the first element.
*/
CCSetIterator begin();
/**
*@brief Return the iterator that points to the position after the last element.
*/
CCSetIterator end();
/**
*@brief Return the first element if it contains elements, or null if it doesn't contain any element.
*/
CCObject* anyObject();
virtual void acceptVisitor(CCDataVisitor &visitor);
private:
std::set<CCObject *> *m_pSet;
};
// end of data_structure group
/// @}
NS_CC_END
#endif // __CC_SET_H__
浙公网安备 33010602011771号