namespace detail { template<typename impl_type, typename size_type, bool has_null_state> struct basic_inplace; template<typename T = void> struct inplace_allocator; template<typename impl_type, typename storage_type> struct local_traits; template<typename impl_type, typename storage_type> struct static_traits; }namespace impl_ptr_policy { template<size_t s, size_t a = std::size_t(-1)> struct storage; typedef detail::basic_inplace< impl_type, size_type, true > inplace; typedef detail::basic_inplace< impl_type, size_type, false > always_inplace; }