Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Fonctions membres protégées | Attributs protégés | Liste de tous les membres
Référence de la classe castor::FileParserabstract

#include <FileParser.hpp>

Graphe d'héritage de castor::FileParser:
Inheritance graph
[légende]
Graphe de collaboration de castor::FileParser:
Collaboration graph
[légende]

Fonctions membres publiques

CU_API FileParser (SectionId rootSectionId, void *rootBlockContext=nullptr)
 Constructeur.
 
CU_API FileParser (LoggerInstance &logger, SectionId rootSectionId, void *rootBlockContext=nullptr)
 Constructeur.
 
virtual CU_API ~FileParser () noexcept=default
 Destructeur.
 
CU_API void registerParsers (String const &name, AdditionalParsers const &parsers)
 Enregistre des analyseurs supplémentaires.
 
CU_API void processFile (String const &appName, Path path, PreprocessedFile &preprocessed)
 Fonction de traitement.
 
CU_API void processFile (Path const &path, PreprocessedFile &preprocessed)
 Fonction de traitement.
 
CU_API void processFile (Path const &path, String const &content, PreprocessedFile &preprocessed)
 Fonction de traitement.
 
CU_API PreprocessedFile processFile (String const &appName, Path const &path)
 Fonction de traitement.
 
CU_API PreprocessedFile processFile (Path const &path)
 Fonction de traitement.
 
CU_API PreprocessedFile processFile (Path const &path, String const &content)
 Fonction de traitement.
 
CU_API bool parseFile (String const &appName, Path const &path)
 Fonction de traitement.
 
CU_API bool parseFile (Path const &path)
 Fonction de traitement.
 
CU_API bool parseFile (Path const &path, String const &content)
 Fonction de traitement.
 
CU_API void parseError (String const &functionName, uint64_t lineIndex, String const &error)
 Log une erreur dans le fichier de log.
 
CU_API void parseWarning (String const &functionName, uint64_t lineIndex, String const &warning)
 Log un avertissement dans le fichier de log.
 
CU_API void addParser (SectionId oldSection, SectionId newSection, String const &name, ParserFunction const &function, ParserParameterArray const &params=ParserParameterArray())
 Ajoute une fonction d'analyse à la liste.
 
CU_API void addParser (SectionId section, String const &name, ParserFunction const &function, ParserParameterArray const &params=ParserParameterArray())
 Ajoute une fonction d'analyse à la liste.
 
bool isIgnored () const
 Dit si les lignes suivantes doivent être ignorées.
 
void ignore ()
 Incrémente le niveau d'ignorés.
 
LoggerInstancegetLogger () const
 
SectionId getRootSectionId () const
 
void * getRootBlockContext () const
 
void validate (PreprocessedFile &preprocessed)
 
String getSectionName (SectionId section) const
 
void cleanupParser (PreprocessedFile &preprocessed)
 
auto const & getAdditionalParsers () const
 

Fonctions membres protégées

virtual CU_API FileParserContextUPtr doInitialiseParser (Path const &path)
 Initialisation spécifique.
 
virtual CU_API void doCleanupParser (PreprocessedFile &preprocessed)=0
 Nettoyage spécifique.
 
virtual CU_API bool doDiscardParser (PreprocessedFile &preprocessed, StringView line)
 Fonction appelée si aucun analyseur n'est trouvé pour traiter la ligne.
 
virtual CU_API void doValidate (PreprocessedFile &preprocessed)=0
 Fonction appelée si l'analyse est complétée sans erreurs.
 
virtual CU_API String doGetSectionName (SectionId section) const =0
 donne le nom associé à l'ID de section.
 
virtual CU_API castor::RawUniquePtr< FileParserdoCreateParser () const =0
 
- Fonctions membres protégées hérités de castor::NonMovable
 NonMovable ()=default
 Constructeur.
 
 ~NonMovable () noexcept=default
 Destructeur.
 

Attributs protégés

LoggerInstancem_logger
 
AttributeParsers m_parsers
 
bool m_ignored { false }
 
StrStrMap m_defines
 

Documentation des constructeurs et destructeur

◆ FileParser() [1/2]

CU_API castor::FileParser::FileParser ( SectionId rootSectionId,
void * rootBlockContext = nullptr )
explicit

Constructeur.

Paramètres
[in]rootSectionIdL'id de la section de root.
[in]rootBlockContextLe contexte de block de root.

