ReUseX  0.0.1
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model > Class Template Reference

#include <cpm.hpp>

Collaboration diagram for ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >:

Classes

struct  Item

Public Member Functions

virtual ~Instance ()
void stop ()
virtual std::shared_future< Result > commit (const Input &input)
virtual std::vector< std::shared_future< Result > > commits (const std::vector< Input > &inputs)
template<typename LoadMethod>
bool start (const LoadMethod &loadmethod, int max_items_processed=1, void *stream=nullptr)

Protected Attributes

std::condition_variable cond_
std::queue< Iteminput_queue_
std::mutex queue_lock_
std::shared_ptr< std::thread > worker_
volatile bool run_ = false
volatile int max_items_processed_ = 0
void * stream_ = nullptr

Detailed Description

template<typename Result, typename Input, typename Model>
class ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >

Definition at line 13 of file cpm.hpp.

Constructor & Destructor Documentation

◆ ~Instance()

template<typename Result, typename Input, typename Model>
virtual ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::~Instance ( )
inlinevirtual

Definition at line 29 of file cpm.hpp.

References stop().

Member Function Documentation

◆ commit()

template<typename Result, typename Input, typename Model>
virtual std::shared_future< Result > ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::commit ( const Input & input)
inlinevirtual

◆ commits()

template<typename Result, typename Input, typename Model>
virtual std::vector< std::shared_future< Result > > ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::commits ( const std::vector< Input > & inputs)
inlinevirtual

◆ start()

template<typename Result, typename Input, typename Model>
template<typename LoadMethod>
bool ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::start ( const LoadMethod & loadmethod,
int max_items_processed = 1,
void * stream = nullptr )
inline

Definition at line 80 of file cpm.hpp.

References stop(), and worker_.

◆ stop()

template<typename Result, typename Input, typename Model>
void ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::stop ( )
inline

Definition at line 31 of file cpm.hpp.

References cond_, input_queue_, queue_lock_, run_, and worker_.

Referenced by start(), and ~Instance().

Member Data Documentation

◆ cond_

template<typename Result, typename Input, typename Model>
std::condition_variable ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::cond_
protected

Definition at line 20 of file cpm.hpp.

Referenced by commit(), commits(), and stop().

◆ input_queue_

template<typename Result, typename Input, typename Model>
std::queue<Item> ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::input_queue_
protected

Definition at line 21 of file cpm.hpp.

Referenced by commit(), commits(), and stop().

◆ max_items_processed_

template<typename Result, typename Input, typename Model>
volatile int ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::max_items_processed_ = 0
protected

Definition at line 25 of file cpm.hpp.

◆ queue_lock_

template<typename Result, typename Input, typename Model>
std::mutex ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::queue_lock_
protected

Definition at line 22 of file cpm.hpp.

Referenced by commit(), commits(), and stop().

◆ run_

template<typename Result, typename Input, typename Model>
volatile bool ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::run_ = false
protected

Definition at line 24 of file cpm.hpp.

Referenced by stop().

◆ stream_

template<typename Result, typename Input, typename Model>
void* ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::stream_ = nullptr
protected

Definition at line 26 of file cpm.hpp.

◆ worker_

template<typename Result, typename Input, typename Model>
std::shared_ptr<std::thread> ReUseX::vision::tensor_rt::cpm::Instance< Result, Input, Model >::worker_
protected

Definition at line 23 of file cpm.hpp.

Referenced by start(), and stop().


The documentation for this class was generated from the following file:
  • libs/reusex/include/ReUseX/vision/tensor_rt/common/cpm.hpp