NCBI C++ ToolKit
nw_aligner_threads.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef ALGO___NW_ALIGNER_THREADS__HPP
2 #define ALGO___NW_ALIGNER_THREADS__HPP
3 
4 /* $Id: nw_aligner_threads.hpp 92511 2021-01-26 19:33:13Z grichenk $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Yuri Kapustin
30 *
31 * File Description: CNWAligner thread classes
32 *
33 */
34 
36 #include <corelib/ncbithr.hpp>
37 
39 
40 
42 {
43 public:
44 
46  m_aligner(aligner),
47  m_data(data)
48  {}
49 
50  virtual void* Main();
51  virtual void OnExit();
52 
53 protected:
54 
56 
59 
60  unique_ptr<CException> m_exception;
61 };
62 
63 bool NW_RequestNewThread(const unsigned int max_threads);
64 
65 
67 
68 #endif /* ALGO___NW_ALIGNER_THREADS_HPP */
CNWAlignerThread_Align(CNWAligner *aligner, CNWAligner::SAlignInOut *data)
virtual void OnExit()
Override this to execute finalization code.
unique_ptr< CException > m_exception
CNWAligner::SAlignInOut * m_data
virtual void * Main()
Derived (user-created) class must provide a real thread function.
char data[12]
Definition: iconv.c:80
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
Multi-threading – classes, functions, and features.
bool NW_RequestNewThread(const unsigned int max_threads)
Modified on Wed Sep 04 15:05:57 2024 by modify_doxy.py rev. 669887