CoDiPack  3.1.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::IdentifierGenerator< T_Identifier > Struct Template Reference

#include <identifierCacheOptimizer.hpp>

Inheritance diagram for codi::IdentifierGenerator< T_Identifier >:

Public Types

using Identifier = T_Identifier
 
using UnsignedIdentifier = std::make_signed_t<Identifier>
 

Public Member Functions

inlinevoid free (Identifier id)
 Free an identifier.
 
inlineIdentifier generate ()
 Generate an identifier.
 
inlineIdentifier generateFresh ()
 Generate an unused identifier.
 
inlineIdentifier getGeneratedSize ()
 Get number of generated identifiers.
 
inlinevoid init (Identifier start, UnsignedIdentifier dir)
 Initialize the range.
 
inlinebool isHandledByThis (Identifier id)
 Check if the identifier is handled by this generator.
 

Public Attributes

UnsignedIdentifier nextDirection = 0
 Step for the next generated identifier.
 
Identifier nextFree = 0
 Next generated identifier.
 
std::set< Identifier > stack = {}
 List of all unused identifiers.
 
Identifier start = 0
 Start of the identifier range.
 

Detailed Description

template<typename T_Identifier>
struct codi::IdentifierGenerator< T_Identifier >

Helper for generating new identifiers.

Will generate start + direction * i identifiers with i running from 0 to infinity.

Template Parameters
T_IdentifierThe identifier of the CoDiPack type.

The documentation for this struct was generated from the following file: