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

FreeBSD Manual Pages

  
 
  

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

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

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

home | help