12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #ifndef BOOST_CONTAINER_USES_ALLOCATOR_FWD_HPP
- #define BOOST_CONTAINER_USES_ALLOCATOR_FWD_HPP
- #include <boost/container/detail/workaround.hpp>
- #include <boost/container/detail/std_fwd.hpp>
- namespace boost {
- namespace container {
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- template <int Dummy = 0>
- struct std_allocator_arg_holder
- {
- static ::std::allocator_arg_t *dummy;
- };
- template <int Dummy>
- ::std::allocator_arg_t *std_allocator_arg_holder<Dummy>::dummy = reinterpret_cast< ::std::allocator_arg_t * >(0x1234);
- typedef const std::allocator_arg_t & allocator_arg_t;
- #else
- typedef unspecified allocator_arg_t;
- #endif
- struct erased_type {};
- static allocator_arg_t allocator_arg = BOOST_CONTAINER_DOC1ST(unspecified, *std_allocator_arg_holder<>::dummy);
- template <class T>
- struct constructible_with_allocator_suffix;
- template <class T>
- struct constructible_with_allocator_prefix;
- template <typename T, typename Allocator>
- struct uses_allocator;
- }}
- #endif
|