-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathplf_colony.natvis
More file actions
48 lines (39 loc) · 1.83 KB
/
Copy pathplf_colony.natvis
File metadata and controls
48 lines (39 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<!-- plf::colony<element_type, allocator_type, priority> -->
<Type Name="plf::colony<*,*,*>">
<DisplayString>{{ size={total_size} }}</DisplayString>
<Expand>
<Item Name="size" ExcludeView="simple">total_size</Item>
<Item Name="capacity" ExcludeView="simple">total_capacity</Item>
<!-- see colony_iterator::operator++ for item iteration -->
<CustomListItems MaxItemsPerView="100">
<Variable Name="group_pointer" InitialValue="begin_iterator.group_pointer" />
<Variable Name="element_pointer" InitialValue="begin_iterator.element_pointer" />
<Variable Name="skipfield_pointer" InitialValue="begin_iterator.skipfield_pointer" />
<Variable Name="skip" InitialValue="0" />
<Size>total_size</Size>
<Loop>
<Break Condition="element_pointer == end_iterator.element_pointer" />
<Item>*($T1*)element_pointer</Item>
<Exec>skip = *(++skipfield_pointer)</Exec>
<Exec>element_pointer += skip + 1</Exec>
<If Condition="element_pointer == aligned_pointer_type(*& group_pointer->skipfield) && group_pointer->next_group != nullptr">
<Exec>group_pointer = group_pointer->next_group</Exec>
<Exec>skipfield_pointer = group_pointer->skipfield</Exec>
<Exec>skip = *skipfield_pointer</Exec>
<Exec>element_pointer = aligned_pointer_type(*& group_pointer->elements) + skip</Exec>
</If>
<Exec>skipfield_pointer += skip</Exec>
</Loop>
</CustomListItems>
</Expand>
</Type>
<!-- colony_iterator<is_const> -->
<Type Name="plf::colony <*,*,*> :: colony_iterator <*>">
<DisplayString>{($T1*)element_pointer}</DisplayString>
<Expand>
<Item Name="[ptr]">($T1*)element_pointer</Item>
</Expand>
</Type>
</AutoVisualizer>