LCOV - lcov.info - ept/token.h

LTP GCOV extension - code coverage report
Current view: | directory - ept - token.h
Test: | lcov.info
Date: | 2008-08-14 |  | Instrumented lines: | 16
Code covered: | 81.2 % |  | Executed lines: | 13

           1                 : // -*- C++ -*-
           2                 : #include <wibble/mixin.h>
           3                 : #include <string>
           4                 :
           5                 : #ifndef EPT_TOKEN_H
           6                 : #define EPT_TOKEN_H
           7                 :
           8                 : namespace ept {
           9                 :
          10            9994 : struct Token : wibble::mixin::Comparable< Token > {
          11                 :     std::string _id; // formatted as package[_version]
          12               0 :     std::string id() const { return _id; }
          13                 :
          14            9755 :     Token() : _id( "" ) {}
          15               8 :     Token( std::string s ) : _id( s ) {}
          16                 :
          17            1831 :     std::string version() const {
          18                 :         return _id.find( '_' ) == std::string::npos ? "" :
          19            1831 :             std::string( _id, _id.find( '_' ) + 1, _id.size() );
          20                 :     }
          21                 :
          22            7883 :     std::string package() const {
          23                 :         return std::string( _id, 0,
          24                 :                             _id.find( '_' ) == std::string::npos ?
          25            7883 :                             _id.size() : _id.find( '_' ) );
          26                 :     }
          27                 :
          28                 :     bool isDesktop() const {
          29                 :         return std::string( _id, 0, 8 ) == "desktop:";
          30                 :     }
          31                 :
          32                 :     std::string desktop() const {
          33                 :         return isDesktop() ? std::string( _id, 8, _id.size() ) : "";
          34                 :     }
          35                 :
          36              17 :     bool hasVersion() const {
          37              17 :         return version() != "";
          38                 :     }
          39                 :
          40               1 :     bool valid() const {
          41               1 :         return _id != "";
          42                 :     }
          43                 :
          44              58 :     bool operator<=( const Token &o ) const {
          45              58 :         return _id <= o._id;
          46                 :     }
          47                 : };
          48                 :
          49                 : }
          50                 :
          51               0 : inline std::ostream &operator<<( std::ostream &o, const ept::Token &t ) {
          52               0 :     return o << t.id();
          53                 : }
          54                 :
          55                 : #endif

Generated by: LTP GCOV extension version 1.6