diff options
Diffstat (limited to 'rep/ept/core/apt/recordparser.h.gcov.html')
| -rw-r--r-- | rep/ept/core/apt/recordparser.h.gcov.html | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/rep/ept/core/apt/recordparser.h.gcov.html b/rep/ept/core/apt/recordparser.h.gcov.html new file mode 100644 index 0000000..13eb803 --- /dev/null +++ b/rep/ept/core/apt/recordparser.h.gcov.html @@ -0,0 +1,165 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> + +<html lang="en"> + +<head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>LCOV - lcov.info - ept/core/apt/recordparser.h</title> + <link rel="stylesheet" type="text/css" href="../../../gcov.css"> +</head> + +<body> + + <table width="100%" border=0 cellspacing=0 cellpadding=0> + <tr><td class="title">LTP GCOV extension - code coverage report</td></tr> + <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr> + + <tr> + <td width="100%"> + <table cellpadding=1 border=0 width="100%"> + <tr> + <td class="headerItem" width="20%">Current view:</td> + <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - recordparser.h</td> + </tr> + <tr> + <td class="headerItem" width="20%">Test:</td> + <td class="headerValue" width="80%" colspan=4>lcov.info</td> + </tr> + <tr> + <td class="headerItem" width="20%">Date:</td> + <td class="headerValue" width="20%">2008-08-14</td> + <td width="20%"></td> + <td class="headerItem" width="20%">Instrumented lines:</td> + <td class="headerValue" width="20%">4</td> + </tr> + <tr> + <td class="headerItem" width="20%">Code covered:</td> + <td class="headerValue" width="20%">100.0 %</td> + <td width="20%"></td> + <td class="headerItem" width="20%">Executed lines:</td> + <td class="headerValue" width="20%">4</td> + </tr> + </table> + </td> + </tr> + <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr> + </table> + + <table cellpadding=0 cellspacing=0 border=0> + <tr> + <td><br></td> + </tr> + <tr> + <td><pre class="source"> +<span class="lineNum"> 1 </span> : // -*- C++ -*- +<span class="lineNum"> 2 </span> : #ifndef EPT_CORE_APT_RECORDPARSER_H +<span class="lineNum"> 3 </span> : #define EPT_CORE_APT_RECORDPARSER_H +<span class="lineNum"> 4 </span> : +<span class="lineNum"> 5 </span> : /** \file +<span class="lineNum"> 6 </span> : * Parser for APT records +<span class="lineNum"> 7 </span> : */ +<span class="lineNum"> 8 </span> : +<span class="lineNum"> 9 </span> : /* +<span class="lineNum"> 10 </span> : * Copyright (C) 2007 Enrico Zini <enrico@enricozini.org> +<span class="lineNum"> 11 </span> : * +<span class="lineNum"> 12 </span> : * This library is free software; you can redistribute it and/or +<span class="lineNum"> 13 </span> : * modify it under the terms of the GNU Lesser General Public +<span class="lineNum"> 14 </span> : * License as published by the Free Software Foundation; either +<span class="lineNum"> 15 </span> : * version 2.1 of the License, or (at your option) any later version. +<span class="lineNum"> 16 </span> : * +<span class="lineNum"> 17 </span> : * This library is distributed in the hope that it will be useful, +<span class="lineNum"> 18 </span> : * but WITHOUT ANY WARRANTY; without even the implied warranty of +<span class="lineNum"> 19 </span> : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +<span class="lineNum"> 20 </span> : * Lesser General Public License for more details. +<span class="lineNum"> 21 </span> : * +<span class="lineNum"> 22 </span> : * You should have received a copy of the GNU Lesser General Public +<span class="lineNum"> 23 </span> : * License along with this library; if not, write to the Free Software +<span class="lineNum"> 24 </span> : * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +<span class="lineNum"> 25 </span> : */ +<span class="lineNum"> 26 </span> : +<span class="lineNum"> 27 </span> : #include <vector> +<span class="lineNum"> 28 </span> : #include <string> +<span class="lineNum"> 29 </span> : +<span class="lineNum"> 30 </span> : namespace ept { +<span class="lineNum"> 31 </span> : namespace core { +<span class="lineNum"> 32 </span> : namespace record { +<span class="lineNum"> 33 </span> : +<span class="lineNum"> 34 </span> : /** +<span class="lineNum"> 35 </span> : * Access the fields of a package record contained inside a std::string. +<span class="lineNum"> 36 </span> : * +<span class="lineNum"> 37 </span> : * Implementation note: this implementation should take advantage of +<span class="lineNum"> 38 </span> : * std::string sharing buffer space among them. +<span class="lineNum"> 39 </span> : */ +<span class="lineNum"> 40 </span> : class RecordParser +<span class="lineNum"> 41 </span><span class="lineCov"> 1310 : {</span> +<span class="lineNum"> 42 </span> : /// Buffer containing the whole record +<span class="lineNum"> 43 </span> : std::string buffer; +<span class="lineNum"> 44 </span> : +<span class="lineNum"> 45 </span> : /// End offsets of the various fields in the record +<span class="lineNum"> 46 </span> : std::vector<size_t> ends; +<span class="lineNum"> 47 </span> : +<span class="lineNum"> 48 </span> : /// Indexes on the ends vector, sorted by field name +<span class="lineNum"> 49 </span> : std::vector<size_t> sorted; +<span class="lineNum"> 50 </span> : +<span class="lineNum"> 51 </span> : public: +<span class="lineNum"> 52 </span> : RecordParser() {} +<span class="lineNum"> 53 </span><span class="lineCov"> 1310 : RecordParser(const std::string& str) { scan(str); }</span> +<span class="lineNum"> 54 </span> : +<span class="lineNum"> 55 </span> : /// Index a new record +<span class="lineNum"> 56 </span> : void scan(const std::string& str); +<span class="lineNum"> 57 </span> : +<span class="lineNum"> 58 </span> : /** +<span class="lineNum"> 59 </span> : * Get the index of the field with the given name. +<span class="lineNum"> 60 </span> : * +<span class="lineNum"> 61 </span> : * size() is returned if not found +<span class="lineNum"> 62 </span> : */ +<span class="lineNum"> 63 </span> : size_t index(const std::string& str) const; +<span class="lineNum"> 64 </span> : +<span class="lineNum"> 65 </span> : /// Return the field by its index +<span class="lineNum"> 66 </span> : std::string field(size_t idx) const; +<span class="lineNum"> 67 </span> : +<span class="lineNum"> 68 </span> : /// Return the name of a field by its index +<span class="lineNum"> 69 </span> : std::string name(size_t idx) const; +<span class="lineNum"> 70 </span> : +<span class="lineNum"> 71 </span> : /// Return the content of a field by its index +<span class="lineNum"> 72 </span> : std::string lookup(size_t idx) const; +<span class="lineNum"> 73 </span> : +<span class="lineNum"> 74 </span> : /// Return the content of a field by its name +<span class="lineNum"> 75 </span><span class="lineCov"> 1310 : std::string lookup(const std::string& name) const { return lookup(index(name)); }</span> +<span class="lineNum"> 76 </span> : +<span class="lineNum"> 77 </span> : /// Return the content of a field by its index +<span class="lineNum"> 78 </span> : std::string operator[](size_t idx) const { return lookup(idx); } +<span class="lineNum"> 79 </span> : +<span class="lineNum"> 80 </span> : /// Return the content of a field by its name +<span class="lineNum"> 81 </span> : std::string operator[](const std::string& name) const { return lookup(name); } +<span class="lineNum"> 82 </span> : +<span class="lineNum"> 83 </span> : /// Return the entire record +<span class="lineNum"> 84 </span> : const std::string& record() const { return buffer; } +<span class="lineNum"> 85 </span> : +<span class="lineNum"> 86 </span> : /// Return the entire record +<span class="lineNum"> 87 </span> : std::string record() { return buffer; } +<span class="lineNum"> 88 </span> : +<span class="lineNum"> 89 </span> : /// Return the number of fields in the record +<span class="lineNum"> 90 </span><span class="lineCov"> 1311 : size_t size() const { return ends.size(); }</span> +<span class="lineNum"> 91 </span> : }; +<span class="lineNum"> 92 </span> : +<span class="lineNum"> 93 </span> : } +<span class="lineNum"> 94 </span> : } +<span class="lineNum"> 95 </span> : } +<span class="lineNum"> 96 </span> : +<span class="lineNum"> 97 </span> : // vim:set ts=4 sw=4: +<span class="lineNum"> 98 </span> : #endif +</pre> + </td> + </tr> + </table> + <br> + + <table width="100%" border=0 cellspacing=0 cellpadding=0> + <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr> + <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr> + </table> + <br> + +</body> +</html> |
