Commit Graph

87 Commits (97636fc2d06bcc3347fc8f406975c31506ac91ea)
 

Author SHA1 Message Date
roker 97636fc2d0 implement the C++20 methods. makes nfc_string a boost::totally_ordered2 with StringView.
1 year ago
roker 8f75ed8ed9 implement more and more missing member functions of nfc_string.
1 year ago
roker 86bfec58c7 single-char isNFC() removed. Makes no sense. Add freestanding operator+() for nfc_string
1 year ago
roker f71397426b std::basic_string<CharT> has a FAT interface... I'll forward most of it to the embedded string.
1 year ago
roker d8bcff63f3 make nfc_string complete...
1 year ago
roker c81740b0e6 add class nfc_string
1 year ago
roker 4cd987c24f add German design document for libpEpDatatypes.
1 year ago
roker 01941f70ad C++17 is minimum requirement now. So replace pEp::string_view with std::string_view etc.
1 year ago
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 4c9ff8de3a Merge remote-tracking branch 'refs/remotes/origin/master'
1 year ago
heck f677af8732 doc.
1 year ago
heck 3c8069fa14 concept.
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
roker bd7a9b4e93 use LANG_VERSION to switch from C++14 (default) to C++17, if necessary
1 year ago
heck 5349d21158 Missing include
1 year 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.
1 year ago
roker 065e730d87 unrelated, but still not commited.
1 year ago
roker 5cdb6e3bdc add additional explicit template instantiations. :-/
1 year ago
roker f914202788 add identity_list* Wrapper<::identity_list*>::copy_out()
1 year ago
roker 7973a9638b okay, we allow copying for all Wrapper where copy_out() is implemented.
1 year ago
roker d965b3115b allow non-const access to wrapped type. Can be dangerous! USE WITH CAUTION!
1 year ago
roker af5720bed0 add copy_out() to get a copy of the wrapped value.
1 year ago
roker 8f7f181899 oh, the missing comma confuses libetpan, letting it reject the whole Cc: line. pEpMIME parses 4 entries here. Who is rignt?
2 years ago
roker 5c399ab820 fix Wrapper<::message*>::_new() to use mime_decode_message() instead of a dummy.
2 years ago
roker 8306edaf09 resort the test to see what is working and what not, yet.
2 years ago
roker 0c82dcc5dc add an EXPECT_NE() to check for nullptr before derefencing it. Avoids segfault. But the test is still red.
2 years ago
roker 1da02a1eb2 add more comprehensive test for message parser. And... it segfaults. :-(
2 years ago
heck b536dac898 Build: Add local.conf.example
2 years ago
roker 5ffd66f169 fix the unittests for UTF-16 NFC tests
2 years ago
roker 1d1575e971 copy unittest_nfc.cc to unittest_nfc16.cc
2 years ago
roker 6e1f680ec5 use string_view in unittest_nfc. That avoids copying and makes compiler happy, too!
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 9278dd9e9b add unittest for identity & identity_list
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