diff options
Diffstat (limited to 'devel/ObjectiveLib/DESCR')
-rw-r--r-- | devel/ObjectiveLib/DESCR | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/devel/ObjectiveLib/DESCR b/devel/ObjectiveLib/DESCR new file mode 100644 index 00000000000..c98db0ea40e --- /dev/null +++ b/devel/ObjectiveLib/DESCR @@ -0,0 +1,21 @@ +ObjectiveLib provides two primary services: containers and algorithms. An +important part of the library that keeps everything moving is iterators. +Iterators perform two functions: they provide access to elements stored in +containers and they provide a way for generice algorithms to operate on +elements of almost any type of container. Algorithms take iterators as +arguments, and thus never have any knowledge of what type of container +they happen to be affecting. + + ObjectiveLib is designed to offer the same functionality to Objective-C +programmers that the Standard Template Library offers to C++ programmers. +Therefore, anyone familiar with the STL will have no trouble using and +understanding the machinery of ObjectiveLib. + + An important component used by all services of ObjectiveLib is the +memory allocator. All containers allocate memory using an associated +memory allocator. This includes memory used to store elements in the +container, iterators, and any temporary buffers that may be needed. +Algorithms also need to allocate memory, so there is an allocator +associated with the OLAlgorithm class. Though the algorithm allocator +appears static, in fact an allocator is associated with each thread. +Therefore, memory allocation when using algorithms is thread-safe. |