Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::RPageAllocator Class Referenceabstract

Abstract interface to allocate and release pages.

The page allocator acquires and releases memory for pages. It does not load the page data, the returned pages are empty but guaranteed to have enough contiguous space for the given number of elements. The page allocator must be thread-safe.

Definition at line 40 of file RPageAllocator.hxx.

Public Member Functions

virtual ~RPageAllocator ()=default
 
virtual RPage NewPage (ColumnId_t columnId, std::size_t elementSize, std::size_t nElements)=0
 Reserves memory large enough to hold nElements of the given size.
 

Protected Member Functions

virtual void DeletePage (RPage &page)=0
 Releases the memory pointed to by page and resets the page's information.
 

Friends

class RPage
 

#include <ROOT/RPageAllocator.hxx>

Inheritance diagram for ROOT::Experimental::Internal::RPageAllocator:
[legend]

Constructor & Destructor Documentation

◆ ~RPageAllocator()

virtual ROOT::Experimental::Internal::RPageAllocator::~RPageAllocator ( )
virtualdefault

Member Function Documentation

◆ DeletePage()

virtual void ROOT::Experimental::Internal::RPageAllocator::DeletePage ( RPage page)
protectedpure virtual

Releases the memory pointed to by page and resets the page's information.

Note that the memory of the zero page must not be deleted. Called by the RPage destructor.

Implemented in ROOT::Experimental::Internal::RPageAllocatorHeap.

◆ NewPage()

virtual RPage ROOT::Experimental::Internal::RPageAllocator::NewPage ( ColumnId_t  columnId,
std::size_t  elementSize,
std::size_t  nElements 
)
pure virtual

Reserves memory large enough to hold nElements of the given size.

The page is immediately tagged with a column id. Returns a default constructed page on out-of-memory condition.

Implemented in ROOT::Experimental::Internal::RPageAllocatorHeap.

Friends And Related Symbol Documentation

◆ RPage

friend class RPage
friend

Definition at line 41 of file RPageAllocator.hxx.


The documentation for this class was generated from the following file: