Fonctions membres publiques statiques | |
static String | replaceWithCmdLineArgs (const ParameterList ¶meter_list, StringView string_with_symbols, bool fatal_if_not_found=false, bool fatal_if_invalid=true) |
Méthode permettant de remplacer les symboles de la chaine de caractères string_with_symbols par leurs valeurs définies dans la liste des paramètres. | |
Fonctions membres privées statiques | |
static void | _splitString (StringView str_view, ArrayView< StringView > str_view_array, char c) |
Méthode permettant de splitter la chaine "str_view" en plusieurs morceaux. Les splits seront entre les chars "c". Les morceaux seront ajoutés dans le tableau "str_view_array". Les morceaux ayant une position impaire sont des symboles. Les morceaux ayant une position paire ne sont pas des symboles. Dans le cas où le nombre de morceaux est paire, le dernier morceau ne sera pas un symbole. Dans le cas où une arrobase est échappée, elle sera mise à une position impaire. Ce symbole spécial sera à considérer. | |
static void | _countChar (StringView str_view, char c, Integer &count_c, Integer &count_c_with_escape) |
Méthode permettant de compter le nombre de caractères séparateurs dans une chaine de caractères. | |
Définition à la ligne 36 du fichier StringVariableReplace.h.
|
staticprivate |
Méthode permettant de compter le nombre de caractères séparateurs dans une chaine de caractères.
str_view | La chaine de caractère. |
c | Le caractère séparant les morceaux. |
count_c | Le nombre total de caractère c |
count_c_with_escape | Le nombre de caractères c ayant un backslash avant. |
Définition à la ligne 249 du fichier StringVariableReplace.cc.
Référencé par replaceWithCmdLineArgs().
|
staticprivate |
Méthode permettant de splitter la chaine "str_view" en plusieurs morceaux. Les splits seront entre les chars "c". Les morceaux seront ajoutés dans le tableau "str_view_array". Les morceaux ayant une position impaire sont des symboles. Les morceaux ayant une position paire ne sont pas des symboles. Dans le cas où le nombre de morceaux est paire, le dernier morceau ne sera pas un symbole. Dans le cas où une arrobase est échappée, elle sera mise à une position impaire. Ce symbole spécial sera à considérer.
str_view | [IN] La chaine de caractères à split. |
str_view_array | [OUT] Le tableau qui contiendra les morceaux. |
c | Le char délimitant les morceaux. |
Définition à la ligne 177 du fichier StringVariableReplace.cc.
Référencé par replaceWithCmdLineArgs().
|
static |
Méthode permettant de remplacer les symboles de la chaine de caractères string_with_symbols par leurs valeurs définies dans la liste des paramètres.
Un symbole est représenté par une chaine de caractères entourée de deux "\@".
Exemple : "\@mesh_dir\@/cube.msh" avec un paramètre "mesh_dir=~/mesh" donnera : "~/mesh/cube.msh".
Pour éviter qu'un "\@" soit remplacé, il est possible de mettre un backslash avant. Le backslash sera supprimé par cette méthode.
Exemple : "\@mesh_dir\@/cube\\\@.msh" avec un paramètre "mesh_dir=~/mesh" donnera : "~/mesh/cube\@.msh".
Si le nombre d'arrobases est incorrect (sans compter les arrobases échappées), une erreur sera déclenchée, sauf si le paramètre fatal_if_invalid est à false. Dans ce cas, la dernière arrobase sera simplement supprimée.
Exemple : "\@mesh_dir\@\@/cube.msh" avec un paramètre "mesh_dir=~/mesh" donnera : "~/mesh/cube.msh".
Les symboles qui ne sont pas trouvés seront supprimés ou, si le paramètre fatal_if_not_found est à true, une erreur sera déclenchée.
Exemple : "\@mesh_dir\@/cube.msh" sans paramètres donnera : "/cube.msh".
Enfin, avoir un paramètre ayant un nom contenant une arrobase sera invalide. (en revanche, la valeur peut contenir des arrobases).
Exemple invalide : paramètre "mesh\@_dir=~/mesh" Exemple valide : paramètre "mesh_dir=~/\@/mesh"
parameter_list | La liste des paramètres à considérer. |
string_with_symbols | La chaine de caractères avec les symboles à remplacer. |
fatal_if_not_found | Si un symbole n'est pas trouvé dans la liste des paramètres, une erreur sera déclenchée si ce paramètre vaut true. |
fatal_if_invalid | Si la chaine de caractères est incorrecte, une erreur sera déclenchée si ce paramètre vaut true. Sinon, le résultat n'est pas garanti. |
Définition à la ligne 83 du fichier StringVariableReplace.cc.
Références _countChar(), _splitString(), et ARCANE_FATAL.
Référencé par Arcane::ArcaneCaseMeshService::createMesh().