RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::BitVacuumer< Derived_, OutputIterator_ > Class Template Reference

#include "bitstreams/BitVacuumer.h"

Inheritance diagram for rawspeed::BitVacuumer< Derived_, OutputIterator_ >:
[legend]
Collaboration diagram for rawspeed::BitVacuumer< Derived_, OutputIterator_ >:
[legend]

Public Types

using Traits = BitVacuumerTraits<Derived_>
using StreamTraits = BitStreamTraits<Traits::Tag>
using Cache = typename StreamTraits::StreamFlow
using Derived = Derived_
using cache_type = Cache
using OutputIterator = OutputIterator_
using chunk_type = uint32_t

Public Member Functions

void drainImpl ()
void drain ()
void flush ()
 BitVacuumer ()=delete
 BitVacuumer (const BitVacuumer &)=delete
 BitVacuumer (BitVacuumer &&)=delete
BitVacuumeroperator= (const BitVacuumer &)=delete
BitVacuumeroperator= (BitVacuumer &&)=delete
template<typename U>
requires std::same_as<OutputIterator, std::remove_reference_t<U>>
 BitVacuumer (U &&output_)
 ~BitVacuumer ()
void put (uint32_t bits, int count)

Public Attributes

Cache cache
OutputIterator output
bool flushed = false

Static Public Attributes

static constexpr int chunk_bitwidth = 32

Detailed Description

template<typename Derived_, typename OutputIterator_>
requires std::output_iterator<OutputIterator_, uint8_t>
class rawspeed::BitVacuumer< Derived_, OutputIterator_ >

Definition at line 37 of file BitVacuumer.h.

Member Typedef Documentation

◆ Cache

template<typename Derived_, typename OutputIterator_>
using rawspeed::BitVacuumer< Derived_, OutputIterator_ >::Cache = typename StreamTraits::StreamFlow

Definition at line 42 of file BitVacuumer.h.

◆ cache_type

template<typename Derived_, typename OutputIterator_>
using rawspeed::BitVacuumer< Derived_, OutputIterator_ >::cache_type = Cache

Definition at line 45 of file BitVacuumer.h.

◆ chunk_type

template<typename Derived_, typename OutputIterator_>
using rawspeed::BitVacuumer< Derived_, OutputIterator_ >::chunk_type = uint32_t

Definition at line 54 of file BitVacuumer.h.

◆ Derived

template<typename Derived_, typename OutputIterator_>
using rawspeed::BitVacuumer< Derived_, OutputIterator_ >::Derived = Derived_

Definition at line 44 of file BitVacuumer.h.

◆ OutputIterator

template<typename Derived_, typename OutputIterator_>
using rawspeed::BitVacuumer< Derived_, OutputIterator_ >::OutputIterator = OutputIterator_

Definition at line 46 of file BitVacuumer.h.

◆ StreamTraits

template<typename Derived_, typename OutputIterator_>
using rawspeed::BitVacuumer< Derived_, OutputIterator_ >::StreamTraits = BitStreamTraits<Traits::Tag>

Definition at line 40 of file BitVacuumer.h.

◆ Traits

template<typename Derived_, typename OutputIterator_>
using rawspeed::BitVacuumer< Derived_, OutputIterator_ >::Traits = BitVacuumerTraits<Derived_>

Definition at line 39 of file BitVacuumer.h.

Constructor & Destructor Documentation

◆ BitVacuumer() [1/4]

template<typename Derived_, typename OutputIterator_>
rawspeed::BitVacuumer< Derived_, OutputIterator_ >::BitVacuumer ( )
delete

◆ BitVacuumer() [2/4]

template<typename Derived_, typename OutputIterator_>
rawspeed::BitVacuumer< Derived_, OutputIterator_ >::BitVacuumer ( const BitVacuumer< Derived_, OutputIterator_ > & )
delete

◆ BitVacuumer() [3/4]

template<typename Derived_, typename OutputIterator_>
rawspeed::BitVacuumer< Derived_, OutputIterator_ >::BitVacuumer ( BitVacuumer< Derived_, OutputIterator_ > && )
delete

◆ BitVacuumer() [4/4]

template<typename Derived_, typename OutputIterator_>
template<typename U>
requires std::same_as<OutputIterator, std::remove_reference_t<U>>
rawspeed::BitVacuumer< Derived_, OutputIterator_ >::BitVacuumer ( U && output_)
inlineexplicit

Definition at line 117 of file BitVacuumer.h.

◆ ~BitVacuumer()

template<typename Derived_, typename OutputIterator_>
rawspeed::BitVacuumer< Derived_, OutputIterator_ >::~BitVacuumer ( )
inline

Definition at line 119 of file BitVacuumer.h.

Member Function Documentation

◆ drain()

template<typename Derived_, typename OutputIterator_>
void rawspeed::BitVacuumer< Derived_, OutputIterator_ >::drain ( )
inline

Definition at line 80 of file BitVacuumer.h.

Referenced by rawspeed::BitVacuumer< BitVacuumerJPEG< OutputIterator >, OutputIterator >::flush(), and rawspeed::BitVacuumer< BitVacuumerJPEG< OutputIterator >, OutputIterator >::put().

Here is the caller graph for this function:

◆ drainImpl()

template<typename Derived_, typename OutputIterator_>
void rawspeed::BitVacuumer< Derived_, OutputIterator_ >::drainImpl ( )
inline

Definition at line 57 of file BitVacuumer.h.

Referenced by rawspeed::BitVacuumer< BitVacuumerJPEG< OutputIterator >, OutputIterator >::drain().

Here is the caller graph for this function:

◆ flush()

template<typename Derived_, typename OutputIterator_>
void rawspeed::BitVacuumer< Derived_, OutputIterator_ >::flush ( )
inline

Definition at line 90 of file BitVacuumer.h.

Referenced by rawspeed::BitVacuumer< BitVacuumerJPEG< OutputIterator >, OutputIterator >::~BitVacuumer().

Here is the caller graph for this function:

◆ operator=() [1/2]

template<typename Derived_, typename OutputIterator_>
BitVacuumer & rawspeed::BitVacuumer< Derived_, OutputIterator_ >::operator= ( BitVacuumer< Derived_, OutputIterator_ > && )
delete

◆ operator=() [2/2]

template<typename Derived_, typename OutputIterator_>
BitVacuumer & rawspeed::BitVacuumer< Derived_, OutputIterator_ >::operator= ( const BitVacuumer< Derived_, OutputIterator_ > & )
delete

◆ put()

template<typename Derived_, typename OutputIterator_>
void rawspeed::BitVacuumer< Derived_, OutputIterator_ >::put ( uint32_t bits,
int count )
inline

Member Data Documentation

◆ cache

template<typename Derived_, typename OutputIterator_>
Cache rawspeed::BitVacuumer< Derived_, OutputIterator_ >::cache

Definition at line 48 of file BitVacuumer.h.

◆ chunk_bitwidth

template<typename Derived_, typename OutputIterator_>
int rawspeed::BitVacuumer< Derived_, OutputIterator_ >::chunk_bitwidth = 32
staticconstexpr

Definition at line 55 of file BitVacuumer.h.

◆ flushed

template<typename Derived_, typename OutputIterator_>
bool rawspeed::BitVacuumer< Derived_, OutputIterator_ >::flushed = false

Definition at line 52 of file BitVacuumer.h.

◆ output

template<typename Derived_, typename OutputIterator_>
OutputIterator rawspeed::BitVacuumer< Derived_, OutputIterator_ >::output

Definition at line 50 of file BitVacuumer.h.


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