Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Note

The library is now stored within namespace h3 to help in preventing conflicts. If you do not wish to type h3:: every time you use H3API, add the using namespace h3; line to your code.

H3API Preprocessor Definitions Overview


To use these options, either add these preprocessor definitions to your project's preprocessor definitions, or #define them prior to including H3API.

Preprocessor option Description
_H3API_STD_CONVERSIONS_ allows conversion between the following formats
std::string <<==>> h3::H3String
std::vector <<==>> h3::H3Vector
_H3API_STD_VECTOR_ allows use of H3StdVector<>, inherited from std::vector<> with H3ObjectAllocator<>
uses conditional padding to match H3Vector format
_H3API_EXCEPTION_ tells the library to include the H3Exception exception handler within your project
which is derived from std::exception and may catch SEH errors.
your project needs to use /EHa compiler flag to use it.
_H3API_UNPREFIXED_NAMES_ most types created by H3API get a typedef without the H3 prefix
e.g. H3String has an equivalent String which may be more convenient.
_H3API_DONT_USE_MACROS_ tells the library to exclude some macros that can pollute the global namespace when defined.
these macros are then replaced by typedefs so extra parentheses may be required.
if you would like the convenience of switching between both modes, always add parentheses at the end.
_H3API_NO_VALIDATION_ there are compile-time asserts in H3API to verify
structures' sizes and validate some template parameters.
define this macro if you do not wish to perform these validations.
_H3API_PATCHER_X86_ tells the library to include its own "patcher_x86.hpp" header within your project
don't use this if you prefer having your own patcher_x86 header.
_H3API_PLUGINS_ tells the library to include the necessary headers to interact with H3Plugins projects
in most cases you won't need this.