forked from pmem/libpmemobj-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
common: import c++ bindings, examples and tests
All components were taken from main PMDK repo at revision: pmem/pmdk@f2d4a73
- Loading branch information
Showing
341 changed files
with
32,334 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,224 @@ | ||
#--------------------------------------------------------------------------- | ||
# Project related configuration options | ||
#--------------------------------------------------------------------------- | ||
|
||
# This tag specifies the encoding used for all characters in the config file | ||
# that follow. The default is UTF-8 which is also the encoding used for all text | ||
# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv | ||
# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv | ||
# for the list of possible encodings. | ||
# The default value is: UTF-8. | ||
|
||
DOXYFILE_ENCODING = UTF-8 | ||
|
||
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by | ||
# double-quotes, unless you are using Doxywizard) that should identify the | ||
# project for which the documentation is generated. This name is used in the | ||
# title of most generated pages and in a few other places. | ||
# The default value is: My Project. | ||
|
||
PROJECT_NAME = "PMDK C++ bindings" | ||
|
||
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This | ||
# could be handy for archiving the generated documentation or if some version | ||
# control system is used. | ||
|
||
PROJECT_NUMBER = "1.2.0" | ||
|
||
# Using the PROJECT_BRIEF tag one can provide an optional one line description | ||
# for a project that appears at the top of each page and should give viewer a | ||
# quick idea about the purpose of the project. Keep the description short. | ||
|
||
PROJECT_BRIEF = "This is the C++ bindings documentation for PMDK's libpmemobj." | ||
|
||
# With the PROJECT_LOGO tag one can specify an logo or icon that is included in | ||
# the documentation. The maximum height of the logo should not exceed 55 pixels | ||
# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo | ||
# to the output directory. | ||
|
||
PROJECT_LOGO = | ||
|
||
# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the | ||
# first line (until the first dot) of a Javadoc-style comment as the brief | ||
# description. If set to NO, the Javadoc-style will behave just like regular Qt- | ||
# style comments (thus requiring an explicit @brief command for a brief | ||
# description.) | ||
# The default value is: NO. | ||
|
||
JAVADOC_AUTOBRIEF = YES | ||
|
||
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will | ||
# be included in the documentation. | ||
# The default value is: NO. | ||
|
||
EXTRACT_PRIVATE = YES | ||
|
||
# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all | ||
# undocumented members inside documented classes or files. If set to NO these | ||
# members will be included in the various overviews, but no documentation | ||
# section is generated. This option has no effect if EXTRACT_ALL is enabled. | ||
# The default value is: NO. | ||
|
||
HIDE_UNDOC_MEMBERS = YES | ||
|
||
# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all | ||
# undocumented classes that are normally visible in the class hierarchy. If set | ||
# to NO these classes will be included in the various overviews. This option has | ||
# no effect if EXTRACT_ALL is enabled. | ||
# The default value is: NO. | ||
|
||
HIDE_UNDOC_CLASSES = YES | ||
|
||
# The QUIET tag can be used to turn on/off the messages that are generated to | ||
# standard output by doxygen. If QUIET is set to YES this implies that the | ||
# messages are off. | ||
|
||
QUIET = YES | ||
|
||
#--------------------------------------------------------------------------- | ||
# Configuration options related to the input files | ||
#--------------------------------------------------------------------------- | ||
|
||
# The INPUT tag is used to specify the files and/or directories that contain | ||
# documented source files. You may enter file names like myfile.cpp or | ||
# directories like /usr/src/myproject. Separate the files or directories with | ||
# spaces. | ||
# Note: If this tag is empty the current directory is searched. | ||
|
||
INPUT = ../src/include/libpmemobj++ | ||
INPUT += ../src/include/libpmemobj++/README.md | ||
|
||
# This tag can be used to specify the character encoding of the source files | ||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses | ||
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv | ||
# documentation (see: http://www.gnu.org/software/libiconv) for the list of | ||
# possible encodings. | ||
# The default value is: UTF-8. | ||
|
||
INPUT_ENCODING = UTF-8 | ||
|
||
# If the value of the INPUT tag contains directories, you can use the | ||
# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and | ||
# *.h) to filter out the source-files in the directories. If left blank the | ||
# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, | ||
# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, | ||
# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, | ||
# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, | ||
# *.qsf, *.as and *.js. | ||
|
||
FILE_PATTERNS = *.hpp | ||
|
||
# The RECURSIVE tag can be used to specify whether or not subdirectories should | ||
# be searched for input files as well. | ||
# The default value is: NO. | ||
|
||
RECURSIVE = YES | ||
|
||
# The EXCLUDE tag can be used to specify files and/or directories that should be | ||
# excluded from the INPUT source files. This way you can easily exclude a | ||
# subdirectory from a directory tree whose root is specified with the INPUT tag. | ||
# | ||
# Note that relative paths are relative to the directory from which doxygen is | ||
# run. | ||
|
||
EXCLUDE = | ||
|
||
# The EXAMPLE_PATH tag can be used to specify one or more files or directories | ||
# that contain example code fragments that are included (see the \include | ||
# command). | ||
|
||
EXAMPLE_PATH = ../src/examples/libpmemobj++/doc_snippets | ||
|
||
# If the value of the EXAMPLE_PATH tag contains directories, you can use the | ||
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and | ||
# *.h) to filter out the source-files in the directories. If left blank all | ||
# files are included. | ||
|
||
EXAMPLE_PATTERNS = | ||
|
||
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be | ||
# searched for input files to be used with the \include or \dontinclude commands | ||
# irrespective of the value of the RECURSIVE tag. | ||
# The default value is: NO. | ||
|
||
EXAMPLE_RECURSIVE = NO | ||
|
||
# The IMAGE_PATH tag can be used to specify one or more files or directories | ||
# that contain images that are to be included in the documentation (see the | ||
# \image command). | ||
|
||
IMAGE_PATH = | ||
|
||
# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. | ||
# Stripping is only done if one of the specified strings matches the left-hand | ||
# part of the path. The tag can be used to show relative paths in the file list. | ||
# If left blank the directory from which doxygen is run is used as the path to strip. | ||
# Note that you can specify absolute paths here, but also relative paths, which will | ||
# be relative from the directory where doxygen is started. | ||
# This tag requires that the tag FULL_PATH_NAMES is set to YES. | ||
|
||
STRIP_FROM_PATH = ../.. | ||
|
||
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the | ||
# path mentioned in the documentation of a class, which tells the reader which | ||
# header file to include in order to use a class. If left blank only the name | ||
# of the header file containing the class definition is used. Otherwise one | ||
# should specify the list of include paths that are normally passed to the | ||
# compiler using the -I flag. | ||
|
||
STRIP_FROM_INC_PATH = ../src/include/ | ||
|
||
#--------------------------------------------------------------------------- | ||
# Configuration options related to the LATEX output | ||
#--------------------------------------------------------------------------- | ||
|
||
# If the GENERATE_LATEX tag is set to YES doxygen will generate LATEX output | ||
# The default value is: YES. | ||
|
||
GENERATE_LATEX = NO | ||
|
||
#--------------------------------------------------------------------------- | ||
# Configuration options related to the HTML output | ||
#--------------------------------------------------------------------------- | ||
|
||
# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output | ||
# The default value is: YES. | ||
|
||
GENERATE_HTML = YES | ||
|
||
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a | ||
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of | ||
# it. | ||
# The default directory is: html. | ||
# This tag requires that the tag GENERATE_HTML is set to YES. | ||
|
||
HTML_OUTPUT = cpp_html | ||
|
||
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each | ||
# generated HTML page (for example: .htm, .php, .asp). | ||
# The default value is: .html. | ||
# This tag requires that the tag GENERATE_HTML is set to YES. | ||
|
||
HTML_FILE_EXTENSION = .html | ||
|
||
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML | ||
# page will contain the date and time when the page was generated. Setting this | ||
# to NO can help when comparing the output of multiple runs. | ||
# The default value is: YES. | ||
# This tag requires that the tag GENERATE_HTML is set to YES. | ||
|
||
HTML_TIMESTAMP = NO | ||
|
||
#--------------------------------------------------------------------------- | ||
# Configuration options related to the preprocessor | ||
#--------------------------------------------------------------------------- | ||
|
||
# The PREDEFINED tag can be used to specify one or more macro names that are | ||
# defined before the preprocessor is started (similar to the -D option of e.g. | ||
# gcc). The argument of the tag is a list of macros of the form: name or | ||
# name=definition (no spaces). If the definition and the "=" are omitted, "=1" | ||
# is assumed. To prevent a macro definition from being undefined via #undef or | ||
# recursively expanded use the := operator instead of the = operator. | ||
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. | ||
|
||
PREDEFINED = __cpp_lib_uncaught_exceptions _WIN32 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# | ||
# Copyright 2014-2018, Intel Corporation | ||
# | ||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions | ||
# are met: | ||
# | ||
# * Redistributions of source code must retain the above copyright | ||
# notice, this list of conditions and the following disclaimer. | ||
# | ||
# * Redistributions in binary form must reproduce the above copyright | ||
# notice, this list of conditions and the following disclaimer in | ||
# the documentation and/or other materials provided with the | ||
# distribution. | ||
# | ||
# * Neither the name of the copyright holder nor the names of its | ||
# contributors may be used to endorse or promote products derived | ||
# from this software without specific prior written permission. | ||
# | ||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
# | ||
|
||
# | ||
# examples/libpmemobj++/Makefile -- build the libpmemobj++ examples | ||
# | ||
include ../../common.inc | ||
|
||
DIRS = queue pman map_cli panaconda pmpong doc_snippets | ||
|
||
include ../Makefile.inc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
Persistent Memory Development Kit | ||
|
||
This is examples/libpmemobj++/README. | ||
|
||
This directory contains examples for libpmemobj++, the library providing | ||
a transactional object store for pmem. Some of these examples are explained | ||
in more detail here: http://pmem.io/pmdk/cpp_obj/ | ||
|
||
To build these examples: | ||
make | ||
|
||
These examples can be built against an installed system using: | ||
make LIBDIR=/usr/lib INCDIR=/usr/include | ||
|
||
If you're looking for documentation to get you started using PMDK, | ||
start here: http://pmem.io/pmdk and follow the links to examples and | ||
man pages. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# | ||
# Copyright 2016-2017, Intel Corporation | ||
# | ||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions | ||
# are met: | ||
# | ||
# * Redistributions of source code must retain the above copyright | ||
# notice, this list of conditions and the following disclaimer. | ||
# | ||
# * Redistributions in binary form must reproduce the above copyright | ||
# notice, this list of conditions and the following disclaimer in | ||
# the documentation and/or other materials provided with the | ||
# distribution. | ||
# | ||
# * Neither the name of the copyright holder nor the names of its | ||
# contributors may be used to endorse or promote products derived | ||
# from this software without specific prior written permission. | ||
# | ||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
# | ||
|
||
include ../../Makefile.inc | ||
|
||
TARGETS = persistent.o make_persistent.o pool.o transaction.o | ||
|
||
ifeq ($(call check_cxx_chrono), y) | ||
TARGETS += mutex.o | ||
else | ||
$(info NOTE: Skipping C++ chrono examples because of compiler/stdc++ issues) | ||
endif | ||
|
||
all: $(TARGETS) | ||
|
||
libsnippets.o: $(TARGETS) |
Oops, something went wrong.