Vinnie Falco
d4a5c0353d
beast, beast::asio improvements and fixes:
...
* New maybe_const_t alias for maybe_const
* New asio::enable_wait_for_async for safe cleanup
* New asio::memory_buffer, a managed boost::asio compatible buffer
* shared_handler improvements:
- Can be 'empty' (no stored handler).
- Default constructible as 'empty'.
- Safe evaluation in bool contexts, false==empty
* Fix is_call_possible metafunction:
- Works on empty argument lists
- Works with reference types
* Replace SafeBool idiom with C++11 explicit operator bool
* Move IPAddress function definitions to the header
* Move cyclic_iterator to container/
* Remove unused BufferType
* Remove obsolete classes:
- NamedPipe
- ReadWriteLock
- ScopedReadLock
- ScopedWriteLock
- LockGuard
2014-03-17 17:40:55 -07:00
Vinnie Falco
6546c30e17
Refactor beast::asio:
...
* New tools for completion handlers:
- wrap_handler provides composed io_service execution guarantees.
- bind_handler rebinds arguments to handlers.
- shared_handler type-erases any completion handler.
- buffer_sequence type-erases templated BufferSequences
- abstract_socket replaces Socket
- socket_wrapper replaces SocketWrapper
- beast::asio placeholders to work with std::bind
* Removed obsolete classes and functions
- AbstractHandler
- ComposedAsyncOperation
- SharedFunction
- SharedHandler
- SharedHandlerAllocator
- SharedHandlerPtr
- SharedHandlerType
- SocketBase
- SocketWrapperStrand
- wrapHandler
* Refactored classes to use new tools
- abstract_socket
- socket_wrapper
- HandshakeDetector
- HttpClientType
* Miscellanous tidying
- socket classes moved to beast::asio namespace
- beast asio files provide their own namespace declaration.
- Fix IsCallPossible conflicting template parameter name
- Use <boost/get_pointer.hpp> for C++11 compatibility.
- Remove extraneous include path from build environment.
2014-03-14 08:03:48 -07:00
Vinnie Falco
496b337b27
General refactoring, using C++11
...
* Remove broken RecycledObjectPool
* Fix beast::ServiceQueue using List instead of LockFreeStack
* Add class semaphore, fixes broken Semaphore
* Move crytpo module files to new beast directory
* Use c++11 replacements for boost and beast types:
- std::atomic instead of beast::Atomic
- std::function instead of boost::function, beast::function
- std::unique_ptr instead of beast::ScopedPointer
- std::shared_ptr instead of boost::shared_ptr
* Remove modules:
- beast_db
- beast_crypto
- beast_extras
* Remove unnecessary classes:
- AbstractFifo
- AddConst
- AtomicCounter
- AtomicFlag
- AtomicPointer
- AtomicState
- CopyConst
- Expression
- ForwardList
- IfCond
- Interval
- IntrusiveArray
- KeyvaDB
- PointerToOther
- PointerTraits
- RemoveConst
- RemoveConstVolatile
- RemoveReference
- RemoveVolatile
- SharedObjectArray
- SingleThreadedSharedObject
- SophiaDB factory
- SortedSet
- WeakReference
- beast::unique_ptr
2014-01-07 15:57:45 -08:00
Vinnie Falco
9d9c822efb
Migrate some headers and general tidying
2013-09-22 11:51:44 -07:00
Vinnie Falco
7efb6a3ab8
Reorganize some MPL and Utility classes and files
2013-09-19 21:37:47 -07:00
Vinnie Falco
34b7599df6
Rename to IsCond<>
2013-09-09 10:28:09 -07:00
Vinnie Falco
25f29a2287
Add new-styled Intrusive and MPL modules
2013-09-05 04:22:25 -07:00