Castor3D 0.16.0
Multiplatform 3D engine
|
Classe de gestion de fichier. Plus de détails...
#include <BinaryFile.hpp>
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< OpenMode > | m_mode { 0u } |
EncodingMode | m_encoding { EncodingMode::eASCII } |
Path | m_fileFullPath |
FILE * | m_file { nullptr } |
uint64_t | m_cursor { 0 } |
uint64_t | m_length { 0 } |
Classe de gestion de fichier.
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.
[in] | fileName | Le chemin du fichier |
[in] | mode | Le mode d'ouverture, combinaison d'un ou plusieurs OpenMode |
[in] | encodingMode | Le mode d'encodage |
Lit une chaîne de caractères à partir du fichier (en binaire, donc lit d'abord la taille puis le contenu)
[out] | toRead | La chaîne |
true
si la lecture s'est bien déroulée uint64_t castor::BinaryFile::read | ( | T & | toRead | ) |
Lit un objet à partir du fichier.
[out] | toRead | L'objet |
uint64_t castor::BinaryFile::readArray | ( | T * | toRead, |
uint64_t | count ) |
Lit un tableau dynamique d'objets à partir du fichier.
[out] | toRead | Le tableau d'objets (doit être alloué avant l'appel) |
[in] | count | La taille du tableau |
uint64_t castor::BinaryFile::readArray | ( | T(&) | toRead[N] | ) |
Lit un tableau statique d'objets à partir du fichier.
[out] | toRead | Le tableau d'objets |
Ecrit une chaîne de caractères dans le fichier (en binaire, donc écrit d'abord la taille puis le contenu, sans le '\0')
[in] | toWrite | La chaîne |
true
si l'écriture s'est bien déroulée uint64_t castor::BinaryFile::write | ( | T const & | toWrite | ) |
Ecrit un objet dans le fichier.
[in] | toWrite | L'objet |
uint64_t castor::BinaryFile::writeArray | ( | T const * | toWrite, |
uint64_t | count ) |
Ecrit un tableau dynamique d'objets dans du fichier.
[in] | toWrite | Le tableau d'objets |
[in] | count | La taille du tableau |
uint64_t castor::BinaryFile::writeArray | ( | T const(&) | toWrite[N] | ) |
Ecrit un tableau statique d'objets dans du fichier.
[in] | toWrite | Le tableau d'objets |