////////////////////////////////////////////////////////////////////////////// // // (C) Copyright Ion Gaztanaga 2013-2013. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// #include #include //[doc_extended_allocators #include #include #include #include //"allocator" is a general purpose allocator that can reallocate //memory, something useful for vector and flat associative containers #include //"adaptive_pool" is a node allocator, specially suited for //node-based containers #include int main () { using namespace boost::container; //A vector that can reallocate memory to implement faster insertions vector > extended_alloc_vector; //A flat set that can reallocate memory to implement faster insertions flat_set, allocator > extended_alloc_flat_set; //A list that can manages nodes to implement faster //range insertions and deletions list > extended_alloc_list; //A set that can recycle nodes to implement faster //range insertions and deletions set, adaptive_pool > extended_alloc_set; //Now user them as always extended_alloc_vector.push_back(0); extended_alloc_flat_set.insert(0); extended_alloc_list.push_back(0); extended_alloc_set.insert(0); //... return 0; } //] #include