LCOV - code coverage report
Current view: top level - vnsw/agent/resource_manager - index_vector_resource.h (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 13 13 100.0 %
Date: 2026-08-03 02:19:58 Functions: 6 7 85.7 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2016 Juniper Networks, Inc. All rights reserved.
       3             :  */
       4             : 
       5             : #ifndef vnsw_agent_index_vector_resource_hpp
       6             : #define vnsw_agent_index_vector_resource_hpp
       7             : 
       8             : #include <cmn/agent_cmn.h>
       9             : #include <cmn/agent.h>
      10             : #include <cmn/index_vector.h>
      11             : 
      12             : 
      13             : template<typename Object>
      14             : // This Class is to do Index Allocation.
      15             : class IndexVectorResource {
      16             : public:
      17          18 :     IndexVectorResource() {
      18          18 :     }
      19          18 :     virtual ~IndexVectorResource() {
      20          18 :     }
      21             : 
      22             :     //index allocation from index table
      23         124 :     uint32_t AllocIndex(Object entry) {
      24         124 :         return index_table_.Insert(entry);
      25             :     }
      26             : 
      27          48 :     uint32_t InsertAtIndex(uint32_t index, Object entry) {
      28          48 :         return index_table_.InsertAtIndex(index, entry);
      29             :     }
      30             : 
      31             :     void UpdateIndex(uint32_t index, Object entry) {
      32             :         return index_table_.Update((index), entry);
      33             :     }
      34         172 :     void FreeIndex(uint32_t index) {
      35         172 :         index_table_.Remove(index);
      36         172 :     }
      37             : 
      38         124 :     Object FindIndex(size_t index) {
      39         124 :         return index_table_.At(index);
      40             :     }
      41             : 
      42             : private:
      43             :     IndexVector<Object> index_table_;
      44             : };
      45             : #endif //index_vector_resource

Generated by: LCOV version 1.14