home | help
std::experi...do_allocate(3)   C++ Standard Libary  std::experi...do_allocate(3)

NAME
     std::experimental::pmr::monotonic_buffer_resource::do_allocate  -	std::ex-
     perimental::pmr::monotonic_buffer_resource::do_allocate

Synopsis
	virtual void* do_allocate( std::size_t bytes, std::size_t  (library fun-
     damentals TS)
	alignment );

	Allocates storage.

	If the current buffer has sufficient unused space to fit  a  block  with
     the specified
	size and alignment, allocates the return block from the current buffer.

	Otherwise, this function allocates a new buffer by calling
	upstream_resource()->allocate(n,  m),  where  n  is  not  less	than the
     greater of bytes
	and the next buffer size and m is not less than alignment. It  sets  the
     new buffer as
	the current buffer, increases the next buffer size by an implementation-
     defined
	growth	factor	(which	is not necessarily integral), and then allocates
     the return
	block from the newly allocated buffer.

Return value
	A pointer to allocated storage of at least bytes bytes in size,  aligned
     to the
	specified  alignment  if  such	alignment  is  supported,  and	to alig-
     nof(std::max_align_t)
	otherwise.

Exceptions
	Throws nothing unless calling allocate() on the upstream memory resource
     throws.

See also
		    allocates memory
	allocate     (public  member  function	of  std::experimental::pmr::mem-
     ory_resource)

	do_allocate allocates memory
	[virtual]   (virtual protected member function of
		    std::experimental::pmr::memory_resource)

Category:
	  * Noindexed pages

http://cppreference.com 	   2024.06.10	    std::experi...do_allocate(3)

home | help