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

NAME
     std::pmr::monotonic_buffer_resource::do_allocate	  -    std::pmr::monoto-
     nic_buffer_resource::do_allocate

Synopsis
	virtual void*  do_allocate(  std::size_t  bytes,  std::size_t  alignment
     (since C++17)
	);

	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
	allocate    allocates memory
		    (public member function of std::pmr::memory_resource)
	do_allocate allocates memory
	[virtual]    (virtual  private	member	function of std::pmr::memory_re-
     source)

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

home | help