CBMC
generic_parameter_specialization_map_keyst Class Reference

#include <generic_parameter_specialization_map_keys.h>

+ Collaboration diagram for generic_parameter_specialization_map_keyst:

Public Member Functions

 generic_parameter_specialization_map_keyst (generic_parameter_specialization_mapt &generic_parameter_specialization_map)
 Initialize a generic-parameter-specialization-map entry owner operating on a given map. More...
 
 ~generic_parameter_specialization_map_keyst ()
 Removes the top of the stack for each key in erase_keys from the controlled map. More...
 
 generic_parameter_specialization_map_keyst (const generic_parameter_specialization_map_keyst &)=delete
 
generic_parameter_specialization_map_keystoperator= (const generic_parameter_specialization_map_keyst &)=delete
 
void insert (const pointer_typet &pointer_type, const typet &pointer_subtype_struct)
 Author: Diffblue Ltd. More...
 
void insert (const struct_tag_typet &, const typet &symbol_struct)
 Add the parameters and their types for each generic parameter of the given generic symbol type to the map. More...
 

Private Attributes

generic_parameter_specialization_maptgeneric_parameter_specialization_map
 Generic parameter specialization map to modify. More...
 
std::optional< std::size_t > container_id
 Key of the container to pop on destruction. More...
 

Detailed Description

Definition at line 14 of file generic_parameter_specialization_map_keys.h.

Constructor & Destructor Documentation

◆ generic_parameter_specialization_map_keyst() [1/2]

generic_parameter_specialization_map_keyst::generic_parameter_specialization_map_keyst ( generic_parameter_specialization_mapt generic_parameter_specialization_map)
inlineexplicit

Initialize a generic-parameter-specialization-map entry owner operating on a given map.

Initially it does not own any map entry.

Parameters
generic_parameter_specialization_mapmap to operate on.

Definition at line 26 of file generic_parameter_specialization_map_keys.h.

◆ ~generic_parameter_specialization_map_keyst()

generic_parameter_specialization_map_keyst::~generic_parameter_specialization_map_keyst ( )
inline

Removes the top of the stack for each key in erase_keys from the controlled map.

Definition at line 34 of file generic_parameter_specialization_map_keys.h.

◆ generic_parameter_specialization_map_keyst() [2/2]

generic_parameter_specialization_map_keyst::generic_parameter_specialization_map_keyst ( const generic_parameter_specialization_map_keyst )
delete

Member Function Documentation

◆ insert() [1/2]

void generic_parameter_specialization_map_keyst::insert ( const pointer_typet pointer_type,
const typet pointer_subtype_struct 
)

Author: Diffblue Ltd.

Add the parameters and their types for each generic parameter of the given generic pointer type to the map. Own the keys and pop from their stack on destruction.

Parameters
pointer_typepointer type to get the specialized generic types from
pointer_subtype_structstruct type to which the generic pointer points, must be generic if the pointer is generic

Definition at line 11 of file generic_parameter_specialization_map_keys.cpp.

◆ insert() [2/2]

void generic_parameter_specialization_map_keyst::insert ( const struct_tag_typet struct_tag_type,
const typet symbol_struct 
)

Add the parameters and their types for each generic parameter of the given generic symbol type to the map.

This function is used for generic bases (superclass or interfaces) where the reference to it is in the form of a symbol rather than a pointer. Own the keys and pop from their stack on destruction.

Parameters
struct_tag_typesymbol type to get the specialized generic types from
symbol_structstruct type of the symbol type, must be generic if the symbol is generic

Definition at line 65 of file generic_parameter_specialization_map_keys.cpp.

◆ operator=()

generic_parameter_specialization_map_keyst& generic_parameter_specialization_map_keyst::operator= ( const generic_parameter_specialization_map_keyst )
delete

Member Data Documentation

◆ container_id

std::optional<std::size_t> generic_parameter_specialization_map_keyst::container_id
private

Key of the container to pop on destruction.

Definition at line 20 of file generic_parameter_specialization_map_keys.h.

◆ generic_parameter_specialization_map

generic_parameter_specialization_mapt& generic_parameter_specialization_map_keyst::generic_parameter_specialization_map
private

Generic parameter specialization map to modify.

Definition at line 18 of file generic_parameter_specialization_map_keys.h.


The documentation for this class was generated from the following files: