Skip to content

C++11 support #1793#1795

Merged
aleks-f merged 272 commits intodevelopfrom
c++11
Sep 21, 2017
Merged

C++11 support #1793#1795
aleks-f merged 272 commits intodevelopfrom
c++11

Conversation

@aleks-f
Copy link
Copy Markdown
Member

@aleks-f aleks-f commented Jul 5, 2017

this goes into develop, then 2.0 release.
1.8.x will be last major non-c++11 release

  • All changes are protected by defines POCO_ENABLE_CPP11 and POCO_ENABLE_CPP14
  • Replace std::auto_ptr with std::unique_ptr
  • SharedPtr inherits from std::shared_ptr
  • AtomicCounter inherits from std::atomic_int
  • Array inherits from std::array
  • Move semantics for SharedPtr, AutoPtr, Buffer, Message, JSON::Object and JSON::Array
  • Use for int types
  • Clock and Timestamp uses
  • Use std::mutex* for Mutex instead of platform specific
  • Use std::condition_variable for Event instead of platform specific
  • Use std::thread for Thread instead of platform specific
  • Use template variadic for Poco::format and Logger::* instead of lots of overloads
  • StdFunctionDelegate for basic events
  • std::thread doesn`t support priority setting
  • [ ] std::tuple instead of Tuple: std::tuple doesn't accept partial initialization
  • [ ] Semaphore: simulated with mutex and condition variable, but platform specific should be better
  • [ ] RWLock: std::shared_timed_mutex has separate read and write unlock, but RWLock uses unlock for both
  • [ ] Use for Poco/Random, but it supports 4 different modes that must be mapped
  • replace JSON parser
  • Crypto PKCS12 and ECC support

RangelReale and others added 30 commits December 1, 2015 23:46
* C++14 RWLock (disabled: std::shared_timed_mutex has separate read and write unlock)
std::condition_variable nas no built-in concept of reset
std::condition_variable may be unblocked spuriously, must handle?
* Disable std semaphore, C++ doesn't have native semaphore, better to use native ones for now
… respected

* Thread in unix has special member for signal handling
* Option to force disable C++11/14
Update c++11 status document
Conflicts:
	build/config/Darwin-gcc
Signed-off-by: FrancisANDRE <zosrothko@orange.fr>
Alex Fabijanic and others added 26 commits September 8, 2017 15:56
…tion): files are now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing between different users. Furthermore, ftok() is called with 'p' as project ID argument.
* Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex

* Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex

* Add Mutext_POSIX.cpp

* Remove clang 3.4, 3.5, 3.6, 3.7, 3.8, 3.9 since LLVM does not provide
anymore their packages for Ubuntu Trusy

* Remove ubuntu-toolchain-r/test/ubuntu since it is already installed

* Comment our the llvl-toolchain-trusty since its checksum is buggy
See https://bugs.llvm.org/show_bug.cgi?id=34572
* rebuild openssl binaries; warning and stlye fixes

* fix vs2015 projects and openssl linking

* add PKCS12Container

* remove comments

* style

* add ECKey* and CryptoException

* EC key, unify RSA and EC under same inheritance, add constructor from PKCS12, couple of EC key tests

* simplify EVPPKey, ad EC tests

* EVPPKey test and fixes

* fix linux build

* PKCS12 tests and fixes

* linux build, fix crash

* fix leaks

* uncomment ifstream tests, some minor fixes

* fix stream tests and some tidy-up

* remove $Id

* add ECDSA

* update makefile

* align PKCS12 constructors signatures with X509

* EVPPKey EC curve name constructor

* ECDSA fixes and tests

* linux build, wrap tests in try/catch to get full exception message

* style

* update VS projects

* remove openssl, modify VS projects for git submodule directories

* add openssl submodule

* add _CRT_SECURE_NO_WARNINGS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants