-
- Downloads
obj: split libpmemobj.h
Currently libpmemobj.h is a huge mess: - it includes APIs that are incompatible (atomic vs transactional) - it mixes core library APIs with usability wrappers - it pollutes global namespace with macros that C++ API does not need - there's no way for application to import only part of the API; eg. when application uses only transactional API it can't opt out of atomic API (and it can use it by accident, see commit 5f462f7f for an example) This commit creates new libpmemobj directory with these files: * atomic_base.h * atomic.h * base.h * iterator_base.h * iterator.h * lists_atomic_base.h * lists_atomic.h * pool_base.h * pool.h * thread.h * tx_base.h * tx.h * types.h libpmemobj.h includes all those files. _base.h headers are supposed to be used only by our C++ headers. C applications should still include libpmemobj.h - the split should be considered an implementation detail.
Showing
- src/Makefile 6 additions, 0 deletionssrc/Makefile
- src/examples/libpmemobj/cpp_map/map_cli.cpp 1 addition, 0 deletionssrc/examples/libpmemobj/cpp_map/map_cli.cpp
- src/include/libpmemobj++/condition_variable.hpp 1 addition, 1 deletionsrc/include/libpmemobj++/condition_variable.hpp
- src/include/libpmemobj++/detail/array_traits.hpp 2 additions, 0 deletionssrc/include/libpmemobj++/detail/array_traits.hpp
- src/include/libpmemobj++/detail/check_persistent_ptr_array.hpp 2 additions, 0 deletions...nclude/libpmemobj++/detail/check_persistent_ptr_array.hpp
- src/include/libpmemobj++/detail/common.hpp 1 addition, 1 deletionsrc/include/libpmemobj++/detail/common.hpp
- src/include/libpmemobj++/detail/integer_sequence.hpp 2 additions, 0 deletionssrc/include/libpmemobj++/detail/integer_sequence.hpp
- src/include/libpmemobj++/detail/life.hpp 2 additions, 0 deletionssrc/include/libpmemobj++/detail/life.hpp
- src/include/libpmemobj++/detail/make_atomic_impl.hpp 1 addition, 0 deletionssrc/include/libpmemobj++/detail/make_atomic_impl.hpp
- src/include/libpmemobj++/make_persistent.hpp 1 addition, 1 deletionsrc/include/libpmemobj++/make_persistent.hpp
- src/include/libpmemobj++/make_persistent_array.hpp 1 addition, 1 deletionsrc/include/libpmemobj++/make_persistent_array.hpp
- src/include/libpmemobj++/make_persistent_array_atomic.hpp 1 addition, 1 deletionsrc/include/libpmemobj++/make_persistent_array_atomic.hpp
- src/include/libpmemobj++/make_persistent_atomic.hpp 1 addition, 1 deletionsrc/include/libpmemobj++/make_persistent_atomic.hpp
- src/include/libpmemobj++/mutex.hpp 2 additions, 1 deletionsrc/include/libpmemobj++/mutex.hpp
- src/include/libpmemobj++/p.hpp 0 additions, 1 deletionsrc/include/libpmemobj++/p.hpp
- src/include/libpmemobj++/persistent_ptr.hpp 0 additions, 1 deletionsrc/include/libpmemobj++/persistent_ptr.hpp
- src/include/libpmemobj++/pool.hpp 2 additions, 1 deletionsrc/include/libpmemobj++/pool.hpp
- src/include/libpmemobj++/shared_mutex.hpp 2 additions, 1 deletionsrc/include/libpmemobj++/shared_mutex.hpp
- src/include/libpmemobj++/timed_mutex.hpp 1 addition, 1 deletionsrc/include/libpmemobj++/timed_mutex.hpp
- src/include/libpmemobj++/transaction.hpp 1 addition, 1 deletionsrc/include/libpmemobj++/transaction.hpp
Loading
Please register or sign in to comment