Skip to content

Instantly share code, notes, and snippets.

@Subv
Last active August 29, 2015 14:01
Show Gist options
  • Save Subv/c8e6ce7d7ed37949c066 to your computer and use it in GitHub Desktop.
Save Subv/c8e6ce7d7ed37949c066 to your computer and use it in GitHub Desktop.
C++11 Changes from TC
ACE_Singleton
We can use a static class member and function, C++11 dictates that static variables are to be initialized by only one thread
Compiler Support:
- GCC4.3
- VS2013
Mutexes and Locks
We can replace some of the current ACE locking mechanism with:
- TRINITY_GUARD -> std::lock_guard
- ACE_Thread_Mutex -> std::mutex
Sadly C++11 doesn't still provide RW locks so we'll have to depend on Boost to do that for us: boost::shared_mutex
Compiler Support:
- GCC4.6
- VS2013
Threading
We can replace our current threading implementation to use C++11 instead of ACE
- ACE_Task_Base -> std::thread with overloaded () operator instead of virtual svc() method
Compiler Support:
- GCC4.5
- VS2013
ACE_Activation_Queue
This is just a normal queue with some added features, i'm sure Boost has something for it (boost::interprocess::message_queue)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment