URL
https://opencores.org/ocsvn/lpffir/lpffir/trunk
Subversion Repositories lpffir
[/] [lpffir/] [trunk/] [uvm/] [tools/] [uvm_syoscb/] [docs/] [html/] [cl__syoscb__queue__iterator__base_8svh_source.html] - Rev 4
Compare with Previous | Blame | View Log
<!-- This comment will put IE 6, 7 and 8 in quirks mode --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>SyoSil ApS UVM Scoreboard: cl_syoscb_queue_iterator_base.svh Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javaScript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.6.1 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <script type="text/javascript"> <!-- function changeDisplayState (e){ var num=this.id.replace(/[^[0-9]/g,''); var button=this.firstChild; var sectionDiv=document.getElementById('dynsection'+num); if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){ sectionDiv.style.display='block'; button.src='open.gif'; }else{ sectionDiv.style.display='none'; button.src='closed.gif'; } } function initDynSections(){ var divs=document.getElementsByTagName('div'); var sectionCounter=1; for(var i=0;i<divs.length-1;i++){ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){ var header=divs[i]; var section=divs[i+1]; var button=header.firstChild; if (button!='IMG'){ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild); button=document.createElement('img'); divs[i].insertBefore(button,divs[i].firstChild); } header.style.cursor='pointer'; header.onclick=changeDisplayState; header.id='dynheader'+sectionCounter; button.src='closed.gif'; section.id='dynsection'+sectionCounter; section.style.display='none'; section.style.marginLeft='14px'; sectionCounter++; } } } window.onload = initDynSections; --> </script> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <img id="MSearchSelect" src="search/search.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </div> </li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="dir_562324e130495ce1321e3e3f14c8d761.html">src</a> </div> </div> <div class="contents"> <h1>cl_syoscb_queue_iterator_base.svh</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/// Queue iterator base class defining the iterator API used for iterating queues.</span> <a name="l00002"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html">00002</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a> <span class="keyword">extends</span> uvm_object; <a name="l00003"></a>00003 <span class="comment">//-------------------------------------</span> <a name="l00004"></a>00004 <span class="comment">// Non randomizable variables</span> <a name="l00005"></a>00005 <span class="comment">//-------------------------------------</span><span class="comment"></span> <a name="l00006"></a>00006 <span class="comment"> /// The owner of this iterator</span> <a name="l00007"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#a7d2e751dbeb1921dfe580d61548f5aa2">00007</a> <span class="comment"></span> <span class="keyword">protected</span> <a class="code" href="classcl__syoscb__queue.html" title="Class which base concet of a queue.">cl_syoscb_queue</a> <a class="code" href="classcl__syoscb__queue__iterator__base.html#a7d2e751dbeb1921dfe580d61548f5aa2" title="The owner of this iterator.">owner</a>; <a name="l00008"></a>00008 <span class="comment"></span> <a name="l00009"></a>00009 <span class="comment"> /// Current position in the queue</span> <a name="l00010"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#a147a9ac82095ec90505f5c260626ff13">00010</a> <span class="comment"></span> <span class="keyword">protected</span> int unsigned <a class="code" href="classcl__syoscb__queue__iterator__base.html#a147a9ac82095ec90505f5c260626ff13" title="Current position in the queue.">position</a> = 0; <a name="l00011"></a>00011 <a name="l00012"></a>00012 <span class="comment">// Local handle to the SCB sfg </span> <a name="l00013"></a>00013 <span class="keyword">protected</span> <a class="code" href="classcl__syoscb__cfg.html" title="Configuration class for the SyoSil UVM scoreboard.">cl_syoscb_cfg</a> cfg; <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="comment">//-------------------------------------</span> <a name="l00016"></a>00016 <span class="comment">// UVM Macros</span> <a name="l00017"></a>00017 <span class="comment">//-------------------------------------</span> <a name="l00018"></a>00018 `uvm_object_utils_begin(cl_syoscb_queue_iterator_base) <a name="l00019"></a>00019 `uvm_field_object(owner, UVM_DEFAULT) <a name="l00020"></a>00020 `uvm_field_int(position, UVM_DEFAULT) <a name="l00021"></a>00021 `uvm_field_object(cfg, UVM_DEFAULT) <a name="l00022"></a>00022 `uvm_object_utils_end <a name="l00023"></a>00023 <a name="l00024"></a>00024 function new(string name = "cl_syoscb_queue_iterator_base"); <a name="l00025"></a>00025 super.new(name); <a name="l00026"></a>00026 endfunction: new <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="comment">//-------------------------------------</span> <a name="l00029"></a>00029 <span class="comment">// Iterator API</span> <a name="l00030"></a>00030 <span class="comment">//-------------------------------------</span> <a name="l00031"></a>00031 extern <span class="keyword">virtual</span> function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html#a70293656ff0720b611c94eda8cfe0ce5" title="Iterator API: Moves the iterator to the next item in the queue.">next</a>(); <span class="comment">// Base 'next' function. Moves iterator to next item in queue</span> <a name="l00032"></a>00032 extern <span class="keyword">virtual</span> function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html#afc2b8985620b740ee74ff7888df9f76f" title="Iterator API: Moves the iterator to the previous item in the queue.">previous</a>(); <span class="comment">// Base 'previous' function. Moves iterator to previous item in queue</span> <a name="l00033"></a>00033 extern <span class="keyword">virtual</span> function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html#a7f9050d9599104fd1f0c74764733c9a8" title="Iterator API: Moves the iterator to the first item in the queue.">first</a>(); <span class="comment">// Base 'first' function. Moves iterator to first item in queue</span> <a name="l00034"></a>00034 extern <span class="keyword">virtual</span> function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html#af89041d1ae55146e3a9ff2f68d861ece" title="Iterator API: Moves the iterator to the last item in the queue.">last</a>(); <span class="comment">// Base 'last' function. Moves iterator to last item in queue</span> <a name="l00035"></a>00035 extern <span class="keyword">virtual</span> function int unsigned <a class="code" href="classcl__syoscb__queue__iterator__base.html#a52cf9b515b136ae9a24fd04cda886a8f" title="Iterator API: Returns the current index">get_idx</a>(); <span class="comment">// Base 'get_idx' function. Returns current iterator position</span> <a name="l00036"></a>00036 extern <span class="keyword">virtual</span> function <a class="code" href="classcl__syoscb__item.html" title="The UVM scoreboard item.">cl_syoscb_item</a> <a class="code" href="classcl__syoscb__queue__iterator__base.html#a53fea126af4b7578593ced59a94613f7" title="Iterator API: Returns the current cl_syoscb_item object at the current index">get_item</a>(); <span class="comment">// Base 'get_item' function. Returns item at current iterator position</span> <a name="l00037"></a>00037 extern <span class="keyword">virtual</span> function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html#ade166e2730e4d2b53b4b17042bb15df1" title="Iterator API: Returns 1&#39;b0 as long as the iterator has not reached the end.">is_done</a>(); <span class="comment">// Base 'is_done' function. Returns 1 if iterator is at the end of the queue, otherwise 0</span> <a name="l00038"></a>00038 extern <span class="keyword">protected</span> function <a class="code" href="classcl__syoscb__queue.html" title="Class which base concet of a queue.">cl_syoscb_queue</a> <a class="code" href="classcl__syoscb__queue__iterator__base.html#a2e37464d479306e3998012cb7c75a9b1" title="Iterator API: Returns releated queue">get_queue</a>(); <span class="comment">// Returns the queue that this iterator is associated with</span> <a name="l00039"></a>00039 extern <span class="keyword">virtual</span> function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html#a8249c76b049459abdfb0341b6ab76e66" title="Iterator API: Sets releated queue">set_queue</a>(cl_syoscb_queue owner); <span class="comment">// Sets the queue that this iterator is associated with</span> <a name="l00040"></a>00040 endclass: <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a> <a name="l00041"></a>00041 <span class="comment"></span> <a name="l00042"></a>00042 <span class="comment">/// <b>Iterator API:</b> Moves the iterator to the next item in the queue.</span> <a name="l00043"></a>00043 <span class="comment">/// It shall return 1'b0 if there is no next item, e.g. when it is either empty or</span> <a name="l00044"></a>00044 <span class="comment">/// the iterator has reached the end of the queue. </span> <a name="l00045"></a>00045 <span class="comment"></span>function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a>::<a class="code" href="classcl__syoscb__queue__iterator__base.html#a70293656ff0720b611c94eda8cfe0ce5" title="Iterator API: Moves the iterator to the next item in the queue.">next</a>(); <a name="l00046"></a>00046 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::next() *MUST* be overwritten")); <a name="l00047"></a>00047 return(1'b0); <a name="l00048"></a>00048 endfunction <a name="l00049"></a>00049 <span class="comment"></span> <a name="l00050"></a>00050 <span class="comment">/// <b>Iterator API:</b> Moves the iterator to the previous item in the queue.</span> <a name="l00051"></a>00051 <span class="comment">/// It shall return 1'b0 if there is no previous item, e.g. when it is either empty or</span> <a name="l00052"></a>00052 <span class="comment">/// the iterator has reached the very beginning of the queue. </span> <a name="l00053"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#afc2b8985620b740ee74ff7888df9f76f">00053</a> <span class="comment"></span>function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a>::<a class="code" href="classcl__syoscb__queue__iterator__base.html#afc2b8985620b740ee74ff7888df9f76f" title="Iterator API: Moves the iterator to the previous item in the queue.">previous</a>(); <a name="l00054"></a>00054 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::previous() *MUST* be overwritten")); <a name="l00055"></a>00055 return(1'b0); <a name="l00056"></a>00056 endfunction <a name="l00057"></a>00057 <span class="comment"></span> <a name="l00058"></a>00058 <span class="comment">/// <b>Iterator API:</b> Moves the iterator to the first item in the queue.</span> <a name="l00059"></a>00059 <span class="comment">/// It shall return 1'b0 if there is no first item (Queue is empty). </span> <a name="l00060"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#a7f9050d9599104fd1f0c74764733c9a8">00060</a> <span class="comment"></span>function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a>::<a class="code" href="classcl__syoscb__queue__iterator__base.html#a7f9050d9599104fd1f0c74764733c9a8" title="Iterator API: Moves the iterator to the first item in the queue.">first</a>(); <a name="l00061"></a>00061 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::first() *MUST* be overwritten")); <a name="l00062"></a>00062 return(1'b0); <a name="l00063"></a>00063 endfunction <a name="l00064"></a>00064 <span class="comment"></span> <a name="l00065"></a>00065 <span class="comment">/// <b>Iterator API:</b> Moves the iterator to the last item in the queue.</span> <a name="l00066"></a>00066 <span class="comment">/// It shall return 1'b0 if there is no last item (Queue is empty). </span> <a name="l00067"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#af89041d1ae55146e3a9ff2f68d861ece">00067</a> <span class="comment"></span>function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a>::<a class="code" href="classcl__syoscb__queue__iterator__base.html#af89041d1ae55146e3a9ff2f68d861ece" title="Iterator API: Moves the iterator to the last item in the queue.">last</a>(); <a name="l00068"></a>00068 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::last() *MUST* be overwritten")); <a name="l00069"></a>00069 return(1'b0); <a name="l00070"></a>00070 endfunction <a name="l00071"></a>00071 <span class="comment"></span> <a name="l00072"></a>00072 <span class="comment">/// <b>Iterator API:</b> Returns the current index</span> <a name="l00073"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#a52cf9b515b136ae9a24fd04cda886a8f">00073</a> <span class="comment"></span>function int unsigned <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a>::<a class="code" href="classcl__syoscb__queue__iterator__base.html#a52cf9b515b136ae9a24fd04cda886a8f" title="Iterator API: Returns the current index">get_idx</a>(); <a name="l00074"></a>00074 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::get_idx() *MUST* be overwritten")); <a name="l00075"></a>00075 return(0); <a name="l00076"></a>00076 endfunction <a name="l00077"></a>00077 <span class="comment"></span> <a name="l00078"></a>00078 <span class="comment">/// <b>Iterator API:</b> Returns the current cl_syoscb_item object at the current index</span> <a name="l00079"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#a53fea126af4b7578593ced59a94613f7">00079</a> <span class="comment"></span>function <a class="code" href="classcl__syoscb__item.html" title="The UVM scoreboard item.">cl_syoscb_item</a> <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a>::<a class="code" href="classcl__syoscb__queue__iterator__base.html#a53fea126af4b7578593ced59a94613f7" title="Iterator API: Returns the current cl_syoscb_item object at the current index">get_item</a>(); <a name="l00080"></a>00080 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::get_item() *MUST* be overwritten")); <a name="l00081"></a>00081 return(null); <a name="l00082"></a>00082 endfunction <a name="l00083"></a>00083 <span class="comment"></span> <a name="l00084"></a>00084 <span class="comment">/// <b>Iterator API:</b> Returns 1'b0 as long as the iterator has not reached the end.</span> <a name="l00085"></a>00085 <span class="comment">/// When the iterator has reached the end then it returns 1'b1.</span> <a name="l00086"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#ade166e2730e4d2b53b4b17042bb15df1">00086</a> <span class="comment"></span>function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a>::<a class="code" href="classcl__syoscb__queue__iterator__base.html#ade166e2730e4d2b53b4b17042bb15df1" title="Iterator API: Returns 1&#39;b0 as long as the iterator has not reached the end.">is_done</a>(); <a name="l00087"></a>00087 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::is_done() *MUST* be overwritten")); <a name="l00088"></a>00088 return(1'b0); <a name="l00089"></a>00089 endfunction <a name="l00090"></a>00090 <span class="comment"></span> <a name="l00091"></a>00091 <span class="comment">/// <b>Iterator API:</b> Returns releated queue</span> <a name="l00092"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#a2e37464d479306e3998012cb7c75a9b1">00092</a> <span class="comment"></span>function <a class="code" href="classcl__syoscb__queue.html" title="Class which base concet of a queue.">cl_syoscb_queue</a> <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a>::<a class="code" href="classcl__syoscb__queue__iterator__base.html#a2e37464d479306e3998012cb7c75a9b1" title="Iterator API: Returns releated queue">get_queue</a>(); <a name="l00093"></a>00093 if(this.owner == null) begin <a name="l00094"></a>00094 <span class="comment">// An iterator should always have an associated queue</span> <a name="l00095"></a>00095 `uvm_error("QUEUE_ERROR", $sformatf("Unable to find queue associated with iterator %s", this.get_name())); <a name="l00096"></a>00096 return null; <a name="l00097"></a>00097 end else begin <a name="l00098"></a>00098 return this.<a class="code" href="classcl__syoscb__queue__iterator__base.html#a7d2e751dbeb1921dfe580d61548f5aa2" title="The owner of this iterator.">owner</a>; <a name="l00099"></a>00099 end <a name="l00100"></a>00100 endfunction: <a class="code" href="classcl__syoscb__queue__iterator__base.html#a2e37464d479306e3998012cb7c75a9b1" title="Iterator API: Returns releated queue">get_queue</a> <a name="l00101"></a>00101 <span class="comment"></span> <a name="l00102"></a>00102 <span class="comment">/// <b>Iterator API:</b> Sets releated queue</span> <a name="l00103"></a><a class="code" href="classcl__syoscb__queue__iterator__base.html#a8249c76b049459abdfb0341b6ab76e66">00103</a> <span class="comment"></span>function bit <a class="code" href="classcl__syoscb__queue__iterator__base.html" title="Queue iterator base class defining the iterator API used for iterating queues.">cl_syoscb_queue_iterator_base</a>::<a class="code" href="classcl__syoscb__queue__iterator__base.html#a8249c76b049459abdfb0341b6ab76e66" title="Iterator API: Sets releated queue">set_queue</a>(cl_syoscb_queue owner); <a name="l00104"></a>00104 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::set_queue() *MUST* be overwritten")); <a name="l00105"></a>00105 return(1'b0); <a name="l00106"></a>00106 endfunction </pre></div></div> <!--- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <!--*************************************************************************--> <!-- $Id: idv_dox_footer.html 136 2010-05-31 19:13:27Z seanoboyle $ --> <!--*************************************************************************--> <!-- This program is free software: you can redistribute it and/or modify --> <!-- it under the terms of the GNU General Public License as published by --> <!-- the Free Software Foundation, either version 3 of the License, or --> <!-- (at your option) any later version. --> <!-- --> <!-- This program is distributed in the hope that it will be useful, --> <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> <!-- GNU General Public License for more details. --> <!-- --> <!-- You should have received a copy of the GNU General Public License --> <!-- along with this program. If not, see http://www.gnu.org/licenses/. --> <!-- --> <!--*************************************************************************--> <!-- Title: IDV Doxygen Footer File --> <!-- Description: This file is a doxygen footer with the IDV logo and a --> <!-- and a reference to the GNU FDL License. --> <!-- --> <!-- Original Author: Sean O'Boyle --> <!-- Contact: seanoboyle@intelligentdv.com --> <!-- Company: Intelligent Design Verification --> <!-- Company URL: http://intelligentdv.com --> <!-- --> <!-- Download the most recent version here: --> <!-- http://intelligentdv.com/downloads --> <!-- --> <!-- File Bugs Here: http://bugs.intelligentdv.com --> <!-- Project: DoxygenFilterSV --> <!-- --> <!-- File: idv_dox_header.xml --> <!-- $LastChangedBy: seanoboyle $ --> <!-- $LastChangedDate: 2010-05-31 12:13:27 -0700 (Mon, 31 May 2010) $ --> <!-- $LastChangedRevision: 136 $ --> <!-- --> <!--*************************************************************************--> <br> <table border="1" width = "100%"> <tr> <td width = "20%"> <img src="syosil.jpg"> </td> <td width = "60%"> <address style="text-align: center;"> Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.2.5<br> <br> Copyright 2014-2015 SyoSil ApS<br> All Rights Reserved Worldwide<br> <br> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at<br> <br> <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a><br> <br> Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. </address> </td> <td width = "20%"> <address style="text-align: right;"><small> <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a><br> <a href="http://www.doxygen.org/index.html">Doxygen</a> Version: 1.6.1<br> <a href="http://www.intelligentdv.com/index.html">IDV SV Filter</a> Version: 2.6.2<br> Sat Nov 28 05:41:54 2015</small></address> </td> </tr> </table> <address style="text-align: left;"><small> Find a documentation bug? Report bugs to: <a href="http://bugs.intelligentdv.com/">bugs.intelligentdv.com</a> Project: DoxygenFilterSV </small></address> </body> </html>