Commit Graph

52 Commits (2330093cffc2b3c846a4128539bf57ac4277c0fb)

Author SHA1 Message Date
Volker Birk 2330093cff remove support for C++ < 17 and add more convenience functions
1 year ago
roker f5f12e2105 add UTF<char16_t>::utf_length(). Be more pedantic about surrogates where they're not allowed.
1 year ago
roker 8205b7b9de bundle UTF handling functions as static member functions of a UTF class template to circumvent prohibition of partial function specialization. *sigh*
1 year ago
roker c0c278aad9 add u32string_view typedef.
1 year ago
roker f5b13062c3 start to encapsulate the functions in a class, to avoid the prohibition of partial function specialization.
1 year ago
roker f1179d91da move operations are 'noexcept'. implement copy_out() for stringpair and message.
1 year ago
heck 5349d21158 Missing include
2 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.
2 years ago
roker 5cdb6e3bdc add additional explicit template instantiations. :-/
2 years ago
roker f914202788 add identity_list* Wrapper<::identity_list*>::copy_out()
2 years ago
roker 7973a9638b okay, we allow copying for all Wrapper where copy_out() is implemented.
2 years ago
roker d965b3115b allow non-const access to wrapped type. Can be dangerous! USE WITH CAUTION!
2 years ago
roker af5720bed0 add copy_out() to get a copy of the wrapped value.
2 years ago
roker 5c399ab820 fix Wrapper<::message*>::_new() to use mime_decode_message() instead of a dummy.
2 years ago
roker 5ffd66f169 fix the unittests for UTF-16 NFC tests
2 years ago
roker d3747a8b1f add UTF-16 stuff, and try to re-use as much code as possible.
2 years ago
roker 1a9c3fc1a8 implement parseUtf16().
2 years ago
roker b9a0dde181 add u16string_view.
2 years ago
roker 57ee30017d test the wrapper for message.
2 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. :-/
2 years ago
roker fea6876528 remove warning. :-D
2 years ago
roker d36141f3b1 forgot Wrapper<pEp_identity*>::_new() and ~::free().
2 years ago
roker 8dd301c251 fix cut & paste errors, so the compiler is happy again. :)
2 years ago
roker 9f2d01a2bf add identity & identity_list.
2 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...
2 years ago
roker 23d25ef428 G++ does not like "non-template functions as friends of class templates. So I change the operator== into member function. :-|
2 years ago
roker 176d649476 add bloblist specialization. DOES NOT COMPILE, YET.
2 years ago
roker 76ead4b179 add identity.cc I had fogotten.
2 years ago
roker 801f23a746 uuuh... a const_cast would silent the compiler. hmm.
2 years ago
roker cbbd03ae01 okay, if I change the value_type from 'char*' to 'const char*' I got other troubles there... *sigh*
2 years ago
roker 16cf6ce9c3 add stringlist wrapper.
2 years ago
roker b8529ff268 change return type.
2 years ago
roker 555c3acd88 fix member functions
2 years ago
roker 450acba1bc now the unittests compile. \o/ All declared functions & variables are defined.
2 years ago
roker 8f86913011 implement missing member functions for StringPair and StringPairList.
2 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/
2 years ago
roker 8c2cef7b27 okay, it does not work this way: iterators are copied often, but the main Wrapper<T> shall not be copyable.
2 years ago
roker 0f8cdd048a add ListWrapper<T,E>. define StringPairList.
2 years ago
roker 63cc9909a2 add default goal in Makefile.
2 years ago
roker d52ed09280 add unittest_stringpair; fix linker errors.
2 years ago
roker b8b855e075 add wrapper for stringpair_t
2 years ago
roker 2a8fbafbb8 add operator""_sv().
2 years ago
roker c36701cdee generate_nfc_compose() is in namespace pEp.
2 years ago
roker cf27e646b6 move nfc stuff into namespace pEp.
2 years ago
roker 450275c71a add NFC functions from pEpMIME.
2 years ago
roker 7f7198fb21 yay, template<> template<> does the trick! awesome syntax.
2 years ago
roker fe88301c3b implement the wrapper for certain types.
2 years ago
roker f98d163384 add Makefiles & Makefile.conf, stolen from libpEpAdapter.
2 years ago
roker 6f4ac9e572 add operator""_CRLF() to ease definition of NET-ASCII/NET-Unicode test data strings.
2 years ago
roker 57bbe558e4 change include guard to fulfill our coding style standard. :-)
2 years ago