From efaae087a621373a214c9e7053b5bba616390bfb Mon Sep 17 00:00:00 2001 From: Jessica James Date: Wed, 19 Dec 2018 15:43:06 -0600 Subject: [PATCH] Fixed GCC compilation issues --- .gitignore | 2 + src/common/DataBuffer.cpp | 4 +- src/common/Database.cpp | 4 +- src/common/File.cpp | 4 +- src/common/Plugin.cpp | 2 +- src/common/Socket.cpp | 4 +- src/include/CString.h | 24 ++++++------ src/include/CString_Imp.h | 59 ++++++++++++++--------------- src/include/DataBuffer_Imp.h | 60 +++++++++++++++--------------- src/include/Hash_Table_Imp.h | 12 ++---- src/include/Readable_String.h | 8 ++-- src/include/Readable_String_Imp.h | 16 +++++--- src/include/Reference_String.h | 12 +++--- src/include/Reference_String_Imp.h | 34 ++++++++--------- src/include/SecureSocket.h | 2 +- src/include/Socket.h | 10 ++++- src/include/String.hpp | 24 ++++++------ src/include/String_Imp.h | 24 ++++++------ src/include/TCPSocket.h | 4 +- src/include/UDPSocket.h | 2 +- 20 files changed, 163 insertions(+), 148 deletions(-) diff --git a/.gitignore b/.gitignore index 0453265..d1545b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.idea/ + ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. diff --git a/src/common/DataBuffer.cpp b/src/common/DataBuffer.cpp index f3350a4..442830b 100644 --- a/src/common/DataBuffer.cpp +++ b/src/common/DataBuffer.cpp @@ -17,6 +17,7 @@ */ #include +#include #include "DataBuffer.h" #include "Reference_String.h" @@ -126,7 +127,8 @@ void Jupiter::DataBuffer::pop_from(FILE *file, size_t size_) void Jupiter::DataBuffer::copy_to(FILE *file) { - fwrite(std::addressof(Jupiter::DataBuffer::size()), sizeof(size_t), 1, file); + size_t data_size = Jupiter::DataBuffer::size(); + fwrite(&data_size, sizeof(size_t), 1, file); Jupiter::DataBuffer::copy_to(file, Jupiter::DataBuffer::size()); } diff --git a/src/common/Database.cpp b/src/common/Database.cpp index 77b1d28..337cc19 100644 --- a/src/common/Database.cpp +++ b/src/common/Database.cpp @@ -17,6 +17,7 @@ */ #include "Database.h" +#include struct Jupiter::Database::Data { @@ -151,7 +152,8 @@ bool Jupiter::Database::append(const char *file, Jupiter::DataBuffer &data) bool Jupiter::Database::append(FILE *file, Jupiter::DataBuffer &data) { - fwrite(std::addressof(data.size()), sizeof(size_t), 1, file); + size_t data_size = data.size(); + fwrite(&data_size, sizeof(size_t), 1, file); fwrite(data.getHead(), sizeof(uint8_t), data.size(), file); return true; } diff --git a/src/common/File.cpp b/src/common/File.cpp index 3e7ef63..26552ed 100644 --- a/src/common/File.cpp +++ b/src/common/File.cpp @@ -41,8 +41,8 @@ int64_t getFileSize(const char *file) const size_t defaultBufferSize = 8192; -template class JUPITER_API Jupiter::CString_Type; -template class JUPITER_API Jupiter::ArrayList; +//template class JUPITER_API Jupiter::CString_Type; +//template class JUPITER_API Jupiter::ArrayList; struct JUPITER_API Jupiter::File::Data { diff --git a/src/common/Plugin.cpp b/src/common/Plugin.cpp index 765635b..f60d861 100644 --- a/src/common/Plugin.cpp +++ b/src/common/Plugin.cpp @@ -57,7 +57,7 @@ dlib::~dlib() #if defined _WIN32 FreeLibrary(dlib::lib); #else // _WIN32 - dlclose(dllib::lib); + dlclose(dlib::lib); #endif // _WIN32 } } diff --git a/src/common/Socket.cpp b/src/common/Socket.cpp index bdc9b53..3f8d472 100644 --- a/src/common/Socket.cpp +++ b/src/common/Socket.cpp @@ -416,7 +416,7 @@ Jupiter::StringS Jupiter::Socket::ntop(void *ip, size_t size) Jupiter::Socket *Jupiter::Socket::accept() { sockaddr addr; - int size = sizeof(addr); + socklen_t size = sizeof(addr); SocketType tSock = ::accept(Socket::data_->rawSock, &addr, &size); if (tSock != INVALID_SOCKET) { @@ -482,7 +482,7 @@ bool Jupiter::Socket::getBlockingMode() const #if defined _WIN32 return !Jupiter::Socket::data_->blockMode; #else // _WIN32 - int flags = fcntl(sock_fd, F_GETFL, 0); + int flags = fcntl(data_->rawSock, F_GETFL, 0); if (flags == -1) return false; return !(flags & O_NONBLOCK); #endif diff --git a/src/include/CString.h b/src/include/CString.h index a6c7e42..0b916b8 100644 --- a/src/include/CString.h +++ b/src/include/CString.h @@ -190,9 +190,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - Jupiter::Readable_String::TokenizeResult tokenize(const T &separator) const; - Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &separator) const; - Jupiter::Readable_String::TokenizeResult tokenize(const T *separator, size_t separator_size) const; + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T &separator) const; + typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &separator) const; + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T *separator, size_t separator_size) const; /** * @brief Tokenizes a string, based on an input token separator @@ -201,9 +201,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - static Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); - static Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); - static Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); /** * @brief Copies the data from the input string to the CString. @@ -425,9 +425,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - Jupiter::Readable_String::TokenizeResult tokenize(const T &separator); - Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &separator); - Jupiter::Readable_String::TokenizeResult tokenize(const T *separator, size_t separator_size); + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T &separator); + typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &separator); + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T *separator, size_t separator_size); /** * @brief Tokenizes a string, based on an input token separator @@ -436,9 +436,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - static Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); - static Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); - static Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); /** * @brief Sets the internal buffer to be at least large enough to old a specified number of elements. diff --git a/src/include/CString_Imp.h b/src/include/CString_Imp.h index 78ed739..c557ba7 100644 --- a/src/include/CString_Imp.h +++ b/src/include/CString_Imp.h @@ -27,6 +27,7 @@ #include "Functions.h" #include "CString.h" +#include "String.hpp" #if !defined va_copy @@ -322,7 +323,7 @@ template Jupiter::CString_Type Jupiter::CString_Type::substrin template Jupiter::CString_Type Jupiter::CString_Type::substring(const T *in, size_t pos) { - Jupiter::CString_Type r = Jupiter::String_Type::substring(in, pos); + Jupiter::CString_Type r = Jupiter::String_Type::template substring(in, pos); r.str[r.length] = 0; return r; } @@ -338,7 +339,7 @@ template Jupiter::CString_Type Jupiter::CString_Type::substrin template Jupiter::CString_Type Jupiter::CString_Type::substring(const T *in, size_t pos, size_t len) { - Jupiter::CString_Type r = Jupiter::String_Type::substring(in, pos, len); + Jupiter::CString_Type r = Jupiter::String_Type::template substring(in, pos, len); r.str[r.length] = 0; return r; } @@ -352,12 +353,12 @@ template Jupiter::CString_Type Jupiter::CString_Type::getWord( template Jupiter::CString_Type Jupiter::CString_Type::getWord(const Jupiter::Readable_String &in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::getWord(in, pos, whitespace); + return Jupiter::Readable_String::template getWord(in, pos, whitespace); } template Jupiter::CString_Type Jupiter::CString_Type::getWord(const T *in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::getWord(in, pos, whitespace); + return Jupiter::Readable_String::template getWord(in, pos, whitespace); } // gotoWord @@ -369,39 +370,39 @@ template Jupiter::CString_Type Jupiter::CString_Type::gotoWord template Jupiter::CString_Type Jupiter::CString_Type::gotoWord(const Jupiter::Readable_String &in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::gotoWord(in, pos, whitespace); + return Jupiter::Readable_String::template gotoWord(in, pos, whitespace); } // tokenize -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Type::tokenize(const T &separator) const +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Type::tokenize(const T &separator) const { return Jupiter::CString_Type::tokenize(*this, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Type::tokenize(const Jupiter::Readable_String &separator) const +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Type::tokenize(const Jupiter::Readable_String &separator) const { return Jupiter::CString_Type::tokenize(*this, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Type::tokenize(const T *separator, size_t separator_size) const +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Type::tokenize(const T *separator, size_t separator_size) const { return Jupiter::CString_Type::tokenize(*this, separator, separator_size); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Type::tokenize(const Jupiter::Readable_String &in, const T &token) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Type::tokenize(const Jupiter::Readable_String &in, const T &token) { - return typename Jupiter::template Readable_String::template tokenize(in, token); + return typename Jupiter::template Readable_String::template tokenize>(in, token); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Type::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Type::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) { - return typename Jupiter::template Readable_String::template tokenize(in, separator); + return typename Jupiter::template Readable_String::template tokenize>(in, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Type::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Type::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) { - return typename Jupiter::template Readable_String::template tokenize(in, separator, separator_size); + return typename Jupiter::template Readable_String::template tokenize>(in, separator, separator_size); } // set @@ -480,7 +481,7 @@ template size_t Jupiter::CString_Type::concat(const T &in) template inline Jupiter::CString_Type Jupiter::CString_Type::operator+(const T &rhs) const { - return Jupiter::operator+(*this, rhs); + return Jupiter::template operator+(*this, rhs); } template inline Jupiter::CString_Type Jupiter::CString_Type::operator+(const Jupiter::CString_Type &rhs) const @@ -780,7 +781,7 @@ template Jupiter::CString_Loose Jupiter::CString_Loose::substr template Jupiter::CString_Loose Jupiter::CString_Loose::substring(const T *in, size_t pos) { - Jupiter::CString_Loose r = Jupiter::String_Type::substring(in, pos); + Jupiter::CString_Loose r = Jupiter::String_Type::template substring(in, pos); r.str[r.length] = 0; return r; } @@ -796,7 +797,7 @@ template Jupiter::CString_Loose Jupiter::CString_Loose::substr template Jupiter::CString_Loose Jupiter::CString_Loose::substring(const T *in, size_t pos, size_t len) { - Jupiter::CString_Loose r = Jupiter::String_Type::substring(in, pos, len); + Jupiter::CString_Loose r = Jupiter::String_Type::template substring(in, pos, len); r.str[r.length] = 0; return r; } @@ -808,12 +809,12 @@ template Jupiter::CString_Loose Jupiter::CString_Loose::getWor template Jupiter::CString_Loose Jupiter::CString_Loose::getWord(const Jupiter::Readable_String &in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::getWord(in, pos, whitespace); + return Jupiter::Readable_String::template getWord(in, pos, whitespace); } template Jupiter::CString_Loose Jupiter::CString_Loose::getWord(const T *in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::getWord(in, pos, whitespace); + return Jupiter::Readable_String::template getWord(in, pos, whitespace); } template Jupiter::CString_Loose Jupiter::CString_Loose::gotoWord(size_t pos, const T *whitespace) const @@ -823,39 +824,39 @@ template Jupiter::CString_Loose Jupiter::CString_Loose::gotoWo template Jupiter::CString_Loose Jupiter::CString_Loose::gotoWord(const Jupiter::Readable_String &in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::gotoWord(in, pos, whitespace); + return Jupiter::Readable_String::template gotoWord(in, pos, whitespace); } // tokenize -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Loose::tokenize(const T &token) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Loose::tokenize(const T &token) { return Jupiter::CString_Loose::tokenize(*this, token); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Loose::tokenize(const Jupiter::Readable_String &separator) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Loose::tokenize(const Jupiter::Readable_String &separator) { return Jupiter::CString_Loose::tokenize(*this, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Loose::tokenize(const T *separator, size_t separator_size) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Loose::tokenize(const T *separator, size_t separator_size) { return Jupiter::CString_Loose::tokenize(*this, separator, separator_size); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Loose::tokenize(const Jupiter::Readable_String &in, const T &token) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Loose::tokenize(const Jupiter::Readable_String &in, const T &token) { - return typename Jupiter::template Readable_String::template tokenize(in, token); + return typename Jupiter::template Readable_String::template tokenize>(in, token); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Loose::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Loose::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) { - return typename Jupiter::template Readable_String::template tokenize(in, separator); + return typename Jupiter::template Readable_String::template tokenize>(in, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::CString_Loose::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::CString_Loose::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) { - return typename Jupiter::template Readable_String::template tokenize(in, separator, separator_size); + return typename Jupiter::template Readable_String::template tokenize>(in, separator, separator_size); } // Operators diff --git a/src/include/DataBuffer_Imp.h b/src/include/DataBuffer_Imp.h index 75ae8f4..3c5a98b 100644 --- a/src/include/DataBuffer_Imp.h +++ b/src/include/DataBuffer_Imp.h @@ -40,20 +40,8 @@ template T Jupiter::DataBuffer::interpret_data(uint8_t *&head) return r; } -template class T, typename Y> static T interpret_data(uint8_t *&head) -{ - return _Jupiter_DataBuffer_partial_specialization_impl_std::interpret(head); -} - -template class T, typename X, typename Y> static T interpret_data(uint8_t *&head) -{ - return _Jupiter_DataBuffer_partial_specialization_impl_std_vector::interpret(head); -} - -template class T, typename X, typename Y, typename Z> static T interpret_data(uint8_t *&head) -{ - return _Jupiter_DataBuffer_partial_specialization_impl_std_string::interpret(head); -} +template class T, typename X, typename Y> static T interpret_data(uint8_t *&head); +template class T, typename X, typename Y, typename Z> static T interpret_data(uint8_t *&head); // Basic peek @@ -204,7 +192,7 @@ template class T> struct _Jupiter_DataBuffer_partial_speciali template class T, typename Y> void Jupiter::DataBuffer::push(const T *data) { - _Jupiter_DataBuffer_partial_specialization_impl::push(this, data); + _Jupiter_DataBuffer_partial_specialization_impl::template push(this, data); } template class T, typename Y> void Jupiter::DataBuffer::push(const T &data) @@ -214,7 +202,7 @@ template class T, typename Y> void Jupiter::DataBuffer::push( template class T, typename Y> T Jupiter::DataBuffer::interpret_data(uint8_t *&head) { - return _Jupiter_DataBuffer_partial_specialization_impl::interpret(head); + return _Jupiter_DataBuffer_partial_specialization_impl::template interpret(head); } // PUSH SPECIALIZATION: std::array @@ -228,12 +216,12 @@ template<> struct _Jupiter_DataBuffer_partial_specialization_impl_std_array static void push(Jupiter::DataBuffer *buffer, const std::array *data) { buffer->push(Y); - if (std::is_fundamental::value_type>::value) + if (std::is_fundamental::value_type>::value) buffer->push(reinterpret_cast(data->data()), data->size() * sizeof(std::array::value_type)); else { - std::array::const_iterator itr = data->begin(); - std::array::const_iterator end = data->end(); + auto itr = data->begin(); + auto end = data->end(); while (itr != end) buffer->push::value_type>(*itr++); } @@ -242,7 +230,7 @@ template<> struct _Jupiter_DataBuffer_partial_specialization_impl_std_array class T, typename X, size_t Y> void Jupiter::DataBuffer::push(const T *data) { - _Jupiter_DataBuffer_partial_specialization_impl_std_array::push(this, data); + _Jupiter_DataBuffer_partial_specialization_impl_std_array::template push(this, data); } template class T, typename X, size_t Y> void Jupiter::DataBuffer::push(const T &data) @@ -261,12 +249,12 @@ template<> struct _Jupiter_DataBuffer_partial_specialization_impl_std_vector static void push(Jupiter::DataBuffer *buffer, const std::vector *data) { buffer->push::size_type>(data->size()); - if (std::is_fundamental::value_type>::value) + if (std::is_fundamental::value_type>::value) buffer->push(reinterpret_cast(data->data()), data->size() * sizeof(std::vector::value_type)); else { - std::vector::const_iterator itr = data->begin(); - std::vector::const_iterator end = data->end(); + auto itr = data->begin(); + auto end = data->end(); while (itr != end) buffer->push::value_type>(*itr++); } @@ -279,14 +267,14 @@ template<> struct _Jupiter_DataBuffer_partial_specialization_impl_std_vector r; r.reserve(size_); while (size_-- != 0) - r.push_back(Jupiter::DataBuffer::interpret_data::value_type>(head)); + r.push_back(Jupiter::DataBuffer::interpret_data::value_type>(head)); return r; } }; template class T, typename X, typename Y> void Jupiter::DataBuffer::push(const T *data) { - _Jupiter_DataBuffer_partial_specialization_impl_std_vector::push(this, data); + _Jupiter_DataBuffer_partial_specialization_impl_std_vector::template push(this, data); } template class T, typename X, typename Y> void Jupiter::DataBuffer::push(const T &data) @@ -296,7 +284,12 @@ template class T, typename X, typename Y> void Jupi template class T, typename X, typename Y> T Jupiter::DataBuffer::interpret_data(uint8_t *&head) { - return _Jupiter_DataBuffer_partial_specialization_impl_std_vector::interpret(head); + return _Jupiter_DataBuffer_partial_specialization_impl_std_vector::template interpret(head); +} + +template class T, typename X, typename Y> static T interpret_data(uint8_t *&head) +{ + return _Jupiter_DataBuffer_partial_specialization_impl_std_vector::template interpret(head); } // SPECIALIZATION: std::string @@ -310,12 +303,12 @@ template<> struct _Jupiter_DataBuffer_partial_specialization_impl_std_string static void push(Jupiter::DataBuffer *buffer, const std::basic_string *data) { buffer->push(data->size()); - if (std::is_fundamental::value_type>::value) + if (std::is_fundamental::value_type>::value) buffer->push(reinterpret_cast(data->data()), data->size() * sizeof(X)); else { - std::basic_string::const_iterator itr = data->begin(); - std::basic_string::const_iterator end = data->end(); + auto itr = data->begin(); + auto end = data->end(); while (itr != end) buffer->push::value_type>(*itr++); } @@ -335,7 +328,7 @@ template<> struct _Jupiter_DataBuffer_partial_specialization_impl_std_string class T, typename X, typename Y, typename Z> void Jupiter::DataBuffer::push(const T *data) { - _Jupiter_DataBuffer_partial_specialization_impl_std_string::push(this, data); + _Jupiter_DataBuffer_partial_specialization_impl_std_string::template push(this, data); } template class T, typename X, typename Y, typename Z> void Jupiter::DataBuffer::push(const T &data) @@ -345,7 +338,12 @@ template class T, typename X, typename Y, template class T, typename X, typename Y, typename Z> T Jupiter::DataBuffer::interpret_data(uint8_t *&head) { - return _Jupiter_DataBuffer_partial_specialization_impl_std_string::interpret(head); + return _Jupiter_DataBuffer_partial_specialization_impl_std_string::template interpret(head); +} + +template class T, typename X, typename Y, typename Z> static T interpret_data(uint8_t *&head) +{ + return _Jupiter_DataBuffer_partial_specialization_impl_std_string::template interpret(head); } #endif // _DATABUFFER_IMP_H_HEADER \ No newline at end of file diff --git a/src/include/Hash_Table_Imp.h b/src/include/Hash_Table_Imp.h index 6aa8a8c..f5c5dbf 100644 --- a/src/include/Hash_Table_Imp.h +++ b/src/include/Hash_Table_Imp.h @@ -304,7 +304,7 @@ void Jupiter::Hash_Table::callback(CallT while (itr != end) { - itr->callback(in_callback); + itr->template callback(in_callback); ++itr; } } @@ -318,7 +318,7 @@ void Jupiter::Hash_Table::callback(CallT while (itr != end) { - itr->callback(in_callback); + itr->template callback(in_callback); ++itr; } } @@ -364,14 +364,12 @@ typename Jupiter::Hash_Table &Jupiter::Ha else { // we need to erase data; slightly modified version of copy_to_buckets() - std::forward_list::iterator node; - size_t index = 0; while (index != in_table.m_buckets_size) { in_table.m_buckets[index].m_entries.clear(); - for (node = in_table.m_buckets[index].m_entries.begin(); node != in_table.m_buckets[index].m_entries.end(); ++node) + for (auto node = in_table.m_buckets[index].m_entries.begin(); node != in_table.m_buckets[index].m_entries.end(); ++node) m_buckets[HashF(node->key) % m_buckets_size].set(node->key, node->value); ++index; @@ -497,10 +495,8 @@ void Jupiter::Hash_Table::expand() template void Jupiter::Hash_Table::copy_to_buckets(Bucket *in_buckets, size_t in_buckets_size) const { - std::forward_list::iterator node; - for (size_t index = 0; index != m_buckets_size; ++index) - for (node = m_buckets[index].m_entries.begin(); node != m_buckets[index].m_entries.end(); ++node) + for (auto node = m_buckets[index].m_entries.begin(); node != m_buckets[index].m_entries.end(); ++node) in_buckets[HashF(node->key) % in_buckets_size].set(node->key, node->value); } diff --git a/src/include/Readable_String.h b/src/include/Readable_String.h index 496582b..4915d62 100644 --- a/src/include/Readable_String.h +++ b/src/include/Readable_String.h @@ -25,8 +25,10 @@ */ #include // wchar_t +#include // towupper #include // FILE #include // std::basic_string type +#include // std::endl #include "InvalidIndex.h" #include "DataBuffer.h" @@ -391,9 +393,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - template class R> static typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); - template class R> static typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); - template class R> static typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); + template class R> static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); + template class R> static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); + template class R> static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); /** * @brief Destructor for the Readable_String class. diff --git a/src/include/Readable_String_Imp.h b/src/include/Readable_String_Imp.h index 368257a..0d69038 100644 --- a/src/include/Readable_String_Imp.h +++ b/src/include/Readable_String_Imp.h @@ -1376,7 +1376,13 @@ template template class R> void Jupiter::Readable // TokenizeResult Operators -template template class R> inline typename Jupiter::Readable_String::TokenizeResult &Jupiter::Readable_String::TokenizeResult::operator=(typename const Jupiter::Readable_String::TokenizeResult &source) +#ifdef _WIN32 +#define TOKENIZE_RESULT_PREFIX +#else // _WIN32 +#define TOKENIZE_RESULT_PREFIX template +#endif // _WIN32 + +template template class R> inline typename Jupiter::Readable_String::TOKENIZE_RESULT_PREFIX TokenizeResult &Jupiter::Readable_String::TokenizeResult::operator=(const Jupiter::Readable_String::TokenizeResult &source) { if (Jupiter::Readable_String::TokenizeResult::tokens != nullptr) delete[] Jupiter::Readable_String::TokenizeResult::tokens; @@ -1391,7 +1397,7 @@ template template class R> inline typename Jupite return *this; } -template template class R> inline typename Jupiter::Readable_String::TokenizeResult &Jupiter::Readable_String::TokenizeResult::operator=(typename Jupiter::Readable_String::TokenizeResult &&source) +template template class R> inline typename Jupiter::Readable_String::TOKENIZE_RESULT_PREFIX TokenizeResult &Jupiter::Readable_String::TokenizeResult::operator=(Jupiter::Readable_String::TokenizeResult &&source) { if (Jupiter::Readable_String::TokenizeResult::tokens != nullptr) delete[] Jupiter::Readable_String::TokenizeResult::tokens; @@ -1405,7 +1411,7 @@ template template class R> inline typename Jupite // tokenize -template template class R> typename Jupiter::Readable_String::TokenizeResult Jupiter::Readable_String::tokenize(const Jupiter::Readable_String &in, const T &token) +template template class R> typename Jupiter::Readable_String::template TokenizeResult Jupiter::Readable_String::tokenize(const Jupiter::Readable_String &in, const T &token) { // special case: no input if (in.isEmpty()) @@ -1454,12 +1460,12 @@ template template class R> typename Jupiter::Read return TokenizeResult(tokens, length); } -template template class R> typename Jupiter::Readable_String::TokenizeResult Jupiter::Readable_String::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) +template template class R> typename Jupiter::Readable_String::template TokenizeResult Jupiter::Readable_String::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) { return Jupiter::Readable_String::tokenize(in, separator.ptr(), separator.size()); } -template template class R> typename Jupiter::Readable_String::TokenizeResult Jupiter::Readable_String::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) +template template class R> typename Jupiter::Readable_String::template TokenizeResult Jupiter::Readable_String::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) { // special case: separator is a single element if (separator_size == 1) diff --git a/src/include/Reference_String.h b/src/include/Reference_String.h index 543f975..33e4744 100644 --- a/src/include/Reference_String.h +++ b/src/include/Reference_String.h @@ -246,9 +246,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - Jupiter::Readable_String::TokenizeResult tokenize(const T &separator) const; - Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &separator) const; - Jupiter::Readable_String::TokenizeResult tokenize(const T *separator, size_t separator_size) const; + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T &separator) const; + typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &separator) const; + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T *separator, size_t separator_size) const; /** * @brief Tokenizes a string, based on an input token separator @@ -257,9 +257,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - static Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); - static Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); - static Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); /** Mutative operators */ inline Readable_String &operator-=(size_t right) { this->truncate(right); return *this; }; diff --git a/src/include/Reference_String_Imp.h b/src/include/Reference_String_Imp.h index ef6a940..2b792e2 100644 --- a/src/include/Reference_String_Imp.h +++ b/src/include/Reference_String_Imp.h @@ -180,12 +180,12 @@ template Jupiter::Reference_String Jupiter::Reference_String:: template Jupiter::Reference_String Jupiter::Reference_String::getWord(const Jupiter::Readable_String &in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::getWord(in, pos, whitespace); + return Jupiter::Readable_String::template getWord(in, pos, whitespace); } template Jupiter::Reference_String Jupiter::Reference_String::getWord(const T *in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::getWord(in, pos, whitespace); + return Jupiter::Readable_String::template getWord(in, pos, whitespace); } template Jupiter::Reference_String Jupiter::Reference_String::getToken(size_t pos, const T &token) const @@ -200,12 +200,12 @@ template Jupiter::Reference_String Jupiter::Reference_String:: template Jupiter::Reference_String Jupiter::Reference_String::getToken(const Jupiter::Readable_String &in, size_t pos, const T &token) { - return Jupiter::Readable_String::getToken(in, pos, token); + return Jupiter::Readable_String::template getToken(in, pos, token); } template Jupiter::Reference_String Jupiter::Reference_String::getToken(const Jupiter::Readable_String &in, size_t pos, const Jupiter::Readable_String &token) { - return Jupiter::Readable_String::getToken(in, pos, token); + return Jupiter::Readable_String::template getToken(in, pos, token); } template Jupiter::Reference_String Jupiter::Reference_String::gotoWord(size_t pos, const T *whitespace) const @@ -215,12 +215,12 @@ template Jupiter::Reference_String Jupiter::Reference_String:: template Jupiter::Reference_String Jupiter::Reference_String::gotoWord(const Jupiter::Readable_String &in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::gotoWord(in, pos, whitespace); + return Jupiter::Readable_String::template gotoWord(in, pos, whitespace); } template Jupiter::Reference_String Jupiter::Reference_String::gotoWord(const T *in, size_t pos, const T *whitespace) { - return Jupiter::Readable_String::gotoWord(in, pos, whitespace); + return Jupiter::Readable_String::template gotoWord(in, pos, whitespace); } template Jupiter::Reference_String Jupiter::Reference_String::gotoToken(size_t pos, const T &token) const @@ -235,46 +235,46 @@ template Jupiter::Reference_String Jupiter::Reference_String:: template Jupiter::Reference_String Jupiter::Reference_String::gotoToken(const Jupiter::Readable_String &in, size_t pos, const T &token) { - return Jupiter::Readable_String::gotoToken(in, pos, token); + return Jupiter::Readable_String::template gotoToken(in, pos, token); } template Jupiter::Reference_String Jupiter::Reference_String::gotoToken(const Jupiter::Readable_String &in, size_t pos, const Jupiter::Readable_String &token) { - return Jupiter::Readable_String::gotoToken(in, pos, token); + return Jupiter::Readable_String::template gotoToken(in, pos, token); } template const Jupiter::Reference_String Jupiter::Reference_String::empty = Jupiter::Reference_String(); // tokenize -template typename Jupiter::Readable_String::TokenizeResult Jupiter::Reference_String::tokenize(const T &separator) const +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::Reference_String::tokenize(const T &separator) const { return Jupiter::Reference_String::tokenize(*this, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::Reference_String::tokenize(const Jupiter::Readable_String &separator) const +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::Reference_String::tokenize(const Jupiter::Readable_String &separator) const { return Jupiter::Reference_String::tokenize(*this, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::Reference_String::tokenize(const T *separator, size_t separator_size) const +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::Reference_String::tokenize(const T *separator, size_t separator_size) const { return Jupiter::Reference_String::tokenize(*this, separator, separator_size); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::Reference_String::tokenize(const Jupiter::Readable_String &in, const T &token) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::Reference_String::tokenize(const Jupiter::Readable_String &in, const T &token) { - return typename Jupiter::Readable_String::tokenize(in, token); + return Jupiter::Readable_String::template tokenize(in, token); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::Reference_String::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::Reference_String::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) { - return typename Jupiter::Readable_String::tokenize(in, separator); + return Jupiter::Readable_String::template tokenize(in, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::Reference_String::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::Reference_String::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) { - return typename Jupiter::Readable_String::tokenize(in, separator, separator_size); + return Jupiter::Readable_String::template tokenize(in, separator, separator_size); } // Jupiter::DataBuffer specialization diff --git a/src/include/SecureSocket.h b/src/include/SecureSocket.h index 13e9d7b..5429eee 100644 --- a/src/include/SecureSocket.h +++ b/src/include/SecureSocket.h @@ -164,7 +164,7 @@ namespace Jupiter * @param source Socket to move data from * @return Reference to this socket. */ - SecureSocket &SecureSocket::operator=(SecureSocket &&source); + SecureSocket &operator=(SecureSocket &&source); /** * @brief Default constructor for the SecureSocket class. diff --git a/src/include/Socket.h b/src/include/Socket.h index 859ec3f..bf9954c 100644 --- a/src/include/Socket.h +++ b/src/include/Socket.h @@ -30,7 +30,13 @@ #include "String.hpp" struct addrinfo; + +#ifdef _WIN32 struct in_addr6; +#else +#define in_addr6 in6_addr +struct in6_addr; +#endif namespace Jupiter { @@ -492,7 +498,7 @@ namespace Jupiter * @param source Socket to move data from * @return Reference to this socket. */ - Socket &Socket::operator=(Socket &&source); + Socket &operator=(Socket &&source); /** * @brief Default constructor for the Socket class. @@ -529,7 +535,7 @@ namespace Jupiter #if defined _WIN32 typedef uintptr_t SocketType; -#else if +#else typedef int SocketType; #endif diff --git a/src/include/String.hpp b/src/include/String.hpp index 1eb46da..7fea1f2 100644 --- a/src/include/String.hpp +++ b/src/include/String.hpp @@ -210,9 +210,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - typename Jupiter::Readable_String::TokenizeResult tokenize(const T &separator) const; - typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &separator) const; - typename Jupiter::Readable_String::TokenizeResult tokenize(const T *separator, size_t separator_size) const; + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T &separator) const; + typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &separator) const; + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T *separator, size_t separator_size) const; /** * @brief Tokenizes a string, based on an input token separator @@ -221,9 +221,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - static typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); - static typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); - static typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); /** Default Constructor */ String_Strict(); @@ -470,9 +470,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - typename Jupiter::Readable_String::TokenizeResult tokenize(const T &separator); - typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &separator); - typename Jupiter::Readable_String::TokenizeResult tokenize(const T *separator, size_t separator_size); + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T &separator); + typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &separator); + typename Jupiter::Readable_String::template TokenizeResult tokenize(const T *separator, size_t separator_size); /** * @brief Tokenizes a string, based on an input token separator @@ -481,9 +481,9 @@ namespace Jupiter * @param separator Separator to split tokens by * @return TokenizeResult containing the results of the tokenization process. */ - static typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); - static typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); - static typename Jupiter::Readable_String::TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); + static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); /** * @brief Sets the internal buffer to be at least large enough to old a specified number of elements. diff --git a/src/include/String_Imp.h b/src/include/String_Imp.h index 24e3a87..822cb21 100644 --- a/src/include/String_Imp.h +++ b/src/include/String_Imp.h @@ -350,32 +350,32 @@ template Jupiter::String_Strict Jupiter::String_Strict::gotoTo // tokenize -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Strict::tokenize(const T &separator) const +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Strict::tokenize(const T &separator) const { return Jupiter::String_Strict::tokenize(*this, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Strict::tokenize(const Jupiter::Readable_String &separator) const +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Strict::tokenize(const Jupiter::Readable_String &separator) const { return Jupiter::String_Strict::tokenize(*this, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Strict::tokenize(const T *separator, size_t separator_size) const +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Strict::tokenize(const T *separator, size_t separator_size) const { return Jupiter::String_Strict::tokenize(*this, separator, separator_size); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Strict::tokenize(const Jupiter::Readable_String &in, const T &token) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Strict::tokenize(const Jupiter::Readable_String &in, const T &token) { return Jupiter::Readable_String::template tokenize(in, token); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Strict::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Strict::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) { return Jupiter::Readable_String::template tokenize(in, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Strict::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Strict::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) { return Jupiter::Readable_String::template tokenize(in, separator, separator_size); } @@ -863,32 +863,32 @@ template inline Jupiter::String_Loose Jupiter::String_Loose::o // tokenize -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Loose::tokenize(const T &separator) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Loose::tokenize(const T &separator) { return Jupiter::String_Loose::tokenize(*this, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Loose::tokenize(const Jupiter::Readable_String &separator) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Loose::tokenize(const Jupiter::Readable_String &separator) { return Jupiter::String_Loose::tokenize(*this, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Loose::tokenize(const T *separator, size_t separator_size) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Loose::tokenize(const T *separator, size_t separator_size) { return Jupiter::String_Loose::tokenize(*this, separator, separator_size); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Loose::tokenize(const Jupiter::Readable_String &in, const T &separator) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Loose::tokenize(const Jupiter::Readable_String &in, const T &separator) { return Jupiter::Readable_String::template tokenize(in, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Loose::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Loose::tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator) { return Jupiter::Readable_String::template tokenize(in, separator); } -template typename Jupiter::Readable_String::TokenizeResult Jupiter::String_Loose::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) +template typename Jupiter::Readable_String::template TokenizeResult Jupiter::String_Loose::tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size) { return Jupiter::Readable_String::template tokenize(in, separator, separator_size); } diff --git a/src/include/TCPSocket.h b/src/include/TCPSocket.h index b2a1328..950220f 100644 --- a/src/include/TCPSocket.h +++ b/src/include/TCPSocket.h @@ -37,7 +37,7 @@ namespace Jupiter class JUPITER_API TCPSocket : public Socket { public: - TCPSocket &TCPSocket::operator=(TCPSocket &&source); + TCPSocket &operator=(TCPSocket &&source); TCPSocket(); TCPSocket(const TCPSocket &) = delete; TCPSocket(size_t bufferSize); @@ -51,7 +51,7 @@ namespace Jupiter class JUPITER_API SecureTCPSocket : public SecureSocket { public: - SecureTCPSocket &SecureTCPSocket::operator=(SecureTCPSocket &&source); + SecureTCPSocket &operator=(SecureTCPSocket &&source); SecureTCPSocket(); SecureTCPSocket(const SecureTCPSocket &) = delete; SecureTCPSocket(size_t bufferSize); diff --git a/src/include/UDPSocket.h b/src/include/UDPSocket.h index ed579a8..309ae3d 100644 --- a/src/include/UDPSocket.h +++ b/src/include/UDPSocket.h @@ -36,7 +36,7 @@ namespace Jupiter class JUPITER_API UDPSocket : public Socket { public: - UDPSocket &UDPSocket::operator=(UDPSocket &&source); + UDPSocket &operator=(UDPSocket &&source); UDPSocket(); UDPSocket(const UDPSocket &) = delete; UDPSocket(size_t bufferSize);