Blender V4.3
AUD_Set.cpp
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2009-2011 Jörg Hermann Müller
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#include <set>
10
11#include "AUD_Set.h"
12
14{
15 return new std::set<void *>();
16}
17
18void AUD_destroySet(void *set)
19{
20 delete reinterpret_cast<std::set<void *> *>(set);
21}
22
23char AUD_removeSet(void *set, void *entry)
24{
25 if (set) {
26 return reinterpret_cast<std::set<void *> *>(set)->erase(entry);
27 }
28 return 0;
29}
30
31void AUD_addSet(void *set, void *entry)
32{
33 if (entry) {
34 reinterpret_cast<std::set<void *> *>(set)->insert(entry);
35 }
36}
37
38void *AUD_getSet(void *set)
39{
40 if (set) {
41 std::set<void *> *rset = reinterpret_cast<std::set<void *> *>(set);
42 if (!rset->empty()) {
43 std::set<void *>::iterator it = rset->begin();
44 void *result = *it;
45 rset->erase(it);
46 return result;
47 }
48 }
49
50 return (void *)0;
51}
void * AUD_createSet()
Definition AUD_Set.cpp:13
void * AUD_getSet(void *set)
Definition AUD_Set.cpp:38
void AUD_addSet(void *set, void *entry)
Definition AUD_Set.cpp:31
void AUD_destroySet(void *set)
Definition AUD_Set.cpp:18
char AUD_removeSet(void *set, void *entry)
Definition AUD_Set.cpp:23
void BLI_kdtree_nd_ insert(KDTree *tree, int index, const float co[KD_DIMS]) ATTR_NONNULL(1
node_ attributes set("label", ss.str())