89 Commits (ebc949c09227321a01025f183cd05c23fb8a67c5)
 

Author SHA1 Message Date
roker ebc949c092 using std::string_view. 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 4cd987c24f add German design document for libpEpDatatypes. 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 4c9ff8de3a Merge remote-tracking branch 'refs/remotes/origin/master' 4 years ago
heck f677af8732 doc. 4 years ago
heck 3c8069fa14 concept. 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
roker bd7a9b4e93 use LANG_VERSION to switch from C++14 (default) to C++17, if necessary 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 065e730d87 unrelated, but still not commited. 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 8f7f181899 oh, the missing comma confuses libetpan, letting it reject the whole Cc: line. pEpMIME parses 4 entries here. Who is rignt? 4 years ago
roker 5c399ab820 fix Wrapper<::message*>::_new() to use mime_decode_message() instead of a dummy. 4 years ago
roker 8306edaf09 resort the test to see what is working and what not, yet. 4 years ago
roker 0c82dcc5dc add an EXPECT_NE() to check for nullptr before derefencing it. Avoids segfault. But the test is still red. 4 years ago
roker 1da02a1eb2 add more comprehensive test for message parser. And... it segfaults. :-( 4 years ago
heck b536dac898 Build: Add local.conf.example 4 years ago
roker 5ffd66f169 fix the unittests for UTF-16 NFC tests 4 years ago
roker 1d1575e971 copy unittest_nfc.cc to unittest_nfc16.cc 4 years ago
roker 6e1f680ec5 use string_view in unittest_nfc. That avoids copying and makes compiler happy, too! 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 9278dd9e9b add unittest for identity & identity_list 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