LCOV - code coverage report
Current view: top level - vset/buffer/persistent - head.hpp (source / functions) Hit Total Coverage
Test: v-set-coverage.info Lines: 12 12 100.0 %
Date: 2019-09-12 Functions: 7 7 100.0 %

          Line data    Source code
       1             : //
       2             : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2012
       3             : //
       4             : // Copyright: See COPYING file that comes with this distribution
       5             : //
       6             : 
       7             : #ifndef VSET_VSET_BUFFER_PERSISTENT_HEAD_HPP
       8             : #define VSET_VSET_BUFFER_PERSISTENT_HEAD_HPP
       9             : 
      10             : #include <cstddef>
      11             : 
      12             : namespace vset { namespace buffer{ namespace persistent{
      13             : 
      14             : template< size_t ID >
      15             : struct head
      16             : {
      17             :   
      18             : private:
      19             :   size_t _format;
      20             :   size_t _offset;
      21             :   size_t _size;
      22             :   size_t _capacity;
      23             :   
      24             : public:
      25             :   
      26             :   size_t format() const { return _format; }
      27     2846229 :   size_t offset() const { return _offset; }
      28          67 :   size_t size() const { return _size; }
      29          30 :   size_t capacity() const { return _capacity; }
      30           4 :   void reset()
      31             :   {
      32           4 :     _size = 0;
      33           4 :     _capacity=0;
      34           4 :   }
      35             : 
      36          29 :   void set_size(size_t s) { _size = s; }
      37          31 :   void set_capacity(size_t c) { _capacity = c; }
      38             : 
      39          17 :   head()
      40             :     : _format(ID)
      41             :     , _offset( sizeof(head<ID>) )
      42             :     , _size(0)
      43          17 :     , _capacity(0)
      44          17 :   {}
      45             : };
      46             : 
      47             : struct empty_head
      48             : {
      49             : public:
      50             :   static size_t format()  { return 0; }
      51             :   static size_t offset()  { return 0; }
      52             :   static size_t size()  { return 0; }
      53             :   static size_t capacity()  { return 0; }
      54             : 
      55             :   static void set_size(size_t ) { }
      56             :   static void set_capacity(size_t ) { }
      57             : };
      58             : 
      59             : 
      60             : }}}
      61             : 
      62             : #endif

Generated by: LCOV version 1.10