# ADatatype

`ADatatype` is the abstract base for every DepthAI message type. It owns the shared metadata that all messages expose—timestamps,
sequence numbers, and logging identifiers—and provides the interface used by host- and device-side code for cloning and casting
messages. Concrete messages such as [`Buffer`](https://docs.luxonis.com/software-v3/depthai/depthai-components/messages/buffer.md)
and [`ImgFrame`](https://docs.luxonis.com/software-v3/depthai/depthai-components/messages/img_frame.md) derive from `ADatatype`.

## Reference

### dai::ADatatype

Kind: class

Abstract message.

#### std::shared_ptr< Memory > data

Kind: variable

#### ADatatype()

Kind: function

#### ~ADatatype()

Kind: function

#### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

#### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

### Need assistance?

Head over to [Discussion Forum](https://discuss.luxonis.com/) for technical support or any other questions you might have.
