Improve singleton

Close #6036
This commit is contained in:
Rajendra Singh 2019-08-11 08:58:28 +05:30 committed by Don HO
parent 3643a1875b
commit 938dae9b2a
No known key found for this signature in database
GPG Key ID: 6C429F1D8D84F46E
4 changed files with 39 additions and 9 deletions

View File

@ -38,14 +38,21 @@ public:
static EncodingMapper* getInstance() { static EncodingMapper* getInstance() {
static EncodingMapper instance; static EncodingMapper instance;
return &instance; return &instance;
}; }
int getEncodingFromIndex(int index) const; int getEncodingFromIndex(int index) const;
int getIndexFromEncoding(int encoding) const; int getIndexFromEncoding(int encoding) const;
int getEncodingFromString(const char * encodingAlias) const; int getEncodingFromString(const char * encodingAlias) const;
private: private:
EncodingMapper(){}; EncodingMapper() = default;
~EncodingMapper(){}; ~EncodingMapper() = default;
EncodingUnit* _encodings = nullptr;
// No copy ctor and assignment
EncodingMapper(const EncodingMapper&) = delete;
EncodingMapper& operator=(const EncodingMapper&) = delete;
// No move ctor and assignment
EncodingMapper(EncodingMapper&&) = delete;
EncodingMapper& operator=(EncodingMapper&&) = delete;
}; };

View File

@ -114,14 +114,18 @@ public:
} }
protected: protected:
WcharMbcsConvertor() {} WcharMbcsConvertor() = default;
~WcharMbcsConvertor() {} ~WcharMbcsConvertor() = default;
// Since there's no public ctor, we need to void the default assignment operator and copy ctor. // Since there's no public ctor, we need to void the default assignment operator and copy ctor.
// Since these are marked as deleted does not matter under which access specifier are kept // Since these are marked as deleted does not matter under which access specifier are kept
WcharMbcsConvertor(const WcharMbcsConvertor&) = delete; WcharMbcsConvertor(const WcharMbcsConvertor&) = delete;
WcharMbcsConvertor& operator= (const WcharMbcsConvertor&) = delete; WcharMbcsConvertor& operator= (const WcharMbcsConvertor&) = delete;
// No move ctor and assignment
WcharMbcsConvertor(WcharMbcsConvertor&&) = delete;
WcharMbcsConvertor& operator= (WcharMbcsConvertor&&) = delete;
template <class T> template <class T>
class StringBuffer final class StringBuffer final
{ {

View File

@ -1648,6 +1648,14 @@ private:
NppParameters(); NppParameters();
~NppParameters(); ~NppParameters();
// No copy ctor and assignment
NppParameters(const NppParameters&) = delete;
NppParameters& operator=(const NppParameters&) = delete;
// No move ctor and assignment
NppParameters(NppParameters&&) = delete;
NppParameters& operator=(NppParameters&&) = delete;
TiXmlDocument *_pXmlDoc = nullptr; TiXmlDocument *_pXmlDoc = nullptr;
TiXmlDocument *_pXmlUserDoc = nullptr; TiXmlDocument *_pXmlUserDoc = nullptr;
TiXmlDocument *_pXmlUserStylerDoc = nullptr; TiXmlDocument *_pXmlUserStylerDoc = nullptr;

View File

@ -122,7 +122,18 @@ private:
int _encoding; int _encoding;
EolType _eolFormat; EolType _eolFormat;
}; };
FileManager() = default;
~FileManager(); ~FileManager();
// No copy ctor and assignment
FileManager(const FileManager&) = delete;
FileManager& operator=(const FileManager&) = delete;
// No move ctor and assignment
FileManager(FileManager&&) = delete;
FileManager& operator=(FileManager&&) = delete;
int detectCodepage(char* buf, size_t len); int detectCodepage(char* buf, size_t len);
bool loadFileData(Document doc, const TCHAR* filename, char* buffer, Utf8_16_Read* UnicodeConvertor, LoadedFileFormat& fileFormat); bool loadFileData(Document doc, const TCHAR* filename, char* buffer, Utf8_16_Read* UnicodeConvertor, LoadedFileFormat& fileFormat);
LangType detectLanguageFromTextBegining(const unsigned char *data, size_t dataLen); LangType detectLanguageFromTextBegining(const unsigned char *data, size_t dataLen);