CBMC
Loading...
Searching...
No Matches
Public Member Functions | List of all members
smt_identifier_termt Class Reference

Stores identifiers in unescaped and unquoted form. More...

#include <smt_terms.h>

+ Inheritance diagram for smt_identifier_termt:
+ Collaboration diagram for smt_identifier_termt:

Public Member Functions

  Constructs an identifier term with the given identifier and sort.
 
 
std::vector< std::reference_wrapper< const smt_indext > >  indices () const
 
- Public Member Functions inherited from smt_termt
 
 
 
 
 
 
std::string  pretty (unsigned indent=0, unsigned max_indent=0) const
 

Additional Inherited Members

- Protected Types inherited from irept
 
 
 
 
  Used to refer to this class from derived classes.
 
- Protected Member Functions inherited from smt_termt
 
- Protected Member Functions inherited from irept
 
 
 
 
  irept ()=default
 
 
const std::string &  id_string () const
 
void  id (const irep_idt &_data)
 
 
ireptadd (const irep_idt &name)
 
ireptadd (const irep_idt &name, irept irep)
 
const std::string &  get_string (const irep_idt &name) const
 
 
 
 
std::size_t  get_size_t (const irep_idt &name) const
 
 
void  set (const irep_idt &name, const irep_idt &value)
 
void  set (const irep_idt &name, irept irep)
 
void  set (const irep_idt &name, const long long value)
 
void  set_size_t (const irep_idt &name, const std::size_t value)
 
 
 
 
 
 
void  swap (irept &irep)
 
  defines ordering on the internal representation
 
  defines ordering on the internal representation
 
  defines ordering on the internal representation comments are ignored
 
void  clear ()
 
 
subtget_sub ()
 
 
 
 
std::size_t  hash () const
 
std::size_t  full_hash () const
 
 
std::string  pretty (unsigned indent=0, unsigned max_indent=0) const
 
- Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
void  detach ()
 
 
 
 
 
 
 
 
 
const dtread () const
 
dtwrite ()
 
- Static Protected Member Functions inherited from irept
 
  count the number of named_sub elements that are not comments
 
- Static Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
 
  Does the same as remove_ref, but using an explicit stack instead of recursion.
 
dtdata
 
- Static Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
 
- Private Member Functions inherited from smt_indext::storert< smt_identifier_termt >
  storert ()
 
- Static Private Member Functions inherited from smt_indext::storert< smt_identifier_termt >
 
 

Detailed Description

Stores identifiers in unescaped and unquoted form.

Any escaping or quoting required should be performed during printing.

The SMT-LIB standard Version 2.6 refers to "indexed" identifiers which have 1 or more indices and "simple" identifiers which have no indicies. The internal smt_identifier_termt class is used for both kinds of identifier which are distinguished based on whether the collection of indices is empty or not.

Definition at line 91 of file smt_terms.h.

Constructor & Destructor Documentation

◆  smt_identifier_termt()

smt_identifier_termt::smt_identifier_termt ( irep_idt  identifier,
smt_sortt  sort,
std::vector< smt_indextindices = {} 
)

Constructs an identifier term with the given identifier and sort.

Parameters
identifier This should be the unescaped form of the identifier. Escaping of the identifier if required is to be performed as part of the printing operation. The given identifier is checked to ensure that it has not already been escaped, in order to avoid escaping it twice. Performing escaping during the printing will ensure that the identifiers output conform to the specification of the concrete form.
sort The sort which this term will have. All terms in our abstract form must be sorted, even if those sorts are not printed in all contexts.
indices This should be collection of indices for an indexed identifier, or an empty collection for simple (non-indexed) identifiers.

Definition at line 60 of file smt_terms.cpp.

Member Function Documentation

◆  identifier()

irep_idt smt_identifier_termt::identifier ( ) const

Definition at line 81 of file smt_terms.cpp.

◆  indices()

std::vector< std::reference_wrapper< const smt_indext > > smt_identifier_termt::indices ( ) const

Definition at line 87 of file smt_terms.cpp.


The documentation for this class was generated from the following files:
  • /home/runner/work/cbmc/cbmc/src/solvers/smt2_incremental/ast/smt_terms.h
  • /home/runner/work/cbmc/cbmc/src/solvers/smt2_incremental/ast/smt_terms.cpp

AltStyle によって変換されたページ (->オリジナル) /