File indexing completed on 2025-01-18 09:30:10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef BOOST_CONTAINER_DETAIL_ALLOC_LIB_HPP
0011 #define BOOST_CONTAINER_DETAIL_ALLOC_LIB_HPP
0012
0013 #ifndef BOOST_CONFIG_HPP
0014 # include <boost/config.hpp>
0015 #endif
0016
0017 #if defined(BOOST_HAS_PRAGMA_ONCE)
0018 # pragma once
0019 #endif
0020
0021 #include <boost/container/detail/config_begin.hpp>
0022 #include <boost/container/detail/workaround.hpp>
0023 #include <boost/container/detail/auto_link.hpp>
0024
0025 #include <boost/container/detail/alloc_lib.h>
0026
0027 namespace boost{
0028 namespace container{
0029
0030 typedef boost_cont_command_ret_t dlmalloc_command_ret_t;
0031 typedef boost_cont_memchain dlmalloc_memchain;
0032 typedef boost_cont_memchain_it dlmalloc_memchain_it;
0033 typedef boost_cont_malloc_stats_t dlmalloc_malloc_stats_t;
0034
0035 BOOST_CONTAINER_DECL size_t dlmalloc_size(const void *p);
0036
0037 BOOST_CONTAINER_DECL void* dlmalloc_malloc(size_t bytes);
0038
0039 BOOST_CONTAINER_DECL void dlmalloc_free(void* mem);
0040
0041 BOOST_CONTAINER_DECL void* dlmalloc_memalign(size_t bytes, size_t alignment);
0042
0043 BOOST_CONTAINER_DECL int dlmalloc_multialloc_nodes
0044 (size_t n_elements, size_t elem_size, size_t contiguous_elements, boost_cont_memchain *pchain);
0045
0046 BOOST_CONTAINER_DECL int dlmalloc_multialloc_arrays
0047 (size_t n_elements, const size_t *sizes, size_t sizeof_element, size_t contiguous_elements, boost_cont_memchain *pchain);
0048
0049 BOOST_CONTAINER_DECL void dlmalloc_multidealloc(boost_cont_memchain *pchain);
0050
0051 BOOST_CONTAINER_DECL size_t dlmalloc_footprint();
0052
0053 BOOST_CONTAINER_DECL size_t dlmalloc_allocated_memory();
0054
0055 BOOST_CONTAINER_DECL size_t dlmalloc_chunksize(const void *p);
0056
0057 BOOST_CONTAINER_DECL int dlmalloc_all_deallocated();
0058
0059 BOOST_CONTAINER_DECL boost_cont_malloc_stats_t dlmalloc_malloc_stats();
0060
0061 BOOST_CONTAINER_DECL size_t dlmalloc_in_use_memory();
0062
0063 BOOST_CONTAINER_DECL int dlmalloc_trim(size_t pad);
0064
0065 BOOST_CONTAINER_DECL int dlmalloc_mallopt(int parameter_number, int parameter_value);
0066
0067 BOOST_CONTAINER_DECL int dlmalloc_grow(void* oldmem, size_t minbytes, size_t maxbytes, size_t *received);
0068
0069 BOOST_CONTAINER_DECL int dlmalloc_shrink(void* oldmem, size_t minbytes, size_t maxbytes, size_t *received, int do_commit);
0070
0071 BOOST_CONTAINER_DECL void* dlmalloc_alloc(size_t minbytes, size_t preferred_bytes, size_t *received_bytes);
0072
0073 BOOST_CONTAINER_DECL int dlmalloc_malloc_check();
0074
0075 BOOST_CONTAINER_DECL boost_cont_command_ret_t dlmalloc_allocation_command
0076 ( allocation_type command
0077 , size_t sizeof_object
0078 , size_t limit_objects
0079 , size_t preferred_objects
0080 , size_t *received_objects
0081 , void *reuse_ptr
0082 );
0083
0084 BOOST_CONTAINER_DECL int dlmalloc_mallopt(int param_number, int value);
0085
0086 BOOST_CONTAINER_DECL void *dlmalloc_sync_create();
0087
0088 BOOST_CONTAINER_DECL void dlmalloc_sync_destroy(void *sync);
0089
0090 BOOST_CONTAINER_DECL bool dlmalloc_sync_lock(void *sync);
0091
0092 BOOST_CONTAINER_DECL void dlmalloc_sync_unlock(void *sync);
0093
0094 BOOST_CONTAINER_DECL bool dlmalloc_global_sync_lock();
0095
0096 BOOST_CONTAINER_DECL void dlmalloc_global_sync_unlock();
0097
0098 }
0099 }
0100
0101 #include <boost/container/detail/config_end.hpp>
0102
0103 #endif