Module IR.QualifiedCppName
val empty : tempty qualified name
val of_qual_string : string -> tattempts to parse the argument into a list::of::possibly::templated<T>::qualifiers
val to_qual_string : t -> stringreturns qualified name as a string with "::" as a separator between qualifiers
val append_qualifier : t -> qual:string -> tappend qualifier to the end (innermost scope) of the qualified name
val extract_last : t -> (string * t) optionreturns last (innermost scope) qualifier and qualified name without last qualifier
val strip_template_args : t -> treturns qualified name without template arguments. For example:
- input: std::shared_ptr<int>::shared_ptr<long>
- output: std::shared_ptr::shared_ptr
val compare_name : t -> t -> intsimilar to compare, but compares only names, except template arguments
val append_template_args_to_last : t -> args:string -> tappend template arguments to the last qualifier. Fails if qualified name is empty or it already has template args
val to_list : t -> string listreturns list of qualifiers
val to_rev_list : t -> string listreturns reversed list of qualifiers, ie innermost scope is the first element
val of_list : string list -> tgiven list of qualifiers in normal order produce qualified name
"std", "move"
val of_rev_list : string list -> tgiven reversed list of qualifiers, produce qualified name (ie.
"move", "std"for std::move )
module Match : sig ... endModule to match qualified C++ procnames "fuzzily", that is up to namescapes and templating. In particular, this deals with the following issues:
module Set : IStdlib.PrettyPrintable.PPSet with type PPSet.elt = t