openMSX
Classes | Namespaces | Macros | Functions
AlignedBuffer.hh File Reference
#include "alignof.hh"
#include <type_traits>
#include <cassert>
#include <cstdint>
#include <cstddef>
Include dependency graph for AlignedBuffer.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openmsx::AlignedBuffer
 
class  openmsx::AlignedByteArray< N >
 

Namespaces

 openmsx
 Thanks to enen for testing this on a real cartridge:
 

Macros

#define MAX_ALIGN_V   8
 

Functions

class openmsx::AlignedBuffer openmsx::__aligned__ ((MAX_ALIGN_V))))
 
 operator uint8_t * ()
 
 operator const uint8_t * () const
 
uint8_t * operator+ (ptrdiff_t i)
 
uint8_t & operator[] (int i)
 
uint8_t & operator[] (unsigned int i)
 
uint8_t & operator[] (long i)
 
uint8_t & operator[] (unsigned long i)
 
size_t size () const
 
uint8_t * data ()
 

Macro Definition Documentation

◆ MAX_ALIGN_V

#define MAX_ALIGN_V   8

Definition at line 25 of file AlignedBuffer.hh.

Referenced by openmsx::AlignedBuffer::operator[]().

Function Documentation

◆ data()

const uint8_t * data ( )

Definition at line 99 of file AlignedBuffer.hh.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel(), openmsx::V9990P2Converter< Pixel >::convertLine(), openmsx::V9990P1Converter< Pixel >::convertLine(), openmsx::BitmapConverter< Pixel >::convertLinePlanar(), openmsx::VDPVRAM::cpuRead(), openmsx::LastDeltaBlocks::createNew(), openmsx::LastDeltaBlocks::createNullDiff(), openmsx::DeltaBlockCopy::DeltaBlockCopy(), openmsx::DeltaBlockDiff::DeltaBlockDiff(), openmsx::SettingsManager::findSetting(), openmsx::RawFrame::getBorderInfo(), openmsx::V9990CmdEngine::getBorderX(), openmsx::XMLElement::getData(), openmsx::ImagePrinterMSX::getDescription(), openmsx::FilePool::getFile(), openmsx::RawTrack::getIdamBuffer(), openmsx::RawTrack::getLength(), openmsx::RawFrame::getLinePtrDirect(), openmsx::RawTrack::getRawBuffer(), openmsx::VRAMWindow::getReadArea(), openmsx::VRAMWindow::getReadAreaPlanar(), snappy::EightBytesReference< 8 >::getUint32AtOffset(), openmsx::GZFileAdapter::GZFileAdapter(), openmsx::XMLElement::hasChildren(), openmsx::OutputBuffer::insert(), openmsx::OutputBuffer::insertAt(), openmsx::MemInputArchive::loadChar(), openmsx::SocketConnection::output(), openmsx::OutputBuffer::OutputBuffer(), openmsx::ImagePrinter::printGraphicByte(), openmsx::RawTrack::read(), openmsx::SensorKid::readIO(), openmsx::VRAMWindow::readNP(), openmsx::VRAMWindow::readPlanar(), openmsx::Y8950::reset(), openmsx::MemOutputArchive::saveChar(), openmsx::SettingsConfig::saveSetting(), openmsx::OutputArchiveBase< MemOutputArchive >::serialize_blob(), openmsx::OutputArchiveBase< MemOutputArchive >::serializeWithID(), openmsx::InputArchiveBase< XmlInputArchive >::serializeWithID(), snappy::EightBytesReference< 8 >::setAddress(), openmsx::VDPVRAM::setCmdEngine(), openmsx::AviWriter::setFps(), openmsx::MidiInReader::signal(), openmsx::GLPostProcessor::update(), openmsx::V9990BitmapConverter< Pixel >::V9990BitmapConverter(), openmsx::RawTrack::wrapIndex(), openmsx::NowindHost::write(), openmsx::ImagePrinter::write(), openmsx::PrinterPortLogger::writeData(), openmsx::VLM5030::writeData(), openmsx::PrinterCore::writeData(), openmsx::Y8950Adpcm::writeReg(), openmsx::YMF278::writeReg(), openmsx::Y8950::writeReg(), openmsx::XMLElement::XMLElement(), openmsx::ZipFileAdapter::ZipFileAdapter(), openmsx::AviWriter::~AviWriter(), openmsx::Frame::~Frame(), and openmsx::MSXtar::~MSXtar().

◆ operator const uint8_t *()

__aligned__::operator const uint8_t * ( ) const

Definition at line 79 of file AlignedBuffer.hh.

◆ operator uint8_t *()

__aligned__::operator uint8_t * ( )

Definition at line 78 of file AlignedBuffer.hh.

◆ operator+()

const uint8_t * operator+ ( ptrdiff_t  i)

Definition at line 81 of file AlignedBuffer.hh.

◆ operator[]() [1/4]

