61 Commits (70b9218839cc27c76dce95e5c688e91f6d7d203f)

Author SHA1 Message Date
roker 70b9218839 Oops... default c'tor forgotten. And some trivial assignment operators as alias to .assign(). 4 years ago
roker 640d7d210b implement the last missing method: nfc_string::normalize(). 4 years ago
roker 97636fc2d0 implement the C++20 methods. makes nfc_string a boost::totally_ordered2 with StringView. 4 years ago
roker 8f75ed8ed9 implement more and more missing member functions of nfc_string. 4 years ago
roker 86bfec58c7 single-char isNFC() removed. Makes no sense. Add freestanding operator+() for nfc_string 4 years ago
roker f71397426b std::basic_string<CharT> has a FAT interface... I'll forward most of it to the embedded string. 4 years ago
roker d8bcff63f3 make nfc_string complete... 4 years ago
roker c81740b0e6 add class nfc_string 4 years ago
roker 01941f70ad C++17 is minimum requirement now. So replace pEp::string_view with std::string_view etc. 4 years ago
Volker Birk 2330093cff remove support for C++ < 17 and add more convenience functions 4 years ago
roker f5f12e2105 add UTF<char16_t>::utf_length(). Be more pedantic about surrogates where they're not allowed. 4 years ago
roker 8205b7b9de bundle UTF handling functions as static member functions of a UTF class template to circumvent prohibition of partial function specialization. *sigh* 4 years ago
roker c0c278aad9 add u32string_view typedef. 4 years ago
roker f5b13062c3 start to encapsulate the functions in a class, to avoid the prohibition of partial function specialization. 4 years ago
roker f1179d91da move operations are 'noexcept'. implement copy_out() for stringpair and message. 4 years ago
heck 5349d21158 Missing include 4 years ago
roker c48088d788 add char* strdup_NFC(string_view s). FIXME: The more efficient implementation needs some more internal re-work, that's why this correct but stupid quick'n'dirty implementation is there for now. 4 years ago
roker 5cdb6e3bdc add additional explicit template instantiations. :-/ 4 years ago
roker f914202788 add identity_list* Wrapper<::identity_list*>::copy_out() 4 years ago
roker 7973a9638b okay, we allow copying for all Wrapper where copy_out() is implemented. 4 years ago
roker d965b3115b allow non-const access to wrapped type. Can be dangerous! USE WITH CAUTION! 4 years ago
roker af5720bed0 add copy_out() to get a copy of the wrapped value. 4 years ago
roker 5c399ab820 fix Wrapper<::message*>::_new() to use mime_decode_message() instead of a dummy. 4 years ago
roker 5ffd66f169 fix the unittests for UTF-16 NFC tests 4 years ago
roker d3747a8b1f add UTF-16 stuff, and try to re-use as much code as possible. 4 years ago
roker 1a9c3fc1a8 implement parseUtf16(). 4 years ago
roker b9a0dde181 add u16string_view. 4 years ago
roker 57ee30017d test the wrapper for message. 4 years ago
roker 2348e3a080 inherit from std::iterator<> to add some typedefs that make GNU G++ happy. Unfortunately, std::iterator<> is deprecated in C++17, for whatever reason. :-/ 4 years ago
roker fea6876528 remove warning. :-D 4 years ago
roker d36141f3b1 forgot Wrapper<pEp_identity*>::_new() and ~::free(). 4 years ago
roker 8dd301c251 fix cut & paste errors, so the compiler is happy again. :) 4 years ago
roker 9f2d01a2bf add identity & identity_list. 4 years ago
roker 2e1241bb5f okay, ListWrapper<bloblist_t*, void> is a full specialization, so its members don't need "template<>". Clang++ did not tell me that, g++ did. But still bizarre somehow... 4 years ago
roker 23d25ef428 G++ does not like "non-template functions as friends of class templates. So I change the operator== into member function. :-| 4 years ago
roker 176d649476 add bloblist specialization. DOES NOT COMPILE, YET. 4 years ago
roker 76ead4b179 add identity.cc I had fogotten. 4 years ago
roker 801f23a746 uuuh... a const_cast would silent the compiler. hmm. 4 years ago
roker cbbd03ae01 okay, if I change the value_type from 'char*' to 'const char*' I got other troubles there... *sigh* 4 years ago
roker 16cf6ce9c3 add stringlist wrapper. 4 years ago
roker b8529ff268 change return type. 4 years ago
roker 555c3acd88 fix member functions 4 years ago
roker 450acba1bc now the unittests compile. \o/ All declared functions & variables are defined. 4 years ago
roker 8f86913011 implement missing member functions for StringPair and StringPairList. 4 years ago
roker 2b41928f54 define a separate iterator type which can be copied easily and does not own the pointee. Add weird member pointer. \o/ 4 years ago
roker 8c2cef7b27 okay, it does not work this way: iterators are copied often, but the main Wrapper<T> shall not be copyable. 4 years ago
roker 0f8cdd048a add ListWrapper<T,E>. define StringPairList. 4 years ago
roker 63cc9909a2 add default goal in Makefile. 4 years ago
roker d52ed09280 add unittest_stringpair; fix linker errors. 4 years ago
roker b8b855e075 add wrapper for stringpair_t 4 years ago