<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crypto++: trdlocal.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.7 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> <h1>trdlocal.h</h1><pre class="fragment"><div>00001 <span class="preprocessor">#ifndef CRYPTOPP_TRDLOCAL_H</span> 00002 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_TRDLOCAL_H</span> 00003 <span class="preprocessor"></span> 00004 <span class="preprocessor">#include "config.h"</span> 00005 00006 <span class="preprocessor">#ifdef THREADS_AVAILABLE</span> 00007 <span class="preprocessor"></span> 00008 <span class="preprocessor">#include "misc.h"</span> 00009 00010 <span class="preprocessor">#ifdef HAS_WINTHREADS</span> 00011 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ThreadLocalIndexType; 00012 <span class="preprocessor">#else</span> 00013 <span class="preprocessor"></span><span class="preprocessor">#include <pthread.h></span> 00014 <span class="keyword">typedef</span> pthread_key_t ThreadLocalIndexType; 00015 <span class="preprocessor">#endif</span> 00016 <span class="preprocessor"></span> 00017 NAMESPACE_BEGIN(CryptoPP) 00018 00019 <span class="comment">//! thread local storage</span> <a name="l00020"></a><a class="code" href="class_thread_local_storage.html">00020</a> <span class="comment"></span>class CRYPTOPP_DLL <a class="code" href="class_thread_local_storage.html">ThreadLocalStorage</a> : public NotCopyable 00021 { 00022 <span class="keyword">public</span>:<span class="comment"></span> 00023 <span class="comment"> //! exception thrown by ThreadLocalStorage class</span> <a name="l00024"></a><a class="code" href="class_thread_local_storage_1_1_err.html">00024</a> <span class="comment"></span> <span class="keyword">class </span><a class="code" href="class_thread_local_storage_1_1_err.html">Err</a> : <span class="keyword">public</span> <a class="code" href="class_o_s___error.html">OS_Error</a> 00025 { 00026 <span class="keyword">public</span>: 00027 <a class="code" href="class_thread_local_storage_1_1_err.html">Err</a>(<span class="keyword">const</span> std::string& operation, <span class="keywordtype">int</span> error); 00028 }; 00029 00030 <a class="code" href="class_thread_local_storage.html">ThreadLocalStorage</a>(); 00031 ~<a class="code" href="class_thread_local_storage.html">ThreadLocalStorage</a>(); 00032 00033 <span class="keywordtype">void</span> SetValue(<span class="keywordtype">void</span> *value); 00034 <span class="keywordtype">void</span> *GetValue() const; 00035 00036 private: 00037 ThreadLocalIndexType m_index; 00038 }; 00039 00040 NAMESPACE_END 00041 00042 #endif <span class="comment">// #ifdef THREADS_AVAILABLE</span> 00043 00044 #endif </div></pre><hr size="1"><address style="align: right;"><small>Generated on Sun Nov 7 08:23:59 2004 for Crypto++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address> </body> </html>