Blender  V3.3
AUD_Set.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2009-2011 Jörg Hermann Müller. */
3 
8 #include <set>
9 
10 #include "AUD_Set.h"
11 
13 {
14  return new std::set<void *>();
15 }
16 
17 void AUD_destroySet(void *set)
18 {
19  delete reinterpret_cast<std::set<void *> *>(set);
20 }
21 
22 char AUD_removeSet(void *set, void *entry)
23 {
24  if (set)
25  return reinterpret_cast<std::set<void *> *>(set)->erase(entry);
26  return 0;
27 }
28 
29 void AUD_addSet(void *set, void *entry)
30 {
31  if (entry)
32  reinterpret_cast<std::set<void *> *>(set)->insert(entry);
33 }
34 
35 void *AUD_getSet(void *set)
36 {
37  if (set) {
38  std::set<void *> *rset = reinterpret_cast<std::set<void *> *>(set);
39  if (!rset->empty()) {
40  std::set<void *>::iterator it = rset->begin();
41  void *result = *it;
42  rset->erase(it);
43  return result;
44  }
45  }
46 
47  return (void *)0;
48 }
void * AUD_createSet()
Definition: AUD_Set.cpp:12
void * AUD_getSet(void *set)
Definition: AUD_Set.cpp:35
void AUD_addSet(void *set, void *entry)
Definition: AUD_Set.cpp:29
void AUD_destroySet(void *set)
Definition: AUD_Set.cpp:17
char AUD_removeSet(void *set, void *entry)
Definition: AUD_Set.cpp:22
Insertion insert(const float3 &point_prev, const float3 &handle_prev, const float3 &handle_next, const float3 &point_next, float parameter)
Definition: curve_bezier.cc:61