# tflite::Allocation

This is an abstract class.
`#include <allocation.h>`

A memory allocation handle. This could be a mmap or shared memory.

## Summary

### Inheritance

Direct Known Subclasses:tflite::FileCopyAllocation, tflite::MemoryAllocation, tflite::MMAPAllocation

### Constructors and Destructors
`~Allocation()`

### Public types
`Type` | enum

### Protected attributes
`error_reporter_` | `ErrorReporter *`

### Public functions
`base() const =0` | `virtual const void *` Base pointer of this allocation.
`bytes() const =0` | `virtual size_t` Size in bytes of the allocation.
`type() const` | `Type` Return the type of the Allocation.
`valid() const =0` | `virtual bool` Whether the allocation is valid.

### Protected functions
`Allocation(ErrorReporter *error_reporter, Type type)` | ``

## Public types

### Type

     Type

## Protected attributes

### error_reporter_

    ErrorReporter * error_reporter_

## Public functions

### base

    virtual const void * base() const =0

Base pointer of this allocation.

### bytes

    virtual size_t bytes() const =0

Size in bytes of the allocation.

### type

    Type type() const

Return the type of the Allocation.

### valid

    virtual bool valid() const =0

Whether the allocation is valid.

### ~Allocation

    virtual  ~Allocation()

## Protected functions

### Allocation

     Allocation(
      ErrorReporter *error_reporter,
      Type type
    )