Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства является частью версии 5.0 Инструментов XCode

Получить эти инструменты:

Если Вы выполняете версию Инструментов XCode кроме 5,0, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.




cache_create(3)          BSD Library Functions Manual          cache_create(3)

NAME
     cache_create -- Creates an in memory cache

SYNOPSIS
     #include <cache.h>

     int
     cache_create(const char *name, cache_attributes_t *attrs, cache_t **cache_out);

     int
     cache_destroy(cache_t *cache);

DESCRIPTION
     cache_create() Creates a cache using attributes attrs (see below) and name name and if successful
     stores it in cache_out.  name is a NULL-terminated cstring in reverse-DNS form (e.g.
     "com.mycompany.imagecache") and is used for debugging and performance tools.  It must not be NULL.

     cache_destroy() Removes all unreferenced values in cache and deallocates it.

CACHE ATTRIBUTES
     Cache attributes are callbacks passed to cache_create() to support different types of keys and values
     and to configure cache behavior.  The cache framework provides preexisting cache_callbacks(3) functions
     that can be used for these callbacks to support common key and value types

     typedef struct cache_attributes_s {
         uint32_t version;
         cache_key_hash_cb_t key_hash_cb;
         cache_key_is_equal_cb_t key_is_equal_cb;

         cache_key_retain_cb_t  key_retain_cb;
         cache_release_cb_t key_release_cb;
         cache_release_cb_t value_release_cb;

         cache_value_make_nonpurgeable_cb_t value_make_nonpurgeable_cb;
         cache_value_make_purgeable_cb_t value_make_purgeable_cb;

         void *user_data;
         cache_value_retain_cb_t value_retain_cb;
     } cache_attributes_t;
     #define CACHE_ATTRIBUTES_VERSION_2 2

     key_hash_cb                    Calculates a hash value using key

     key_is_equal_cb                Determines if two keys are equal

     key_retain_cb                  Called when a key is added to a cache using cache_set_and_retain() to
                                    allow key to be copied, or retained if it is a reference-counted object.

     key_release_cb                 Called when a key is removed or evicted from a cache to allow the key to
                                    be deallocated, or released if it is a reference-counted object.

     value_retain_cb                Called when a value is added to a cache using cache_set_and_retain() to
                                    allow value to be retained if it is a reference-counted object.

     value_release_cb               Called when a value is removed or evicted from a cache to allow the key
                                    to be deallocated, or released if it is a reference-counted object.

     value_make_nonpurgeable_cb     Called when a value is referenced using cache_get_and_retain() to allow
                                    it to be made nonpurgeable or uncompressed.

     value_make_purgeable_cb        Called when a value is unreferenced to allow it to be made purgeable or
                                    compressed.

     version                        Attributes version number used for binary compatibility.

     user_data                      This value will be passed to all other callbacks for this cache.  May be
                                    NULL.

RETURN VALUES
     All functions return 0 for success and non-zero for failure.

EXAMPLE
     The following example uses pre-existing cache_callbacks(3) to create a cache with cstring keys and
     malloc(3) allocated values.  The

     #include <cache.h>
     #include <cache_callbcaks.h>

     cache_t *im_cache;
     cache_attributes_t attrs = {
         .version = CACHE_ATTRIBUTES_VERSION_2,
         .key_hash_cb = cache_key_hash_cb_cstring,
         .key_is_equal_cb = cache_key_is_equal_cb_cstring,
         .key_retain_cb = my_copy_string,
         .key_release_cb = cache_release_cb_free,
         .value_release_cb = cache_release_cb_free,
     };
     cache_create("com.acme.im_cache", &attrs, &im_cache);

SEE ALSO
     кэш (3) cache_set_and_retain (3) cache_callbacks (3)

Darwin                            May 7, 2009                           Darwin

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации со ссылками на отзыв ниже.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API через Генератор отчетов Ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.