diff options
Diffstat (limited to 'Src/WAT/WAT.h')
-rw-r--r-- | Src/WAT/WAT.h | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/Src/WAT/WAT.h b/Src/WAT/WAT.h new file mode 100644 index 00000000..f0889a2b --- /dev/null +++ b/Src/WAT/WAT.h @@ -0,0 +1,197 @@ +#pragma once + +#ifndef _WA_FILE_HEADER +#define _WA_FILE_HEADER + +#include <stdio.h> + +#include <sys/stat.h> +#include <string> +#include <string.h> +#include <algorithm> +#include <cstring> +#include <cstdarg> +#include <cwchar> +#include <wchar.h> +#include <fstream> +#include <io.h> +#include <iostream> +#include <streambuf> + +#include <vector> +#include <map> + +#include <cstddef> +#include <sys/stat.h> + +#define DEFAULT_STR_BUFFER_SIZE 1024 + +//namespace fs = std::experimental::filesystem; + +namespace wa +{ + namespace files + { + bool file_exists( const char *p_filename ); + bool file_exists( const std::string &p_filename ); + bool file_exists( const wchar_t *p_filename ); + + int file_size( const char *p_filename ); + int file_size( const wchar_t *p_filename ); + + bool folder_exists( const char* p_folder ); + + bool getFilenamesFromFolder( std::vector<std::string> &p_result, const std::string &p_folder_path, const std::string &p_reg_ex, const size_t p_limit = 100 ); + } + + namespace strings + { + namespace convert + { + // + // to const char* + // + const char* to_char( const wchar_t *p_message ); + const char* to_char( const std::wstring p_message ); + + + // + // to const wchar_t* + // + const wchar_t *to_wchar( const char *p_message ); + + + // + // to std::string + // + std::string to_string( const char *p_message ); + std::string to_string( const wchar_t *p_message ); + std::string to_string( const std::wstring p_message ); + + + // + // to std::wstring + // + std::wstring to_wstring( const char *p_message ); + std::wstring to_wstring( const wchar_t *p_message ); + std::wstring to_wstring( const std::string p_message ); + + } + + void replace( std::string &p_string, const std::string &p_from, const std::string &p_to ); + void replace( char *p_string, const char *p_from, const char *p_to ); + void replace( wchar_t *p_string, const wchar_t *p_from, const wchar_t *p_to ); + + void replaceAll( std::string &p_string, const std::string &p_from, const std::string &p_to ); + void replaceAll( char *p_string, const char *p_from, const char *p_to ); + void replaceAll( wchar_t *p_string, const wchar_t *p_from, const wchar_t *p_to ); + + std::string create_string( const char *Format, ... ); + std::string create_string( const wchar_t *Format, ... ); + std::string create_string( const std::string Format, ... ); + + class wa_string + { + public: + wa_string( const char *p_initial = NULL ); + wa_string( const wchar_t *p_initial = NULL ); + wa_string( const std::string &p_initial ); + wa_string( const std::wstring &p_initial ); + + void operator = ( const char *p_value ); + void operator = ( const wchar_t *p_value ); + void operator = ( const std::string &p_value ); + void operator = ( const std::wstring &p_value ); + + bool operator == ( const char *p_value ) const; + bool operator == ( const wchar_t *p_value ) const; + bool operator == ( const std::string &p_value ) const; + bool operator == ( const std::wstring &p_value ) const; + + bool operator != ( const char *p_value ) const; + bool operator != ( const wchar_t *p_value ) const; + bool operator != ( const std::string &p_value ) const; + bool operator != ( const int p_value ) const; + + wa_string operator + ( const char *p_value ); + wa_string operator + ( const wchar_t *p_value ); + wa_string operator + ( const std::string &p_value ); + wa_string operator + ( const std::wstring &p_value); + wa_string operator + ( const int p_value ); + + wa_string append( const char *p_value ); + wa_string append( const wchar_t *p_value ); + wa_string append( const std::string &p_value ); + wa_string append( const std::wstring &p_value ); + wa_string append( const wa_string p_value); + wa_string append( const int p_value ); + + const std::string GetA() const; + const std::wstring GetW() const; + + void clear() { _wa_string.clear(); } + + unsigned int lengthA() const; + unsigned int lengthW() const; + unsigned int lengthS() const; + unsigned int lengthWS() const; + + bool contains( const char *p_value ); + bool contains( const wchar_t *p_value ); + bool contains( const std::string &p_value ); + bool contains( const std::wstring &p_value ); + + wa_string replace( const char *p_from, const char *p_to ); + wa_string replace( const wchar_t *p_from, const wchar_t *p_to ); + wa_string replace( const std::string &p_from, const std::string &p_to ); + wa_string replace( const std::wstring &p_from, const std::wstring &p_to ); + + wa_string replaceAll( const char *p_from, const char *p_to ); + wa_string replaceAll( const wchar_t *p_from, const wchar_t *p_to ); + wa_string replaceAll( const std::string &p_from, const std::string &p_to ); + wa_string replaceAll( const std::wstring &p_from, const std::wstring &p_to ); + + bool startsWith( const char *l_head ) const; + bool startsWith( const wchar_t *l_head ) const; + bool startsWith( const std::string &l_head ) const; + bool startsWith( const std::wstring &l_head ) const; + + bool endsWith( const char *l_tail ) const; + bool endsWith( const wchar_t *l_tail ) const; + bool endsWith( const std::string &l_tail ) const; + bool endsWith( const std::wstring &l_tail ) const; + + int findFirst( const char *l_text ) const; + int findFirst( const wchar_t *l_text ) const; + int findFirst( const std::string &l_text ) const; + int findFirst( const std::wstring &l_text ) const; + + int findLast( const char *l_text ) const; + int findLast( const wchar_t *l_text ) const; + int findLast( const std::string &l_text ) const; + int findLast( const std::wstring &l_text ) const; + + int find( const std::wstring &l_text ) const; + + std::wstring mid( const int p_start, const int p_length ) const; + + bool empty() const { return _wa_string.empty(); } + + wa_string toUpper(); + + + private: + std::wstring _wa_string; + + }; + } + + namespace bits_operation + { + unsigned char* GetBits(unsigned char* Source, unsigned int NbrOfBits, unsigned int* BufferSize); + wa::strings::wa_string PrintInBinary(unsigned char* buffer, unsigned int size); + } +} + +#endif // !_WA_FILE_HEADER + |