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 | 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 (std::string name, size_t priority, Func &&func, Args &&... args)
 
void execute () const
 
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 (threadqueue_job_state state)
 

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 ( std::string  name,
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 ( ) const

◆ 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

◆ setState()

void uvgvpcc_enc::Job::setState ( 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: