Skip to content
Snippets Groups Projects
Commit b992f137 authored by Marcin Ślusarz's avatar Marcin Ślusarz
Browse files

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.
parent 71ba5a49
No related branches found
No related tags found
Loading
Showing
with 30 additions and 13 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment