Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Boost Pointer Container Library

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost Pointer Container Library

Class ptr_deque

ptr_deque представляет собой контейнер указателей, который использует базовый std:deque для хранения указателей.

Иерархия:

Навигат:

Синопсис:

namespace boost
{      
    template
    < 
        class T, 
        class CloneAllocator = heap_clone_allocator
        class Allocator      = std::allocator<void*>
    >
    class ptr_deque : public ptr_sequence_adapter
                             <
                                T,
                                std::deque<void*,Allocator>,
                                CloneAllocator
                             >
    {
    public: // element access
        T&        operator[]( size_type n );
        const T&  operator[]( size_type n ) const;
        T&        at( size_type n );
        const T&  at( size_type n ) const;
    public: // modifiers
        void      push_front( T* x );
        template< class U >
        void      push_front( std::auto_ptr<U> x );
        auto_type pop_front();
    public: // pointer container requirements
       auto_type replace( size_type idx, T* x );
       template< class U >
       auto_type replace( size_type idx, std::auto_ptr<U> x );    
       bool      is_null( size_type idx ) const;   
    };
} // namespace 'boost'  

Semantics

Semantics: modifiers

  • voidpush_frontT*x;

    • Требования:x!=0
    • Эффекты: вставляет указатель в контейнер и приобретает право собственности на него.
    • Бросок:bad_pointer, еслиx==0
    • Безопасность: сильная гарантия
  • шаблон<класс>voidpush_frontstd::auto_ptrx;

    • Эффекты:push_frontx.release();
  • auto_typepop_front():

    • Требования:непустой()
    • Эффекты: удаление первого элемента в контейнере
    • размер()меньше
    • Броски:bad_ptr_container_operation, еслипустой()==истинный
    • Безопасность: сильная гарантия

Semantics: element access

  • T&оператор[]размер_типn;

  • constT&operator[]size_typen]const;

    • Требования:n<размер()
    • Эффекты: возвращает ссылку наn'th элемент
    • Альбом: Nothing
  • T&atsize_typen;

  • constT&atsize_typenconst;

    • Требования:n<размер()
    • Эффекты: возвращает ссылку наn'th элемент
    • Броски:bad_index, еслиn>=size()

Semantics: pointer container requirements

  • auto_typeзаменитьsize_typeidx,T*x;

    • Требования: x ! = 0 и idx< размер()
    • Эффекты: возвращает объект, проиндексированныйidxи заменяет егоx.
    • Броски:bad_index, еслиidx>=размер()иbad_pointer, еслиx==0.
    • Безопасность: сильная гарантия
  • шаблон<классU>auto_typeразмер_typeidx,std:::auto_ptr<x;

    • Эффекты:возвращениезаменаx.release()x.release()
  • boolis_nullsize_typeidxconst;

    • Требования:idx<размер()
    • Эффекты: возвращает ли указатель в индексеidxнуль
    • Безопасность исключения: Гарантия Nothrow

Copyright:Thorsten Ottosen 2004-2006. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see LICENSE_1_0.txt).

Статья Boost Pointer Container Library раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:49:03/0.0089879035949707/1