rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes
BigBufferHandle Class Reference

#include <big_buffer.h>

Collaboration diagram for BigBufferHandle:
Collaboration graph
[legend]

Public Member Functions

 BigBufferHandle ()=default
 
 BigBufferHandle (void *buffer, BigBufferUser user)
 
 ~BigBufferHandle ()
 
 BigBufferHandle (BigBufferHandle &&other)
 
BigBufferHandleoperator= (BigBufferHandle &&)
 
constexpr operator bool () const
 
template<class TBuffer >
const TBuffer * get () const
 
template<class TBuffer >
TBuffer * get ()
 
size_t size () const
 

Private Attributes

void * m_bufferPtr = nullptr
 
BigBufferUser m_user = BigBufferUser::None
 

Detailed Description

Definition at line 18 of file big_buffer.h.

Constructor & Destructor Documentation

◆ BigBufferHandle() [1/3]

BigBufferHandle::BigBufferHandle ( )
default

◆ BigBufferHandle() [2/3]

BigBufferHandle::BigBufferHandle ( void *  buffer,
BigBufferUser  user 
)

Definition at line 25 of file big_buffer.cpp.

27 , m_user(user)
28{
29}
BigBufferUser m_user
Definition big_buffer.h:49
void * m_bufferPtr
Definition big_buffer.h:48
static BigBufferHandle buffer

◆ ~BigBufferHandle()

BigBufferHandle::~BigBufferHandle ( )

Definition at line 55 of file big_buffer.cpp.

55 {
56 if (m_bufferPtr) {
58 }
59}
static void releaseBuffer(void *bufferPtr, BigBufferUser user)
Here is the call graph for this function:

◆ BigBufferHandle() [3/3]

BigBufferHandle::BigBufferHandle ( BigBufferHandle &&  other)

Definition at line 31 of file big_buffer.cpp.

31 {
32 // swap contents of the two objects
34 other.m_bufferPtr = nullptr;
35
36 m_user = other.m_user;
38}

Member Function Documentation

◆ get() [1/2]

template<class TBuffer >
TBuffer * BigBufferHandle::get ( )
inline

Definition at line 39 of file big_buffer.h.

39 {
40 return reinterpret_cast<TBuffer*>(m_bufferPtr);
41 }

◆ get() [2/2]

template<class TBuffer >
const TBuffer * BigBufferHandle::get ( ) const
inline

Definition at line 34 of file big_buffer.h.

34 {
35 return reinterpret_cast<TBuffer*>(m_bufferPtr);
36 }

Referenced by TunerStudio::handleCrcCommand(), perfEventImpl(), and startSampling().

Here is the caller graph for this function:

◆ operator bool()

constexpr BigBufferHandle::operator bool ( ) const
inlineexplicitconstexpr

Definition at line 29 of file big_buffer.h.

29 {
30 return m_bufferPtr != nullptr;
31 }

◆ operator=()

BigBufferHandle & BigBufferHandle::operator= ( BigBufferHandle &&  other)

Definition at line 40 of file big_buffer.cpp.

40 {
41 if (this != &other) {
42 if (m_bufferPtr) {
44 }
45 // swap contents of the two objects
47 other.m_bufferPtr = nullptr;
48
49 m_user = other.m_user;
51 }
52 return *this;
53}
Here is the call graph for this function:

◆ size()

size_t BigBufferHandle::size ( ) const
inline

Definition at line 43 of file big_buffer.h.

43 {
44 return BIG_BUFFER_SIZE;
45 }

Referenced by TunerStudio::handleCrcCommand().

Here is the caller graph for this function:

Field Documentation

◆ m_bufferPtr

void* BigBufferHandle::m_bufferPtr = nullptr
private

Definition at line 48 of file big_buffer.h.

Referenced by BigBufferHandle(), get(), get(), operator bool(), operator=(), and ~BigBufferHandle().

◆ m_user

BigBufferUser BigBufferHandle::m_user = BigBufferUser::None
private

Definition at line 49 of file big_buffer.h.

Referenced by BigBufferHandle(), operator=(), and ~BigBufferHandle().


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