◆ FileParser() [2/2]

CU_API castor::FileParser::FileParser ( LoggerInstance & logger,
SectionId rootSectionId,
void * rootBlockContext = nullptr )

Constructeur.

Paramètres
[in]loggerL'instance de logging.
[in]rootSectionIdL'id de la section de root.
[in]rootBlockContextLe contexte de block de root.

◆ ~FileParser()

virtual CU_API castor::FileParser::~FileParser ( )
virtualdefaultnoexcept

Destructeur.

Documentation des fonctions membres

◆ addParser() [1/2]

CU_API void castor::FileParser::addParser ( SectionId oldSection,
SectionId newSection,
String const & name,
ParserFunction const & function,
ParserParameterArray const & params = ParserParameterArray() )

Ajoute une fonction d'analyse à la liste.

Paramètres
[in]oldSectionLa section sur laquelle la fonction est appliquée.
[in]newSectionLa section résultant de l'application de la fonction.
[in]nameLe nom de la fonction.
[in]functionLa fonction d'analyse.
[in]paramsLes paramètres attendus.

◆ addParser() [2/2]

CU_API void castor::FileParser::addParser ( SectionId section,
String const & name,
ParserFunction const & function,
ParserParameterArray const & params = ParserParameterArray() )

Ajoute une fonction d'analyse à la liste.

Paramètres
[in]sectionLa section.
[in]nameLe nom de la fonction.
[in]functionLa fonction d'analyse.
[in]paramsLes paramètres attendus.

◆ cleanupParser()

void castor::FileParser::cleanupParser ( PreprocessedFile & preprocessed)
inline

Références doCleanupParser().

Voici le graphe d'appel pour cette fonction :

◆ doCleanupParser()

virtual CU_API void castor::FileParser::doCleanupParser ( PreprocessedFile & preprocessed)
protectedpure virtual

Nettoyage spécifique.

Référencé par cleanupParser().

Voici le graphe des appelants de cette fonction :

◆ doCreateParser()

virtual CU_API castor::RawUniquePtr< FileParser > castor::FileParser::doCreateParser ( ) const
protectedpure virtual

◆ doDiscardParser()

virtual CU_API bool castor::FileParser::doDiscardParser ( PreprocessedFile & preprocessed,
StringView line )
protectedvirtual

Fonction appelée si aucun analyseur n'est trouvé pour traiter la ligne.

Paramètres
[in]preprocessedLe fichier pré-traité.
[in]lineLa ligne.
Renvoie
false si la ligne doit être ignorée.

◆ doGetSectionName()

virtual CU_API String castor::FileParser::doGetSectionName ( SectionId section) const
protectedpure virtual

donne le nom associé à l'ID de section.

Paramètres
[in]sectionL'ID de section
Renvoie
Le nom.

Référencé par getSectionName().

Voici le graphe des appelants de cette fonction :

◆ doInitialiseParser()

virtual CU_API FileParserContextUPtr castor::FileParser::doInitialiseParser ( Path const & path)
protectedvirtual

Initialisation spécifique.

Paramètres
[in]pathLe chemin d'accès au fichier.

◆ doValidate()

virtual CU_API void castor::FileParser::doValidate ( PreprocessedFile & preprocessed)
protectedpure virtual

Fonction appelée si l'analyse est complétée sans erreurs.

Référencé par validate().

Voici le graphe des appelants de cette fonction :

◆ getAdditionalParsers()

auto const & castor::FileParser::getAdditionalParsers ( ) const
inline

◆ getLogger()

LoggerInstance & castor::FileParser::getLogger ( ) const
inline

Références m_logger.

◆ getRootBlockContext()

void * castor::FileParser::getRootBlockContext ( ) const
inline

◆ getRootSectionId()

SectionId castor::FileParser::getRootSectionId ( ) const
inline

◆ getSectionName()

String castor::FileParser::getSectionName ( SectionId section) const
inline

Références doGetSectionName().

Voici le graphe d'appel pour cette fonction :

◆ ignore()

void castor::FileParser::ignore ( )
inline

Incrémente le niveau d'ignorés.

Références m_ignored.

◆ isIgnored()

bool castor::FileParser::isIgnored ( ) const
inline

Dit si les lignes suivantes doivent être ignorées.

Références m_ignored.

◆ parseError()

