ddfb6adb98
In my #8489 we want to use boost's small_vector type, but that PR is kinda messy by adding boost and also making a meaningful change. So here I'm splitting out the boost addition to its own PR so that one can be more focused on the allocation improvement and consumption of boost.
59 lines
2 KiB
C++
59 lines
2 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// (C) Copyright Ion Gaztanaga 2005-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.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef BOOST_CONTAINER_ALLOCATION_TYPE_HPP
|
|
#define BOOST_CONTAINER_ALLOCATION_TYPE_HPP
|
|
|
|
#ifndef BOOST_CONFIG_HPP
|
|
# include <boost/config.hpp>
|
|
#endif
|
|
|
|
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
|
# pragma once
|
|
#endif
|
|
|
|
#include <boost/container/detail/config_begin.hpp>
|
|
#include <boost/container/detail/workaround.hpp>
|
|
|
|
namespace boost {
|
|
namespace container {
|
|
|
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
enum allocation_type_v
|
|
{
|
|
// constants for allocation commands
|
|
allocate_new_v = 0x01,
|
|
expand_fwd_v = 0x02,
|
|
expand_bwd_v = 0x04,
|
|
// expand_both = expand_fwd | expand_bwd,
|
|
// expand_or_new = allocate_new | expand_both,
|
|
shrink_in_place_v = 0x08,
|
|
nothrow_allocation_v = 0x10,
|
|
zero_memory_v = 0x20,
|
|
try_shrink_in_place_v = 0x40
|
|
};
|
|
|
|
typedef unsigned int allocation_type;
|
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
static const allocation_type allocate_new = (allocation_type)allocate_new_v;
|
|
static const allocation_type expand_fwd = (allocation_type)expand_fwd_v;
|
|
static const allocation_type expand_bwd = (allocation_type)expand_bwd_v;
|
|
static const allocation_type shrink_in_place = (allocation_type)shrink_in_place_v;
|
|
static const allocation_type try_shrink_in_place= (allocation_type)try_shrink_in_place_v;
|
|
static const allocation_type nothrow_allocation = (allocation_type)nothrow_allocation_v;
|
|
static const allocation_type zero_memory = (allocation_type)zero_memory_v;
|
|
|
|
} //namespace container {
|
|
} //namespace boost {
|
|
|
|
#include <boost/container/detail/config_end.hpp>
|
|
|
|
#endif //BOOST_CONTAINER_ALLOCATION_TYPE_HPP
|