PeriDyno 1.0.0
Loading...
Searching...
No Matches
Map.h
Go to the documentation of this file.
1#ifndef MAP_H
2#define MAP_H
3
4#include "Platform.h"
5#include "Pair.h"
6
7namespace dyno
8{
14 template <typename MKey, typename T>
15 class Map
16 {
17 public:
19
20 DYN_FUNC Map();
21
22 DYN_FUNC void reserve(Pair<MKey, T>* buf, uint maxSize)
23 {
24 m_pairs = buf;
25 m_maxSize = maxSize;
26 }
27
28 DYN_FUNC iterator find(MKey key);
29
30 DYN_FUNC inline iterator begin() { return m_pairs; }
31
32 DYN_FUNC inline iterator end() { return m_pairs + m_size; }
33
34 DYN_FUNC void clear();
35
36 DYN_FUNC uint size();
37
38 DYN_FUNC iterator insert(Pair<MKey, T> pair);
39 DYN_FUNC bool empty();
40
41 DYN_FUNC void assign(Pair<MKey, T>* beg, int num, int buffer_size)
42 {
43 m_pairs = beg;
44 m_size = num;
45 m_maxSize = buffer_size;
46 }
47
48 DYN_FUNC Pair<MKey, T>& operator [] (unsigned int id) {
49 return m_pairs[id];
50 }
51
52 DYN_FUNC const Pair<MKey, T>& operator [] (unsigned int id) const {
53 return m_pairs[id];
54 }
55
56 DYN_FUNC int erase(const T val);
57 DYN_FUNC void erase(iterator val_ptr);
58
59 private:
61
64 };
65}
66
67#include "Map.inl"
68
69#endif // MAP_H
DYN_FUNC iterator find(MKey key)
Definition Map.inl:14
uint m_maxSize
Definition Map.h:63
DYN_FUNC void clear()
Definition Map.inl:46
Pair< MKey, T > * iterator
Definition Map.h:18
DYN_FUNC Map()
Definition Map.inl:9
DYN_FUNC Pair< MKey, T > & operator[](unsigned int id)
Definition Map.h:48
DYN_FUNC iterator insert(Pair< MKey, T > pair)
Definition Map.inl:22
Pair< MKey, T > * m_pairs
Definition Map.h:62
DYN_FUNC void reserve(Pair< MKey, T > *buf, uint maxSize)
Definition Map.h:22
DYN_FUNC iterator end()
Definition Map.h:32
DYN_FUNC void erase(iterator val_ptr)
DYN_FUNC bool empty()
Definition Map.inl:58
DYN_FUNC void assign(Pair< MKey, T > *beg, int num, int buffer_size)
Definition Map.h:41
uint m_size
Definition Map.h:60
DYN_FUNC int erase(const T val)
DYN_FUNC uint size()
Definition Map.inl:52
DYN_FUNC iterator begin()
Definition Map.h:30
#define T(t)
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
unsigned int uint
Definition VkProgram.h:14