CU_API void castor::FileParser::parseError ( String const & functionName,
uint64_t lineIndex,
String const & error )

Log une erreur dans le fichier de log.

Paramètres
[in]functionNameLa fonction de l'erreur.
[in]lineIndexLa ligne de l'erreur.
[in]errorLe texte de l'erreur.

◆ parseFile() [1/3]

CU_API bool castor::FileParser::parseFile ( Path const & path)

Fonction de traitement.

Paramètres
[in]pathLe chemin d'accès au fichier.
Renvoie
true si tout s'est bien passé.

◆ parseFile() [2/3]

CU_API bool castor::FileParser::parseFile ( Path const & path,
String const & content )

Fonction de traitement.

Paramètres
[in]pathLe chemin d'accès au fichier.
[in]contentLe contenu du fichier.
Renvoie
true si tout s'est bien passé.

◆ parseFile() [3/3]

CU_API bool castor::FileParser::parseFile ( String const & appName,
Path const & path )

Fonction de traitement.

Paramètres
[in]appNameLe nom de l'application, si un dézip est nécessaire.
[in]pathLe chemin d'accès au fichier.
Renvoie
true si tout s'est bien passé.

◆ parseWarning()

CU_API void castor::FileParser::parseWarning ( String const & functionName,
uint64_t lineIndex,
String const & warning )

Log un avertissement dans le fichier de log.

Paramètres
[in]functionNameLa fonction de l'avertissement.
[in]lineIndexLa ligne de l'avertissement.
[in]warningLe texte de l'avertissement.

◆ processFile() [1/6]

CU_API PreprocessedFile castor::FileParser::processFile ( Path const & path)

Fonction de traitement.

Paramètres
[in]pathLe chemin d'accès au fichier.
Renvoie
Le fichier pré-traité.

◆ processFile() [2/6]

CU_API void castor::FileParser::processFile ( Path const & path,
PreprocessedFile & preprocessed )

Fonction de traitement.

Paramètres
[in]pathLe chemin d'accès au fichier.
[in]preprocessedLe fichier pré-traité.

◆ processFile() [3/6]

CU_API PreprocessedFile castor::FileParser::processFile ( Path const & path,
String const & content )

Fonction de traitement.

Paramètres
[in]pathLe chemin d'accès au fichier.
[in]contentLe contenu du fichier.
Renvoie
Le fichier pré-traité.

◆ processFile() [4/6]

CU_API void castor::FileParser::processFile ( Path const & path,
String const & content,
PreprocessedFile & preprocessed )

Fonction de traitement.

Paramètres
[in]pathLe chemin d'accès au fichier.
[in]contentLe contenu du fichier.
[in]preprocessedLe fichier pré-traité.

◆ processFile() [5/6]

CU_API PreprocessedFile castor::FileParser::processFile ( String const & appName,
Path const & path )

Fonction de traitement.

Paramètres
[in]appNameLe nom de l'application, si un dézip est nécessaire.
[in]pathLe chemin d'accès au fichier.
Renvoie
Le fichier pré-traité.

◆ processFile() [6/6]

CU_API void castor::FileParser::processFile ( String const & appName,
Path path,
PreprocessedFile & preprocessed )

Fonction de traitement.

Paramètres
[in]appNameLe nom de l'application, si un dézip est nécessaire.
[in]pathLe chemin d'accès au fichier.
[in]preprocessedLe fichier pré-traité.

◆ registerParsers()

CU_API void castor::FileParser::registerParsers ( String const & name,
AdditionalParsers const & parsers )

Enregistre des analyseurs supplémentaires.

Paramètres
[in]nameLe nom d'enregistrement.
[in]parsersLes analyseurs.

◆ validate()

void castor::FileParser::validate ( PreprocessedFile & preprocessed)
inline

Références doValidate().

Voici le graphe d'appel pour cette fonction :

Documentation des données membres

◆ m_defines

StrStrMap castor::FileParser::m_defines
protected

La map de defines.

◆ m_ignored

bool castor::FileParser::m_ignored { false }
protected

Dit que les ligne slues sont ignorées.

Référencé par ignore(), et isIgnored().

◆ m_logger

LoggerInstance& castor::FileParser::m_logger
protected

Référencé par getLogger().

◆ m_parsers

AttributeParsers castor::FileParser::m_parsers
protected

Les fonctions du parseur.


La documentation de cette classe a été générée à partir du fichier suivant :