Arcane  v3.15.3.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::StringVariableReplace
+ Graphe de collaboration de Arcane::StringVariableReplace:

Fonctions membres publiques statiques

static String replaceWithCmdLineArgs (const ParameterList &parameter_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.
 

Description détaillée

Définition à la ligne 36 du fichier StringVariableReplace.h.

Documentation des fonctions membres

◆ _countChar()

void Arcane::StringVariableReplace::_countChar ( StringView  str_view,
char  c,
Integer &  count_c,
Integer &  count_c_with_escape 
)
staticprivate

Méthode permettant de compter le nombre de caractères séparateurs dans une chaine de caractères.

Paramètres
str_viewLa chaine de caractère.
cLe caractère séparant les morceaux.
count_cLe nombre total de caractère c
count_c_with_escapeLe nombre de caractères c ayant un backslash avant.

Définition à la ligne 249 du fichier StringVariableReplace.cc.

Référencé par replaceWithCmdLineArgs().

◆ _splitString()

void Arcane::StringVariableReplace::_splitString ( StringView  str_view,
ArrayView< StringView str_view_array,
char  c 
)
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.

Paramètres
str_view[IN] La chaine de caractères à split.
str_view_array[OUT] Le tableau qui contiendra les morceaux.
cLe char délimitant les morceaux.

Définition à la ligne 177 du fichier StringVariableReplace.cc.

Référencé par replaceWithCmdLineArgs().

◆ replaceWithCmdLineArgs()

String Arcane::StringVariableReplace::replaceWithCmdLineArgs ( const ParameterList parameter_list,
StringView  string_with_symbols,
bool  fatal_if_not_found = false,
bool  fatal_if_invalid = true 
)
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"

Paramètres
parameter_listLa liste des paramètres à considérer.
string_with_symbolsLa chaine de caractères avec les symboles à remplacer.
fatal_if_not_foundSi 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_invalidSi 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.
Renvoie
La chaine de caractères avec les symboles remplacés par leurs valeurs.

Définition à la ligne 83 du fichier StringVariableReplace.cc.

Références _countChar(), _splitString(), et ARCANE_FATAL.

Référencé par Arcane::ArcaneCaseMeshService::createMesh().


La documentation de cette classe a été générée à partir des fichiers suivants :