Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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::experimental::pmr::monotonic_buffer_resource::do_allocate

Synopsis
	  virtual void*	do_allocate(std::size_t	bytes, std::size_t    (library
       fundamentals 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 implementa-
       tion-defined
	  growth  factor  (which  is not necessarily integral),	and then allo-
       cates 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  re-
       source throws.

See also
	  allocate    allocates	memory
		      (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)

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::pmr::monotonic_buffer_resource::do_allocate&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help