const uint8_t & operator[] ( int  i)

Definition at line 84 of file AlignedBuffer.hh.

◆ operator[]() [2/4]

const uint8_t & operator[] ( unsigned int  i)

Definition at line 86 of file AlignedBuffer.hh.

◆ operator[]() [3/4]

const uint8_t & operator[] ( long  i)

Definition at line 88 of file AlignedBuffer.hh.

◆ operator[]() [4/4]

const uint8_t & operator[] ( unsigned long  i)

Definition at line 90 of file AlignedBuffer.hh.

◆ size()

size_t __aligned__::size ( ) const

Definition at line 98 of file AlignedBuffer.hh.

Referenced by openmsx::StretchScalerOutputBase< Pixel >::acquireLine(), openmsx::AviWriter::addFrame(), openmsx::DeltaBlockCopy::apply(), circular_buffer< std::unique_ptr< openmsx::Frame > >::clear(), openmsx::DeltaBlockCopy::compress(), openmsx::LastDeltaBlocks::createNew(), openmsx::LastDeltaBlocks::createNullDiff(), openmsx::DeltaBlockCopy::DeltaBlockCopy(), openmsx::DeltaBlockDiff::DeltaBlockDiff(), openmsx::MSXMultiMemDevice::empty(), circular_buffer< std::unique_ptr< openmsx::Frame > >::empty(), openmsx::IDECDROM::executeCommand(), openmsx::CasImage::fillBuffer(), openmsx::SettingsManager::findSetting(), openmsx::WavWriter::flush(), circular_buffer< std::unique_ptr< openmsx::Frame > >::full(), openmsx::OggReader::getAudio(), openmsx::OSDWidget::getChildren(), openmsx::FilePool::getFile(), openmsx::MSXDevice::getHardwareConfig(), openmsx::RawTrack::getIdamBuffer(), openmsx::HD::getMotherBoard(), openmsx::Debugger::getMotherBoard(), openmsx::DummyOutputRectangle::getOutputSize(), openmsx::MSXDevice::getPluggingController(), openmsx::OutputBuffer::getPosition(), openmsx::MegaFlashRomSCCPlusSD::getWriteCacheLine(), openmsx::GZFileAdapter::GZFileAdapter(), openmsx::File::is_open(), openmsx::XMLLoader::load(), openmsx::LocalFileReference::LocalFileReference(), openmsx::SRAM::memset(), openmsx::FileBase::mmap(), openmsx::MSXKanji::MSXKanji(), openmsx::MSXKanji12::MSXKanji12(), openmsx::MSXSCCPlusCart::MSXSCCPlusCart(), openmsx::TigerTree::notifyChange(), openmsx::Scale_1on2< Pixel >::operator()(), openmsx::CollectionSaver< TC >::operator()(), openmsx::CollectionLoader< TC >::operator()(), openmsx::OSDWidget::paintGLRecursive(), openmsx::OSDWidget::paintSDLRecursive(), openmsx::Ram::Ram(), openmsx::RawTrack::readBlock(), openmsx::MSXMixer::reInit(), circular_buffer< std::unique_ptr< openmsx::Frame > >::reserve(), openmsx::SpriteChecker::reset(), openmsx::MemBuffer< char, SSE2_ALIGNMENT >::resize(), openmsx::RomAscii16_2::RomAscii16_2(), openmsx::RomAscii8_8::RomAscii8_8(), openmsx::MemOutputArchive::save(), openmsx::SCSIHD::SCSIHD(), openmsx::SDLImage::SDLImage(), openmsx::SDLOffScreenSurface::SDLOffScreenSurface(), SDLSurfacePtr::SDLSurfacePtr(), openmsx::Ram::serialize(), circular_buffer< std::unique_ptr< openmsx::Frame > >::set_capacity(), openmsx::RomBlocks< BANK_SIZE_ >::setBlockMask(), openmsx::RomBlocks< BANK_SIZE_ >::setExtraMemory(), openmsx::AviWriter::setFps(), openmsx::CPUCore< openmsx::Z80TYPE >::setInterface(), openmsx::ReverseManager::setReRecordCount(), openmsx::Debugger::transfer(), openmsx::UnicodeKeymap::UnicodeKeymap(), openmsx::MSXCPUInterface::unwrap_IO_Out(), openmsx::CRC16::update(), openmsx::RawTrack::updateCrc(), openmsx::LocalFile::write(), openmsx::RawTrack::writeBlock(), openmsx::XSAExtractor::XSAExtractor(), openmsx::ZipFileAdapter::ZipFileAdapter(), openmsx::AviWriter::~AviWriter(), openmsx::MSXMultiMemDevice::~MSXMultiMemDevice(), openmsx::OSDConsoleRenderer::~OSDConsoleRenderer(), openmsx::PreCacheFile::~PreCacheFile(), openmsx::SCSILS120::~SCSILS120(), and openmsx::Touchpad::~Touchpad().