 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
l |
Solves problem
of managing data structures
|
|
across platforms
|
|
|
l |
Data type is
defined using a “handle”
|
|
|
l |
Data type is
managed using a number of
|
|
|
routines
|
|
|
|
– |
Programmer does
not have direct access to
|
|
|
structure details
|
|
|
l |
But not all of
APR is incomplete data type
|
|
|
|
based
|
|