OSDN Git Service

fix build system ofmoflib1 and saisei1
[moflib/moflib.git] / moflib-1.0 / doc / html / linux_2multimedia__timer_8cpp_source.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <title>MotifOfFunctionsLIBrary: /home/yasutomo/devel/moflib/src/mof/util/linux/multimedia_timer.cpp ソースファイル</title>
6 <link href="tabs.css" rel="stylesheet" type="text/css"/>
7 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8 </head>
9 <body>
10 <!-- 作成: Doxygen 1.6.3 -->
11 <div class="navigation" id="top">
12   <div class="tabs">
13     <ul>
14       <li><a href="index.html"><span>メインページ</span></a></li>
15       <li><a href="namespaces.html"><span>ネームスペース</span></a></li>
16       <li><a href="annotated.html"><span>クラス</span></a></li>
17       <li class="current"><a href="files.html"><span>ファイル</span></a></li>
18     </ul>
19   </div>
20   <div class="tabs">
21     <ul>
22       <li><a href="files.html"><span>ファイル一覧</span></a></li>
23       <li><a href="globals.html"><span>ファイルメンバ</span></a></li>
24     </ul>
25   </div>
26 <h1>/home/yasutomo/devel/moflib/src/mof/util/linux/multimedia_timer.cpp</h1><a href="linux_2multimedia__timer_8cpp.html">説明を見る。</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;<a class="code" href="multimedia__timer_8hpp.html">mof/util/multimedia_timer.hpp</a>&gt;</span>
27 <a name="l00002"></a>00002 <span class="preprocessor">#include &lt;ctime&gt;</span>
28 <a name="l00003"></a>00003 
29 <a name="l00004"></a>00004 <span class="keyword">namespace </span>mof
30 <a name="l00005"></a>00005 {
31 <a name="l00006"></a><a class="code" href="namespacemof_1_1util.html">00006</a> <span class="keyword">namespace </span>util
32 <a name="l00007"></a>00007 {
33 <a name="l00008"></a>00008 <span class="comment">//{{{ impl</span>
34 <a name="l00009"></a><a class="code" href="structmof_1_1util_1_1multimedia__timer_1_1impl.html">00009</a>     <span class="keyword">struct </span><a class="code" href="structmof_1_1util_1_1multimedia__timer_1_1impl.html">multimedia_timer::impl</a>
35 <a name="l00010"></a>00010     {
36 <a name="l00011"></a><a class="code" href="structmof_1_1util_1_1multimedia__timer_1_1impl.html#a1c9e74824a301053fa6871c8453b23d1">00011</a>         timespec <a class="code" href="structmof_1_1util_1_1multimedia__timer_1_1impl.html#a1c9e74824a301053fa6871c8453b23d1">prevTime_</a>;
37 <a name="l00012"></a>00012     };
38 <a name="l00013"></a>00013 <span class="comment">//}}}</span>
39 <a name="l00014"></a>00014 <span class="comment">//{{{ constructor</span>
40 <a name="l00015"></a><a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a5a2d34a8cfec9842041e2e7cf24fccb4">00015</a>     <a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a5a2d34a8cfec9842041e2e7cf24fccb4" title="デフォルトコンストラクタ.内部でreset()が呼ばれる.">multimedia_timer::multimedia_timer</a>()
41 <a name="l00016"></a>00016     : pimpl_(new <a class="code" href="structmof_1_1util_1_1multimedia__timer_1_1impl.html">impl</a>)
42 <a name="l00017"></a>00017     {
43 <a name="l00018"></a>00018         <a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a3f7ce512b100f7e4d86adc49b024720f" title="時間の計測を初期化する.">reset</a>();
44 <a name="l00019"></a>00019     }
45 <a name="l00020"></a>00020 <span class="comment">//}}}</span>
46 <a name="l00021"></a>00021 <span class="comment">//{{{ destructor</span>
47 <a name="l00022"></a><a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a5b76d219e4fc3fa03a71e8c626879fdd">00022</a>     <a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a5b76d219e4fc3fa03a71e8c626879fdd">multimedia_timer::~multimedia_timer</a>(){}
48 <a name="l00023"></a>00023 <span class="comment">//}}}</span>
49 <a name="l00024"></a>00024 <span class="comment">//{{{ reset</span>
50 <a name="l00025"></a><a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a3f7ce512b100f7e4d86adc49b024720f">00025</a>     <span class="keywordtype">void</span> <a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a3f7ce512b100f7e4d86adc49b024720f" title="時間の計測を初期化する.">multimedia_timer::reset</a>()
51 <a name="l00026"></a>00026     {
52 <a name="l00027"></a>00027         clock_gettime(CLOCK_REALTIME, &amp;<a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a7275eb34956cd7567e39d65c2a4e7769">pimpl_</a>-&gt;prevTime_ );    
53 <a name="l00028"></a>00028     }
54 <a name="l00029"></a>00029 <span class="comment">//}}}</span>
55 <a name="l00030"></a>00030 <span class="comment">//{{{ get_time_in_micro_sec</span>
56 <a name="l00031"></a><a class="code" href="classmof_1_1util_1_1multimedia__timer.html#ad08cc0f4235d3d92cc3b12f1335d9156">00031</a>     <span class="keywordtype">int</span> <a class="code" href="classmof_1_1util_1_1multimedia__timer.html#ad08cc0f4235d3d92cc3b12f1335d9156" title="最後にreset()を読んだ時点から現在までの経過時間をマイクロ秒単位で返す...">multimedia_timer::get_time_in_micro_sec</a>()<span class="keyword"> const</span>
57 <a name="l00032"></a>00032 <span class="keyword">    </span>{
58 <a name="l00033"></a>00033         timespec ts;
59 <a name="l00034"></a>00034         clock_gettime(CLOCK_REALTIME, &amp;ts);    
60 <a name="l00035"></a>00035         <span class="keywordtype">int</span> between = (ts.tv_nsec - <a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a7275eb34956cd7567e39d65c2a4e7769">pimpl_</a>-&gt;prevTime_.tv_nsec) / 1000;
61 <a name="l00036"></a>00036         <span class="keywordflow">if</span>(ts.tv_sec != <a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a7275eb34956cd7567e39d65c2a4e7769">pimpl_</a>-&gt;prevTime_.tv_sec)
62 <a name="l00037"></a>00037         {
63 <a name="l00038"></a>00038             between += (ts.tv_sec - <a class="code" href="classmof_1_1util_1_1multimedia__timer.html#a7275eb34956cd7567e39d65c2a4e7769">pimpl_</a>-&gt;prevTime_.tv_sec) * 1e6;
64 <a name="l00039"></a>00039         }
65 <a name="l00040"></a>00040         <span class="keywordflow">return</span> between;
66 <a name="l00041"></a>00041 
67 <a name="l00042"></a>00042     }
68 <a name="l00043"></a>00043 <span class="comment">//}}}</span>
69 <a name="l00044"></a>00044 
70 <a name="l00045"></a>00045 }<span class="comment">// namespace util</span>
71 <a name="l00046"></a>00046 }<span class="comment">// namespace mof</span>
72 </pre></div></div>
73 <hr class="footer"/><address style="text-align: right;"><small>MotifOfFunctionsLIBraryに対してMon Sep 6 05:03:03 2010に生成されました。&nbsp;
74 <a href="http://www.doxygen.org/index.html">
75 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
76 </body>
77 </html>