| 
    LLVM 22.0.0git
    
   | 
 
CRTP base class providing obvious overloads for the core Allocate() methods of LLVM-style allocators.  
 More...
#include "llvm/Support/AllocatorBase.h"
Public Member Functions | |
| void * | Allocate (size_t Size, size_t Alignment) | 
| Allocate Size bytes of Alignment aligned memory.   | |
| void | Deallocate (const void *Ptr, size_t Size, size_t Alignment) | 
| Deallocate Ptr to Size bytes of memory allocated by this allocator.   | |
| template<typename T> | |
| T * | Allocate (size_t Num=1) | 
| Allocate space for a sequence of objects without constructing them.   | |
| template<typename T> | |
| std::enable_if_t<!std::is_same_v< std::remove_cv_t< T >, void >, void > | Deallocate (T *Ptr, size_t Num=1) | 
| Deallocate space for a sequence of objects without constructing them.   | |
CRTP base class providing obvious overloads for the core Allocate() methods of LLVM-style allocators. 
This base class both documents the full public interface exposed by all LLVM-style allocators, and redirects all of the overloads to a single core set of methods which the derived class must define.
Definition at line 41 of file AllocatorBase.h.
      
  | 
  inline | 
Allocate space for a sequence of objects without constructing them.
Definition at line 76 of file AllocatorBase.h.
References Allocate(), and T.
      
  | 
  inline | 
Allocate Size bytes of Alignment aligned memory.
This method must be implemented by DerivedT. 
Definition at line 45 of file AllocatorBase.h.
References Allocate(), and Size.
Referenced by Allocate(), and Allocate().
      
  | 
  inline | 
Deallocate Ptr to Size bytes of memory allocated by this allocator.
Definition at line 59 of file AllocatorBase.h.
References Deallocate(), Ptr, and Size.
Referenced by Deallocate(), and Deallocate().
      
  | 
  inline | 
Deallocate space for a sequence of objects without constructing them.
Definition at line 83 of file AllocatorBase.h.
References Deallocate(), Ptr, and T.