1.. _Which_Dynamic_Libraries_to_Use:
2
3Which Dynamic Libraries to Use
4==============================
5
6
7The template ``scalable_allocator<T>`` requires the |full_name|
8scalable memory allocator library as
9described in **Scalable Memory Allocator**. It does not require the
10oneTBB general library, and can be used independently of the rest of
11oneTBB.
12
13
14The templates ``tbb_allocator<T>`` and ``cache_aligned_allocator<T>``
15use the scalable allocator library if it is present otherwise it reverts
16to using ``malloc`` and ``free``. Thus, you can use these templates even
17in applications that choose to omit the scalable memory allocator
18library.
19
20
21The rest of |full_name| can be used
22with or without the oneTBB scalable memory allocator library.
23
24
25.. container:: tablenoborder
26
27
28   .. list-table::
29      :header-rows: 1
30
31      * -     Template
32        -     Requirements
33        -     Notes
34      * -     \ ``scalable_allocator<T>``
35        -     |full_name| scalable    memory allocator library. See **Scalable Memory Allocator**.
36        -      
37      * -     \ ``tbb_allocator<T>``           \ ``cache_aligned_allocator<T>``
38        -      
39        -     Uses the scalable allocator library if it is present,    otherwise it reverts to using ``malloc`` and ``free``.
40
41
42
43