libcamera v0.2.0+3-70b69666-nvm
Supporting cameras in Linux since 2019
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
libcamera::SharedMemObject< T > Class Template Reference

Helper class for shared memory allocations. More...

#include <shared_mem_object.h>

Public Member Functions

template<class... Args>
 SharedMemObject (const std::string &name, Args &&...args)
 Contstructor for the SharedMemObject.
 
 SharedMemObject (SharedMemObject< T > &&rhs)
 Move constructor for SharedMemObject.
 
SharedMemObject< T > & operator= (SharedMemObject< T > &&rhs)
 Operator= for SharedMemObject.
 
T * operator-> ()
 Operator-> for SharedMemObject.
 
const T * operator-> () const
 Operator-> for SharedMemObject.
 
T & operator* ()
 Operator* for SharedMemObject.
 
const T & operator* () const
 Operator* for SharedMemObject.
 
const SharedFDfd () const
 Gets the file descriptor for the underlaying storage file.
 
 operator bool () const
 Operator bool() for SharedMemObject.
 

Static Public Attributes

static constexpr std::size_t SIZE = sizeof(T)
 The size of the object that is going to be stored here.
 

Detailed Description

template<class T>
class libcamera::SharedMemObject< T >

Helper class for shared memory allocations.

Takes a template T which is used to indicate the data type of the object stored.

Constructor & Destructor Documentation

◆ SharedMemObject() [1/2]

template<class T >
template<class... Args>
libcamera::SharedMemObject< T >::SharedMemObject ( const std::string &  name,
Args &&...  args 
)
inline

Contstructor for the SharedMemObject.

Parameters
[in]nameThe requested name.
[in]argsAny additional args.

◆ SharedMemObject() [2/2]

template<class T >
libcamera::SharedMemObject< T >::SharedMemObject ( SharedMemObject< T > &&  rhs)
inline

Move constructor for SharedMemObject.

Parameters
[in]rhsThe object to move.

Member Function Documentation

◆ fd()

template<class T >
const SharedFD & libcamera::SharedMemObject< T >::fd ( ) const
inline

Gets the file descriptor for the underlaying storage file.

Returns
the file descriptor.

◆ operator bool()

template<class T >
libcamera::SharedMemObject< T >::operator bool ( ) const
inlineexplicit

Operator bool() for SharedMemObject.

Returns
true if the object is not null, false otherwise.

◆ operator*() [1/2]

template<class T >
T & libcamera::SharedMemObject< T >::operator* ( )
inline

Operator* for SharedMemObject.

Returns
the object.

◆ operator*() [2/2]

template<class T >
const T & libcamera::SharedMemObject< T >::operator* ( ) const
inline

Operator* for SharedMemObject.

Returns
the object.

◆ operator->() [1/2]

template<class T >
T * libcamera::SharedMemObject< T >::operator-> ( )
inline

Operator-> for SharedMemObject.

Returns
the object.

◆ operator->() [2/2]

template<class T >
const T * libcamera::SharedMemObject< T >::operator-> ( ) const
inline

Operator-> for SharedMemObject.

Returns
the object.

◆ operator=()

template<class T >
SharedMemObject< T > & libcamera::SharedMemObject< T >::operator= ( SharedMemObject< T > &&  rhs)
inline

Operator= for SharedMemObject.

Parameters
[in]rhsThe SharedMemObject object to take the data from.

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