Skip to content

Commit c347c03

Browse files
Merge branch 'slides/72-access-types-module-needs-a-better-comparison-between-pool-specific-and-general-access-types' into 'master'
Resolve "Access Types module needs a better comparison between pool-specific and general access types" Closes #72 See merge request feng/training/material!269
2 parents 7ebd188 + ba8ce69 commit c347c03

File tree

13 files changed

+39
-15
lines changed

13 files changed

+39
-15
lines changed

courses/fundamentals_of_ada/140_access_types-advanced.rst renamed to courses/fundamentals_of_ada/140_access_types-in_depth.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
***********************
2-
Advanced Access Types
2+
Access Types In Depth
33
***********************
44

55
.. container:: PRELUDE BEGIN
@@ -43,5 +43,5 @@ Advanced Access Types
4343
.. include:: 140_access_types/08-memory_management.rst
4444
.. include:: 140_access_types/09-memory_debugging.rst
4545
.. include:: 140_access_types/10-memory_control.rst
46-
.. include:: labs/140_access_types-advanced.lab.rst
46+
.. include:: labs/140_access_types-in_depth.lab.rst
4747
.. include:: 140_access_types/99-summary_with_pools.rst

courses/fundamentals_of_ada/140_access_types/01-introduction.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,30 @@ Access Types Design
4545
int * G_C = &Some_Int;
4646
.
4747

48+
-----------------------------------------
49+
Access Types - General vs Pool-Specific
50+
-----------------------------------------
51+
52+
.. container:: columns
53+
54+
.. container:: column
55+
56+
**General Access Types**
57+
58+
* Point to any object of designated type
59+
* Useful for creating aliases to existing objects
60+
* Point to existing object via :ada:`'Access` **or** created by :ada:`new`
61+
* No automatic memory management
62+
63+
.. container:: column
64+
65+
**Pool-Specific Access Types**
66+
67+
* Tightly coupled to dynamically allocated objects
68+
* Used with Ada's controlled memory management (pools)
69+
* Can only point to object created by :ada:`new`
70+
* Memory management tied to specific storage pool
71+
4872
-------------------------------
4973
Access Types Can Be Dangerous
5074
-------------------------------

courses/fundamentals_of_ada/advanced.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
080_expressions-with_quantified.rst
66
120_limited_types.rst
77
290_advanced_data_hiding.rst
8-
140_access_types-advanced.rst
8+
140_access_types-in_depth.rst
99
160_genericity.rst
1010
170_tagged_derivation.rst
1111
175_multiple_inheritance.rst

courses/fundamentals_of_ada/labs/140_access_types-advanced.lab.rst renamed to courses/fundamentals_of_ada/labs/140_access_types-in_depth.lab.rst

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Lab
33
========
44

55
---------------------------
6-
Advanced Access Types Lab
6+
Access Types In Depth Lab
77
---------------------------
88

99
* Build an application that adds / removes items from a linked list
@@ -41,64 +41,64 @@ Extra Credit
4141
Lab Solution - Database
4242
-------------------------
4343

44-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Database :end-before:--Database :code:Ada :number-lines:1
44+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Database :end-before:--Database :code:Ada :number-lines:1
4545

4646
-------------------------------------
4747
Lab Solution - Database_List (Spec)
4848
-------------------------------------
4949

50-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Database_List_Spec :end-before:--Database_List_Spec :code:Ada :number-lines:1
50+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Database_List_Spec :end-before:--Database_List_Spec :code:Ada :number-lines:1
5151

5252
-----------------------------------------------
5353
Lab Solution - Database_List (Helper Objects)
5454
-----------------------------------------------
5555

56-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Database_List_Helpers :end-before:--Database_List_Helpers :code:Ada :number-lines:1
56+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Database_List_Helpers :end-before:--Database_List_Helpers :code:Ada :number-lines:1
5757

5858
-----------------------------------------------
5959
Lab Solution - Database_List (Insert/Delete)
6060
-----------------------------------------------
6161

62-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Database_List_Substance :end-before:--Database_List_Substance :code:Ada :number-lines:35
62+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Database_List_Substance :end-before:--Database_List_Substance :code:Ada :number-lines:35
6363

6464
---------------------
6565
Lab Solution - Main
6666
---------------------
6767

68-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Main :end-before:--Main :code:Ada :number-lines:1
68+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Main :end-before:--Main :code:Ada :number-lines:1
6969

7070
---------------------------------
7171
Lab Solution - Simple_IO (Spec)
7272
---------------------------------
7373

74-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Simple_IO_Spec :end-before:--Simple_IO_Spec :code:Ada :number-lines:1
74+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Simple_IO_Spec :end-before:--Simple_IO_Spec :code:Ada :number-lines:1
7575

7676
---------------------------------
7777
Lab Solution - Simple_IO (Body)
7878
---------------------------------
7979

80-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Simple_IO_Body :end-before:--Simple_IO_Body :code:Ada :number-lines:1
80+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Simple_IO_Body :end-before:--Simple_IO_Body :code:Ada :number-lines:1
8181

8282
------------------------------------------
8383
Lab Solution - Memory_Mgmt (Debug Pools)
8484
------------------------------------------
8585

86-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Memory_Mgmt_Debug :end-before:--Memory_Mgmt_Debug :code:Ada :number-lines:1
86+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Memory_Mgmt_Debug :end-before:--Memory_Mgmt_Debug :code:Ada :number-lines:1
8787

8888
-------------------------------------------------
8989
Lab Solution - Memory_Mgmt (Storage Pools Spec)
9090
-------------------------------------------------
9191

92-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Memory_Mgmt_Spec :end-before:--Memory_Mgmt_Spec :code:Ada :number-lines:1
92+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Memory_Mgmt_Spec :end-before:--Memory_Mgmt_Spec :code:Ada :number-lines:1
9393

9494
------------------------------------------------
9595
Lab Solution - Memory_Mgmt (Storage Pools 1/2)
9696
------------------------------------------------
9797

98-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Memory_Mgmt_Helpers :end-before:--Memory_Mgmt_Helpers :code:Ada :number-lines:1
98+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Memory_Mgmt_Helpers :end-before:--Memory_Mgmt_Helpers :code:Ada :number-lines:1
9999

100100
------------------------------------------------
101101
Lab Solution - Memory_Mgmt (Storage Pools 2/2)
102102
------------------------------------------------
103103

104-
.. container:: source_include labs/answers/140_access_types-advanced.txt :start-after:--Memory_Mgmt_Substance :end-before:--Memory_Mgmt_Substance :code:Ada :number-lines:49
104+
.. container:: source_include labs/answers/140_access_types-in_depth.txt :start-after:--Memory_Mgmt_Substance :end-before:--Memory_Mgmt_Substance :code:Ada :number-lines:49

0 commit comments

Comments
 (0)