Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor::BinaryFile

Classe de gestion de fichier. Plus de détails...

#include <BinaryFile.hpp>

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

Fonctions membres publiques

CU_API BinaryFile (Path const &fileName, FlagCombination< OpenMode > const &mode, EncodingMode encodingMode=EncodingMode::eASCII)
 Ouvre le fichier situé au chemin donné, avec le mode et l'encodage donnés.
 
CU_API bool write (String const &toWrite)
 Ecrit une chaîne de caractères dans le fichier (en binaire, donc écrit d'abord la taille puis le contenu, sans le '\0')
 
CU_API bool read (String &toRead)
 Lit une chaîne de caractères à partir du fichier (en binaire, donc lit d'abord la taille puis le contenu)
 
template<typename T >
uint64_t write (T const &toWrite)
 Ecrit un objet dans le fichier.
 
template<typename T >
uint64_t read (T &toRead)
 Lit un objet à partir du fichier.
 
template<typename T >
uint64_t writeArray (T const *toWrite, uint64_t count)
 Ecrit un tableau dynamique d'objets dans du fichier.
 
template<typename T , uint64_t N>
uint64_t writeArray (T const(&toWrite)[N])
 Ecrit un tableau statique d'objets dans du fichier.
 
template<typename T >
uint64_t readArray (T *toRead, uint64_t count)
 Lit un tableau dynamique d'objets à partir du fichier.
 
template<typename T , uint64_t N>
uint64_t readArray (T(&toRead)[N])
 Lit un tableau statique d'objets à partir du fichier.
 
- Fonctions membres publiques hérités de castor::File
virtual CU_API ~File () noexcept
 Destructeur, ferme le fichier.
 
CU_API int seek (long long offset, OffsetMode origin=OffsetMode::eBeginning)
 Fonction de déplacement dans le fichier, selon l'offset et le mode donnés.
 
CU_API long long getLength ()
 Récupère la taille du fichier.
 
CU_API bool isOk () const
 Dit si le curseur du fichier est OK.
 
CU_API long long tell ()
 Récupère la position du curseur du fichier.
 
Path const & getFileFullPath () const
 Récupère le chemin, nom et extension du fichier.
 
Path getFilePath () const
 Récupère le chemin du fichier.
 
Path getFileName () const
 Récupère le nom et l'extension du fichier.
 

Membres hérités additionnels

- Types publics hérités de castor::File
enum class  CreateMode : uint32_t {
  eUserRead = 0x00000001 , eUserWrite = 0x00000002 , eUserExec = 0x00000004 , eGroupRead = 0x00000010 ,
  eGroupWrite = 0x00000020 , eGroupExec = 0x00000040 , eOthersRead = 0x00000100 , eOthersWrite = 0x00000200 ,
  eOthersExec = 0x00000400 , eUserRWX = eUserRead | eUserWrite | eUserExec , eGroupRWX = eGroupRead | eGroupWrite | eGroupExec , eOthersRWX = eOthersRead | eOthersWrite | eOthersExec ,
  eAllRWX = eUserRWX | eGroupRWX | eOthersRWX
}
 Enumérateur des modes d'ouverture. Plus de détails...
 
enum class  OpenMode : uint32_t {
  eDummy = 0x00000000 , eRead = 0x00000001 , eWrite = 0x00000002 , eAppend = 0x00000004 ,
  eBinary = 0x00000008
}
 Enumérateur des modes d'ouverture. Plus de détails...
 
enum class  OffsetMode : uint8_t {
  eBeginning = 0 , eCurrent = 1 , eEnd = 2 , eCount ,
  eMin = eBeginning
}
 Modes d'offset pour la fonction seek. Plus de détails...
 
enum class  EncodingMode : uint8_t {
  eAuto = 0 , eASCII = 1 , eUTF8 = 2 , eUTF16 = 3 ,
  eCount , eMin = eAuto
}
 Mode d'encodage des fichiers texte. Plus de détails...
 
using TraverseDirFunction = castor::Function< bool( Path const & path ) >
 
using HitFileFunction = castor::Function< void( Path const & folder, String const & name ) >
 
using FilterFunction = castor::Function< bool( Path const & folder, String const & name ) >
 
- Fonctions membres publiques statiques hérités de castor::File
static CU_API bool traverseDirectory (Path const &folderPath, TraverseDirFunction const &directoryFunction, HitFileFunction const &fileFunction)
 Traverses the files and directories of a directory.
 
static CU_API PathArray filterDirectoryFiles (Path const &folderPath, FilterFunction const &onFile, bool recursive=false)
 Filters the files in a directory, recursively or not.
 
static CU_API bool listDirectoryFiles (Path const &folderPath, PathArray &files, bool recursive=false)
 Liste tous les fichiers d'un répertoire, récursivement ou pas.
 
static CU_API Path getExecutableDirectory ()
 donne le répertoire d'exécution
 
static CU_API Path getUserDirectory ()
 donne le répertoire de l'utilisateur courant
 
static CU_API bool directoryExists (Path const &folderPath)
 Teste l'existence d'un dossier.
 
static CU_API bool directoryCreate (Path const &folderPath, FlagCombination< CreateMode > const &flags=CreateMode::eAllRWX)
 Crée un dossier.
 
static CU_API bool directoryDelete (Path const &folderPath)
 Supprime un dossier vide.
 
static CU_API bool fileExists (Path const &filePath)
 Teste l'existence d'un fichier.
 
static CU_API bool deleteFile (Path const &filePath)
 Supprime un fichier.
 
static CU_API bool copyFile (Path const &filePath, Path const &folderPath, bool allowReplace=false)
 Copie un fichier dans un dossier.
 
static CU_API bool copyFileName (Path const &srcFileName, Path const &dstFileName, bool allowReplace=false)
 Copie un fichier.
 
static CU_API String normaliseFileName (String const &name)
 Remplace les caractères non valides pour un nim de fichier par des '_'.
 
- Fonctions membres protégées hérités de castor::File
CU_API File (Path const &filePath, FlagCombination< OpenMode > const &mode, EncodingMode encoding=EncodingMode::eASCII)
 Ouvre le fichier situé au chemin donné, avec le mode et l'encodage donnés.
 
 CU_DeclareInvariantBlock ()
 
CU_API uint64_t doWrite (uint8_t const *buffer, uint64_t size)
 
CU_API uint64_t doRead (uint8_t *buffer, uint64_t size)
 
- Fonctions membres protégées hérités de castor::NonMovable
 NonMovable ()=default
 Constructeur.
 
 ~NonMovable () noexcept=default
 Destructeur.
 
- Attributs protégés hérités de castor::File
FlagCombination< OpenModem_mode { 0u }
 
EncodingMode m_encoding { EncodingMode::eASCII }
 
Path m_fileFullPath
 
FILE * m_file { nullptr }
 
uint64_t m_cursor { 0 }
 
uint64_t m_length { 0 }
 

Description détaillée

Classe de gestion de fichier.

Remarques
Ajoute quelques fonctions statiques de vérification d'existence, suppression, ...

Documentation des constructeurs et destructeur

◆ BinaryFile()

CU_API castor::BinaryFile::BinaryFile ( Path const & fileName,
FlagCombination< OpenMode > const & mode,
EncodingMode encodingMode = EncodingMode::eASCII )

Ouvre le fichier situé au chemin donné, avec le mode et l'encodage donnés.

Paramètres
[in]fileNameLe chemin du fichier
[in]modeLe mode d'ouverture, combinaison d'un ou plusieurs OpenMode
[in]encodingModeLe mode d'encodage

Documentation des fonctions membres

◆ read() [1/2]

CU_API bool castor::BinaryFile::read ( String & toRead)

Lit une chaîne de caractères à partir du fichier (en binaire, donc lit d'abord la taille puis le contenu)

Paramètres
[out]toReadLa chaîne
Renvoie
true si la lecture s'est bien déroulée

◆ read() [2/2]

template<typename T >
uint64_t castor::BinaryFile::read ( T & toRead)

Lit un objet à partir du fichier.

Paramètres
[out]toReadL'objet
Renvoie
Le nombre d'octets lus

◆ readArray() [1/2]

template<typename T >
uint64_t castor::BinaryFile::readArray ( T * toRead,
uint64_t count )

Lit un tableau dynamique d'objets à partir du fichier.

Paramètres
[out]toReadLe tableau d'objets (doit être alloué avant l'appel)
[in]countLa taille du tableau
Renvoie
Le nombre d'octets lus

◆ readArray() [2/2]

template<typename T , uint64_t N>
uint64_t castor::BinaryFile::readArray ( T(&) toRead[N])

Lit un tableau statique d'objets à partir du fichier.

Paramètres
[out]toReadLe tableau d'objets
Remarques
La taille du tableau est déduite à partir du paramètre
Renvoie
Le nombre d'octets lus

◆ write() [1/2]

CU_API bool castor::BinaryFile::write ( String const & toWrite)

Ecrit une chaîne de caractères dans le fichier (en binaire, donc écrit d'abord la taille puis le contenu, sans le '\0')

Paramètres
[in]toWriteLa chaîne
Renvoie
true si l'écriture s'est bien déroulée

◆ write() [2/2]

template<typename T >
uint64_t castor::BinaryFile::write ( T const & toWrite)

Ecrit un objet dans le fichier.

Paramètres
[in]toWriteL'objet
Renvoie
Le nombre d'octets écrits

◆ writeArray() [1/2]

template<typename T >
uint64_t castor::BinaryFile::writeArray ( T const * toWrite,
uint64_t count )

Ecrit un tableau dynamique d'objets dans du fichier.

Paramètres
[in]toWriteLe tableau d'objets
[in]countLa taille du tableau
Renvoie
Le nombre d'octets écrits

◆ writeArray() [2/2]

template<typename T , uint64_t N>
uint64_t castor::BinaryFile::writeArray ( T const(&) toWrite[N])

Ecrit un tableau statique d'objets dans du fichier.

Remarques
La taille du tableau est déduite à partir du paramètre
Paramètres
[in]toWriteLe tableau d'objets
Renvoie
Le nombre d'octets écrits

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