87 Commits (97636fc2d06bcc3347fc8f406975c31506ac91ea)

Author SHA1 Message Date
  roker 97636fc2d0 implement the C++20 methods. makes nfc_string a boost::totally_ordered2 with StringView. 9 months ago
  roker 8f75ed8ed9 implement more and more missing member functions of nfc_string. 9 months ago
  roker 86bfec58c7 single-char isNFC() removed. Makes no sense. Add freestanding operator+() for nfc_string 9 months ago
  roker f71397426b std::basic_string<CharT> has a FAT interface... I'll forward most of it to the embedded string. 9 months ago
  roker d8bcff63f3 make nfc_string complete... 9 months ago
  roker c81740b0e6 add class nfc_string 9 months ago
  roker 4cd987c24f add German design document for libpEpDatatypes. 9 months ago
  roker 01941f70ad C++17 is minimum requirement now. So replace pEp::string_view with std::string_view etc. 9 months ago
  Volker Birk 2330093cff remove support for C++ < 17 and add more convenience functions 9 months ago
  roker f5f12e2105 add UTF<char16_t>::utf_length(). Be more pedantic about surrogates where they're not allowed. 9 months ago
  roker 4c9ff8de3a Merge remote-tracking branch 'refs/remotes/origin/master' 9 months ago
  heck f677af8732 doc. 9 months ago
  heck 3c8069fa14 concept. 9 months ago
  roker 8205b7b9de bundle UTF handling functions as static member functions of a UTF class template to circumvent prohibition of partial function specialization. *sigh* 9 months ago
  roker c0c278aad9 add u32string_view typedef. 9 months ago
  roker f5b13062c3 start to encapsulate the functions in a class, to avoid the prohibition of partial function specialization. 9 months ago
  roker f1179d91da move operations are 'noexcept'. implement copy_out() for stringpair and message. 9 months ago
  roker bd7a9b4e93 use LANG_VERSION to switch from C++14 (default) to C++17, if necessary 9 months ago
  heck 5349d21158 Missing include 9 months 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. 9 months ago
  roker 065e730d87 unrelated, but still not commited. 9 months ago
  roker 5cdb6e3bdc add additional explicit template instantiations. :-/ 9 months ago
  roker f914202788 add identity_list* Wrapper<::identity_list*>::copy_out() 9 months ago
  roker 7973a9638b okay, we allow copying for all Wrapper where copy_out() is implemented. 9 months ago
  roker d965b3115b allow non-const access to wrapped type. Can be dangerous! USE WITH CAUTION! 9 months ago
  roker af5720bed0 add copy_out() to get a copy of the wrapped value. 9 months ago
  roker 8f7f181899 oh, the missing comma confuses libetpan, letting it reject the whole Cc: line. pEpMIME parses 4 entries here. Who is rignt? 9 months ago
  roker 5c399ab820 fix Wrapper<::message*>::_new() to use mime_decode_message() instead of a dummy. 9 months ago
  roker 8306edaf09 resort the test to see what is working and what not, yet. 9 months ago
  roker 0c82dcc5dc add an EXPECT_NE() to check for nullptr before derefencing it. Avoids segfault. But the test is still red. 9 months ago
  roker 1da02a1eb2 add more comprehensive test for message parser. And... it segfaults. :-( 9 months ago
  heck b536dac898 Build: Add local.conf.example 10 months ago
  roker 5ffd66f169 fix the unittests for UTF-16 NFC tests 12 months ago
  roker 1d1575e971 copy unittest_nfc.cc to unittest_nfc16.cc 12 months ago
  roker 6e1f680ec5 use string_view in unittest_nfc. That avoids copying and makes compiler happy, too! 12 months ago
  roker d3747a8b1f add UTF-16 stuff, and try to re-use as much code as possible. 12 months ago
  roker 1a9c3fc1a8 implement parseUtf16(). 1 year ago
  roker b9a0dde181 add u16string_view. 1 year ago
  roker 57ee30017d test the wrapper for message. 1 year 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. :-/ 1 year ago
  roker fea6876528 remove warning. :-D 1 year ago
  roker d36141f3b1 forgot Wrapper<pEp_identity*>::_new() and ~::free(). 1 year ago
  roker 9278dd9e9b add unittest for identity & identity_list 1 year ago
  roker 8dd301c251 fix cut & paste errors, so the compiler is happy again. :) 1 year ago
  roker 9f2d01a2bf add identity & identity_list. 1 year 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... 1 year ago
  roker 23d25ef428 G++ does not like "non-template functions as friends of class templates. So I change the operator== into member function. :-| 1 year ago
  roker 176d649476 add bloblist specialization. DOES NOT COMPILE, YET. 1 year ago
  roker 76ead4b179 add identity.cc I had fogotten. 1 year ago
  roker 801f23a746 uuuh... a const_cast would silent the compiler. hmm. 1 year ago