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

Converting each uppercase character of Basic Latin and Latin-1 supplement to the corresponding lowercase character. More...

#include <string_builtin_function.h>

+ Inheritance diagram for string_to_lower_case_builtin_functiont:
+ Collaboration diagram for string_to_lower_case_builtin_functiont:

Public Member Functions

 
std::optional< exprteval (const std::function< exprt(const exprt &)> &get_value) const override
  Given a function get_value which gives a valuation to expressions, attempt to find the result of the builtin function.
 
std::string  name () const override
 
  Set of constraints ensuring result corresponds to input in which uppercase characters have been converted to lowercase.
 
  Constraint ensuring that the length of the strings are coherent with the function call.
 
- Public Member Functions inherited from string_transformation_builtin_functiont
 
  Constructor from arguments of a function application.
 
 
 
  Tells whether the builtin function can be a testing function, that is a function that does not return a string, for instance like equals, indexOf or compare.
 
- Public Member Functions inherited from string_builtin_functiont
 
 
 

Additional Inherited Members

- Public Attributes inherited from string_transformation_builtin_functiont
 
 
- Public Attributes inherited from string_builtin_functiont
 
- Protected Member Functions inherited from string_builtin_functiont
 
- Protected Attributes inherited from string_builtin_functiont
 

Detailed Description

Converting each uppercase character of Basic Latin and Latin-1 supplement to the corresponding lowercase character.

Definition at line 249 of file string_builtin_function.h.

Constructor & Destructor Documentation

◆  string_to_lower_case_builtin_functiont()

string_to_lower_case_builtin_functiont::string_to_lower_case_builtin_functiont ( const exprtreturn_code,
const std::vector< exprt > &  fun_args,
array_pooltarray_pool 
)
inline

Definition at line 253 of file string_builtin_function.h.

Member Function Documentation

◆  constraints()

string_constraintst string_to_lower_case_builtin_functiont::constraints ( string_constraint_generatortgenerator,
message_handlertmessage_handler 
) const
overridevirtual

Set of constraints ensuring result corresponds to input in which uppercase characters have been converted to lowercase.

These constraints are:

  1. result.length = input.length && return_code = 0
  2. forall i < input.length. result[i] = is_upper_case(input[i]) ? input[i] + diff : input[i]

Where diff is the difference between lower case and upper case characters: ‘diff = 'a’-'A' = 0x20andis_upper_case` is true for the upper case characters of Basic Latin and Latin-1 supplement of unicode.

Implements string_builtin_functiont.

Definition at line 285 of file string_builtin_function.cpp.

◆  eval()

std::optional< exprt > string_to_lower_case_builtin_functiont::eval ( const std::function< exprt(const exprt &)> &  get_value ) const
overridevirtual

Given a function get_value which gives a valuation to expressions, attempt to find the result of the builtin function.

If not enough information can be gathered from get_value, return an empty optional.

Implements string_builtin_functiont.

Definition at line 220 of file string_builtin_function.cpp.

◆  length_constraint()

exprt string_to_lower_case_builtin_functiont::length_constraint ( ) const
inlineoverridevirtual

Constraint ensuring that the length of the strings are coherent with the function call.

Implements string_builtin_functiont.

Definition at line 273 of file string_builtin_function.h.

◆  name()

std::string string_to_lower_case_builtin_functiont::name ( ) const
inlineoverridevirtual

Implements string_builtin_functiont.

Definition at line 264 of file string_builtin_function.h.


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

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