uvgVPCCenc 1.0.0
uvgVPCCenc is an open-source real-time V-PCC encoder library written in C++ from scratch.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
uvgvpcc_enc::Job Class Reference

#include <threadqueue.hpp>

Inheritance diagram for uvgvpcc_enc::Job:
Collaboration diagram for uvgvpcc_enc::Job:

Public Types

using JobFunction = std::function< void()>
 

Public Member Functions

template<typename Func , typename... Args>
 Job (const std::string &name, const size_t &priority, Func &&func, Args &&... args)
 
void executeTimer () const
 
void executeNoTimer () const
 
void execute ()
 
void addDependency (const std::shared_ptr< Job > &dependency)
 
bool isReady () const
 
void wait ()
 
void complete ()
 
std::string getName () const
 
threadqueue_job_state getState () const
 
void setState (const threadqueue_job_state &state)
 

Static Public Member Functions

static void setExecutionMethod (bool useTimer)
 

Public Attributes

std::mutex mtx_
 
std::vector< std::shared_ptr< Job > > reverseDependencies_
 
std::string name_
 
JobFunction func_
 
threadqueue_job_state state_
 
std::atomic< int > dependencies_
 
std::atomic< size_t > priority
 

Member Typedef Documentation

◆ JobFunction

using uvgvpcc_enc::Job::JobFunction = std::function<void()>

Constructor & Destructor Documentation

◆ Job()

template<typename Func , typename... Args>
uvgvpcc_enc::Job::Job ( const std::string &  name,
const size_t &  priority,
Func &&  func,
Args &&...  args 
)
inline

Member Function Documentation

◆ addDependency()

void uvgvpcc_enc::Job::addDependency ( const std::shared_ptr< Job > &  dependency)
Here is the call graph for this function:

◆ complete()

void uvgvpcc_enc::Job::complete ( )

◆ execute()

void uvgvpcc_enc::Job::execute ( )
inline

◆ executeNoTimer()

void uvgvpcc_enc::Job::executeNoTimer ( ) const
Here is the caller graph for this function:

◆ executeTimer()

void uvgvpcc_enc::Job::executeTimer ( ) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getName()

std::string uvgvpcc_enc::Job::getName ( ) const
inline
Here is the caller graph for this function:

◆ getState()

threadqueue_job_state uvgvpcc_enc::Job::getState ( ) const
inline

◆ isReady()

bool uvgvpcc_enc::Job::isReady ( ) const

◆ setExecutionMethod()

static void uvgvpcc_enc::Job::setExecutionMethod ( bool  useTimer)
inlinestatic
Here is the call graph for this function:

◆ setState()

void uvgvpcc_enc::Job::setState ( const threadqueue_job_state state)
inline

◆ wait()

void uvgvpcc_enc::Job::wait ( )
Here is the call graph for this function:

Member Data Documentation

◆ dependencies_

std::atomic<int> uvgvpcc_enc::Job::dependencies_

◆ func_

JobFunction uvgvpcc_enc::Job::func_

◆ mtx_

std::mutex uvgvpcc_enc::Job::mtx_
mutable

◆ name_

std::string uvgvpcc_enc::Job::name_

◆ priority

std::atomic<size_t> uvgvpcc_enc::Job::priority

◆ reverseDependencies_

std::vector<std::shared_ptr<Job> > uvgvpcc_enc::Job::reverseDependencies_

◆ state_

threadqueue_job_state uvgvpcc_enc::Job::state_

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